public ActionResult Transfer(RoomTransferModel model) { var sourceRoom = Db.Rooms.SingleOrDefault(r => r.Id == model.SourceRoomId); var targetRoom = Db.Rooms.SingleOrDefault(r => r.Id == model.TargetRoomId); if (sourceRoom == null || targetRoom == null) { return(RedirectToAction("Rooms", "Organiser")); } var startDate = DateTime.Parse(model.StartDate); var startTime = TimeSpan.Parse(model.StartTime); var endDate = DateTime.Parse(model.EndDate); var endTime = TimeSpan.Parse(model.EndTime); var from = startDate.Add(startTime); var until = endDate.Add(endTime); var dates = sourceRoom.Dates.Where(x => (x.End > from && x.End <= until) || (x.Begin >= from && x.Begin < until)).OrderBy(x => x.Begin).ToList(); foreach (var date in dates) { date.Rooms.Remove(sourceRoom); date.Rooms.Add(targetRoom); } Db.SaveChanges(); return(RedirectToAction("Rooms", "Organiser")); }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult Transfer() { var model = new RoomTransferModel(); var roomList = Db.Rooms.OrderBy(r => r.Number).ToList(); ViewBag.SourceRoomId = new SelectList(roomList, "Id", "Number"); ViewBag.TargetRoomId = new SelectList(roomList, "Id", "Number"); return(View(model)); }
public PartialViewResult TransferPreview(RoomTransferModel model) { var sourceRoom = Db.Rooms.SingleOrDefault(r => r.Id == model.SourceRoomId); var startDate = DateTime.Parse(model.StartDate); var startTime = TimeSpan.Parse(model.StartTime); var endDate = DateTime.Parse(model.EndDate); var endTime = TimeSpan.Parse(model.EndTime); var from = startDate.Add(startTime); var until = endDate.Add(endTime); var dates = sourceRoom.Dates.Where(x => (x.End > from && x.End <= until) || (x.Begin >= from && x.Begin < until)).OrderBy(x => x.Begin).ToList(); return(PartialView("_TransferPreview", dates)); }
public ActionResult Transfer(RoomTransferModel model) { var sourceRoom = Db.Rooms.SingleOrDefault(r => r.Id == model.SourceRoomId); var targetRoom = Db.Rooms.SingleOrDefault(r => r.Id == model.TargetRoomId); if (sourceRoom == null || targetRoom == null) { return(RedirectToAction("Index")); } foreach (var date in sourceRoom.Dates.ToList()) { date.Rooms.Remove(sourceRoom); date.Rooms.Add(targetRoom); } Db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult Transfer() { var model = new RoomTransferModel(); model.StartDate = DateTime.Today.ToShortDateString(); model.StartTime = "08:00"; model.EndDate = DateTime.Today.ToShortDateString(); model.EndTime = "22:00"; var org = GetMyOrganisation(); var roomService = new MyStik.TimeTable.Web.Services.RoomService(); var rooms = roomService.GetRooms(org.Id, true).OrderBy(x => x.Number).ToList(); ViewBag.SourceRoomId = new SelectList(rooms, "Id", "FullName"); ViewBag.TargetRoomId = new SelectList(rooms, "Id", "FullName"); ViewBag.Organiser = org; return(View(model)); }