Esempio n. 1
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));
            }
        }
Esempio n. 2
0
        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 }));
        }