Added issue penalties function
This commit adds another piece of functinality allowing the staff to issue penalties. This currently just charges users for their owed amount and there are no actual penalty fees. The design document did not call for that. There is also some documentation that was written. The next several set of commits are likely to be documentation.
This commit is contained in:
@@ -37,7 +37,7 @@ namespace Ophelias.Managers
|
||||
cmd.CommandText = "SELECT RoomNum, Lname, Fname, EndDate FROM reservations " +
|
||||
"INNER JOIN guests ON reservations.GuestID = guests.ID " +
|
||||
"INNER JOIN rooms ON reservations.RoomNum = rooms.ID " +
|
||||
"WHERE (DATE(@Date) BETWEEN StartDate AND EndDate) AND Status IN (@Status1,@Status2);";
|
||||
"WHERE (DATE(@Date) BETWEEN StartDate AND EndDate) AND Status IN (@Status1,@Status2) AND CheckIn IS NOT NULL;";
|
||||
cmd.Parameters.AddWithValue("@Date", DateTime.Now.Date.ToString("yyyy-MM-dd"));
|
||||
cmd.Parameters.AddWithValue("@Status1", (int)ReservationStatus.Active);
|
||||
cmd.Parameters.AddWithValue("@Status2", (int)ReservationStatus.Changed);
|
||||
@@ -774,13 +774,13 @@ namespace Ophelias.Managers
|
||||
"WHERE ID = (SELECT RoomNum FROM reservations WHERE GuestID = (SELECT ID FROM guests WHERE Email = @Email AND Status in (@SActive,@SChanged)));";
|
||||
cmd.Parameters.AddWithValue("@Email", Email);
|
||||
cmd.Parameters.AddWithValue("@SActive", (int)ReservationStatus.Active);
|
||||
cmd.Parameters.AddWithValue("@SChanged", (int)ReservationStatus.Ended);
|
||||
cmd.Parameters.AddWithValue("@SChanged", (int)ReservationStatus.Changed);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
using (SQLiteCommand cmd = Manager.con.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = "UPDATE reservations SET CheckOut = @Date, Status = @Status " +
|
||||
"WHERE GuestID = (SELECT ID FROM guests WHERE Email = @Email) AND RoomNum IS NOT NULL AND Status in (@SActive,@SChanged);";
|
||||
"WHERE GuestID = (SELECT ID FROM guests WHERE Email = @Email) AND RoomNum IS NOT NULL AND Status in (@SActive,@SChanged) AND CheckIn IS NULL;";
|
||||
cmd.Parameters.AddWithValue("@Email", Email);
|
||||
cmd.Parameters.AddWithValue("@Status", (int)ReservationStatus.Ended);
|
||||
cmd.Parameters.AddWithValue("@SActive", (int)ReservationStatus.Active);
|
||||
@@ -872,6 +872,7 @@ namespace Ophelias.Managers
|
||||
List<Reservation> list = new();
|
||||
using (Database Manager = new())
|
||||
{
|
||||
using SQLiteTransaction Transaction = Manager.con.BeginTransaction();
|
||||
using (SQLiteCommand cmd = Manager.con.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = "SELECT * FROM reservations " +
|
||||
@@ -936,6 +937,17 @@ namespace Ophelias.Managers
|
||||
}
|
||||
}
|
||||
}
|
||||
using (SQLiteCommand cmd = Manager.con.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = "UPDATE reservations SET IsNoShow = 1, DateChanged = @DateChanged " +
|
||||
"WHERE DATE (@Date) > StartDate AND Status IN (@Status1,@Status2) AND CheckIn IS NULL";
|
||||
cmd.Parameters.AddWithValue("@Date", DateTime.Now.Date.ToString("yyyy-MM-dd"));
|
||||
cmd.Parameters.AddWithValue("@DateChanged", DateTime.Now.Date.ToString("yyyy-MM-dd"));
|
||||
cmd.Parameters.AddWithValue("@Status1", (int)ReservationStatus.Active);
|
||||
cmd.Parameters.AddWithValue("@Status2", (int)ReservationStatus.Changed);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
Transaction.Commit();
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user