Пример #1
0
        public IActionResult InsertNewRoute(AddNewRouteToTimetableVM addNewRouteToTimetableVM)
        {
            if (ModelState.IsValid)
            {
                addNewRouteToTimetableVM.Timetable.IsActive = true;
                addNewRouteToTimetableVM.Timetable.LineName = _unitOfWork.LineName.Get(addNewRouteToTimetableVM.Timetable.LineNameId);
                addNewRouteToTimetableVM.Timetable.Wehicle  = _unitOfWork.Wehicle.Get(addNewRouteToTimetableVM.Timetable.WehicleId);
                _unitOfWork.Timetable.Add(addNewRouteToTimetableVM.Timetable);
                _unitOfWork.Save();

                LineName lineName = _unitOfWork.LineName.Get(addNewRouteToTimetableVM.Timetable.LineNameId);
                IEnumerable <BusStopList>     listForLine = _unitOfWork.BusStopList.GetAll(filter: bsl => bsl.LineNameId == lineName.Id, includeProperties: "BusStop", orderBy: bsl => bsl.OrderBy(o => o.BusStopNumber));
                ArrivalDepartureBusStopListVM arrivalDepartureBusStopListVM = new ArrivalDepartureBusStopListVM(new List <ArrivalDepartureBusStopVM>(), addNewRouteToTimetableVM.Timetable.Id);

                foreach (var itemLine in listForLine)
                {
                    arrivalDepartureBusStopListVM.arrivalDepartureBusStopListVM.Add(new ArrivalDepartureBusStopVM(itemLine.BusStopId, itemLine.BusStop.Name, null, null));
                }

                return(View(arrivalDepartureBusStopListVM));
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
Пример #2
0
        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));
            }
        }