private void UpdateReservation(booking reservation) { var query = from it in db.bookings where it.id == reservation.id select it; booking b = query.FirstOrDefault(); b.branch_fk = reservation.branch_fk; b.room_fk = reservation.room_fk; b.startDate = reservation.startDate; b.endDate = reservation.endDate; b.responsable = reservation.responsable; b.description = reservation.description; b.coffee = reservation.coffee; db.SaveChanges(); }
private bool IsRoomFree(booking reservation) { // Logica de validação para ver se a sala ja esta reservada: // TODO: revisar a logica para checar o choque de horarios var query = from b in db.bookings where b.branch_fk == reservation.branch_fk && b.room_fk == reservation.room_fk && ((reservation.startDate >= b.startDate && reservation.startDate <= b.endDate) || (reservation.endDate >= b.startDate && reservation.endDate <= b.endDate) || (reservation.endDate >= b.endDate && reservation.startDate <= b.startDate) || (reservation.endDate <= b.endDate && reservation.startDate >= b.startDate)) select b; // Se só tiver o próprio id naquele horario então deixa atualizar if (reservation.id > 0) { query = query.Where(x => x.id != reservation.id); } bool valid = query.Count() == 0 ? true : false; return valid; }
private void SaveReservation(booking reservation) { db.bookings.Add(reservation); db.SaveChanges(); }
public ActionResult OpenModalCreate(DateTime start) { booking b = new booking(); b.startDate = start; b.endDate = start.AddMinutes(30); b.branch_fk = 0; b.room_fk = 0; ViewBag.branches = LoadBranches(); ViewBag.rooms = LoadRooms(); ViewBag.IsRoomFree = true; return PartialView("_CreateEvent", b); }