public IActionResult Insert(ArrivalDepartureBusStopListVM arrivalsDeparturesBusStopListVM) { if (ModelState.IsValid) { for (int i = 0; i < arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM.Count; i++) { if (i == 0) { if (arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].DepartureTime == null) { IList <Timetable> timetables = (IList <Timetable>)_unitOfWork.Timetable.GetAll(); Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == timetables[timetables.Count - 1].Id); _unitOfWork.Timetable.Remove(timetable); _unitOfWork.Save(); return(RedirectToAction(nameof(Index))); } } else if (i == arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM.Count - 1) { if (arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].ArrivalTime == null) { IList <Timetable> timetables = (IList <Timetable>)_unitOfWork.Timetable.GetAll(); Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == timetables[timetables.Count - 1].Id); _unitOfWork.Timetable.Remove(timetable); _unitOfWork.Save(); return(RedirectToAction(nameof(Index))); } } else { if (arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].ArrivalTime == null || arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].DepartureTime == null) { IList <Timetable> timetables = (IList <Timetable>)_unitOfWork.Timetable.GetAll(); Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == timetables[timetables.Count - 1].Id); _unitOfWork.Timetable.Remove(timetable); _unitOfWork.Save(); return(RedirectToAction(nameof(Index))); } } ArrivalsDepartures arrivalDeparture = new ArrivalsDepartures() { ArrivalTime = arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].ArrivalTime, DepartureTime = arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].DepartureTime, BusStopId = arrivalsDeparturesBusStopListVM.arrivalDepartureBusStopListVM[i].BusStopId, TimetableId = arrivalsDeparturesBusStopListVM.TimetableId }; _unitOfWork.ArrivalsDepartures.Add(arrivalDeparture); _unitOfWork.Save(); } return(RedirectToAction(nameof(Index))); } else { IList <Timetable> timetables = (IList <Timetable>)_unitOfWork.Timetable.GetAll(); Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == timetables[timetables.Count - 1].Id); _unitOfWork.Timetable.Remove(timetable); _unitOfWork.Save(); return(RedirectToAction(nameof(Index), arrivalsDeparturesBusStopListVM)); } }
public IActionResult GetAll() { IList <ArrivalsDepartures> ArrivalsDepartures = (IList <ArrivalsDepartures>)_unitOfWork.ArrivalsDepartures.GetAll(); IList <Timetable> TimetableList = (IList <Timetable>)_unitOfWork.Timetable.GetAll(); IList <Timetable> Timetables = new List <Timetable>(); foreach (var item in TimetableList) { if (ArrivalsDepartures.Any(a => a.TimetableId == item.Id)) { Timetables.Add(item); } } IList <TimetableIndexDto> TimetableIndexDtos = new List <TimetableIndexDto>(); foreach (var item in Timetables) { string operDays = ""; OperatingDays operDay = _unitOfWork.OperatingDays.GetFirstOrDefault(od => od.Id == item.OperatingDaysId); ArrivalsDepartures Departure = _unitOfWork.ArrivalsDepartures.GetFirstOrDefault(ad => ad.TimetableId == item.Id); if (operDay.Monday) { operDays += "poniedziałek, "; } if (operDay.Thursday) { operDays += "wtorek, "; } if (operDay.Wednesday) { operDays += "środa, "; } if (operDay.Thursday) { operDays += "czwartek, "; } if (operDay.Friday) { operDays += "piątek, "; } if (operDay.Saturday) { operDays += "sobota, "; } if (operDay.SundayAndHolidays) { operDays += "niedziele/święta, "; } operDays = operDays.Remove(operDays.Length - 2); string departureTime = Departure.DepartureTime.Value.Hour.ToString() + " : "; if (Departure.DepartureTime.Value.Minute < 10) { departureTime += "0" + Departure.DepartureTime.Value.Minute.ToString(); } else { departureTime += Departure.DepartureTime.Value.Minute.ToString(); } TimetableIndexDto timetableIndexDto = new TimetableIndexDto() { Id = item.Id, LineName = _unitOfWork.LineName.Get(item.LineNameId).Name, Wehicle = _unitOfWork.Wehicle.Get(item.WehicleId).Brand + " " + _unitOfWork.Wehicle.Get(item.Wehicle.Id).Model, OperatingDays = operDays, DepartureTime = departureTime, PricePerEntireRoute = _unitOfWork.TicketPrice.Get(item.TicketPriceId).PricePerEntireRoute, PricePerSegment = _unitOfWork.TicketPrice.Get(item.TicketPriceId).PricePerSegment, IsActive = item.IsActive }; TimetableIndexDtos.Add(timetableIndexDto); } return(Json(new { data = TimetableIndexDtos })); }