private void BusByDateCloneForRouteBackNextDay(BusByDate busByDate) { if (busByDate == null) { return; } var route = busByDate.Route; if (route.Way != "To") { return; } var routeBack = TransferRequestByDateBLL.RouteBackGetByRouteTo(busByDate.Route); var date = busByDate.Date; var tomorrow = date.HasValue ? date.Value.AddDays(1) : date; if (!busByDate.Cloned) { var clonedBusByDateRouteBack = new BusByDate() { BusType = busByDate.BusType, Date = tomorrow, Group = busByDate.Group, Guide = busByDate.Guide, Route = routeBack, }; TransferRequestByDateBLL.BusByDateSaveOrUpdate(clonedBusByDateRouteBack); busByDate.BusByDateRouteBackRef = clonedBusByDateRouteBack; busByDate.Cloned = true; TransferRequestByDateBLL.BusByDateSaveOrUpdate(busByDate); } }
private void BusByDateCloneForRouteBackNextDay(BusByDate busByDate) { if (busByDate == null) { return; } var route = busByDate.Route; if (route.Way != "To") { return; } var routeBack = TransferRequestByDateBLL.RouteBackGetByRouteTo(busByDate.Route); var date = busByDate.Date; var tomorrow = date.HasValue ? date.Value.AddDays(1) : date; //Tạo bus cho chiều về vào ngày mai nếu được tạo BusByDate clonedBusByDateRouteBack = null; if (busByDate.Cloned) { clonedBusByDateRouteBack = busByDate.BusByDateRouteBackRef; } else { clonedBusByDateRouteBack = new BusByDate(); } if (clonedBusByDateRouteBack == null) { return; } clonedBusByDateRouteBack.BusType = busByDate.BusType; clonedBusByDateRouteBack.Date = tomorrow; clonedBusByDateRouteBack.Group = busByDate.Group; clonedBusByDateRouteBack.Guide = busByDate.Guide; clonedBusByDateRouteBack.Route = routeBack; //Xóa hết các liên kết bookingbusbydate cũ của busByDateRouteBack var listBookingBusByDate = TransferRequestByDateBLL .BookingBusByDateGetAllByCriterion(clonedBusByDateRouteBack).Future().ToList(); listBookingBusByDate.ForEach(x => { TransferRequestByDateBLL.BookingBusByDateDelete(x); }); //-- TransferRequestByDateBLL.BusByDateSaveOrUpdate(clonedBusByDateRouteBack); busByDate.BusByDateRouteBackRef = clonedBusByDateRouteBack; busByDate.Cloned = true; TransferRequestByDateBLL.BusByDateSaveOrUpdate(busByDate); //Tìm các booking có chiều về vào ngày mai của bus hôm nay var listBookingNeedTransferBackOnTomorrow = busByDate.ListBookingBusByDate .Select(x => x.Booking).Where(x => x.Transfer_DateBack == tomorrow).ToList(); listBookingNeedTransferBackOnTomorrow.ForEach(booking => { //Gắn booking chiều về vào bus chiều về TransferRequestByDateBLL.BookingBusByDateSaveOrUpdate(new BookingBusByDate() { Booking = booking, BusByDate = clonedBusByDateRouteBack, }); //-- }); //-- }