Example #1
0
 public LineNameUpdatedEvent(Id lineid, LineName lineName, int version)
     : base(lineid.Value)
 {
     Lineid   = lineid;
     LineName = lineName;
     Version  = version;
 }
Example #2
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)));
            }
        }
        public IActionResult Update(int id)
        {
            LineName lineName = _unitOfWork.LineName.Get(id);

            if (lineName == null)
            {
                return(NotFound());
            }
            return(View(lineName));
        }
        public Color GetColorForLine(LineName lineName)
        {
            switch (lineName)
            {
                case LineName.Bakerloo:
                    return new Color {R = 137, G = 78, B = 36, A = 100 };
                    break;
                case LineName.Central:
                    return new Color {R = 220, G = 36, B = 31, A = 100 };
                    break;
                case LineName.Circle:
                    return new Color {R = 255, G = 206, B = 0, A = 100 };
                    break;
                case LineName.District:
                    return new Color {R = 0, G = 114, B = 41, A = 100 };
                    break;
                case LineName.HammersmithCity:
                    return new Color {R = 215, G = 153, B = 175, A = 100 };
                    break;
                case LineName.Jubilee:
                    return new Color {R = 134, G = 143, B = 152, A = 100 };
                    break;
                case LineName.Metropolitan:
                    return new Color {R = 117, G = 16, B = 86, A = 100 };
                    break;
                case LineName.Northern:
                    return new Color {R = 0, G = 0, B = 0, A = 100 };
                    break;
                case LineName.Piccadilly:
                    return new Color {R = 0, G = 25, B = 168, A = 100 };
                    break;
                case LineName.Victoria:
                    return new Color { R = 0, G = 160, B = 226, A = 100 };
                    break;
                case LineName.WaterlooCity:
                    return new Color { R = 118, G = 208, B = 189, A = 100 };
                    break;
                case LineName.Overground:
                    return new Color { R = 232, G = 106, B = 16, A = 100 };
                    break;
                case LineName.Dlr:
                    return new Color { R = 0, G = 175, B = 173, A = 100 };
                    break;
                default:
                    // Shouldn't get here
                    return new Color { R = 255, G = 255, B = 255 };


            }
        }
        public async Task <Line> GetByLineNameAsync(string lineName)
        {
            var partsOfName = new LineName(lineName);

            return(await _db.Lines
                   .Include(l => l.InterestPoints)
                   .Include(l => l.Places)
                   .Include(l => l.Company)
                   .ThenInclude(c => c.Prefixes)
                   .Include(l => l.LineVehicles)
                   .ThenInclude(l => l.Vehicle)
                   .Where(l => l.Letter == partsOfName.Letter)
                   .Where(l => l.Number == partsOfName.Number)
                   .FirstAsync());
        }
Example #6
0
        public bool WaitJournalLineSystem(DateTime startTime, string str, int maxWaitTimeMS = 0)
        {
            bool     infinite = maxWaitTimeMS <= 0;
            DateTime stopTime = startTime.AddMilliseconds(maxWaitTimeMS);

            do
            {
                if ((InJournalBetweenTimes(str, startTime, infinite ? DateTime.Now : stopTime) >= 0) &&
                    LineName.Equals("System"))
                {
                    return(true);
                }
                else
                {
                    Thread.Sleep(20);
                }
            }while (infinite || (stopTime > DateTime.Now));
            return(false);
        }
 public IActionResult Update(LineName lineName)
 {
     if (ModelState.IsValid)
     {
         if (_unitOfWork.LineName.GetFirstOrDefault(ln => ln.Name == lineName.Name) != null)
         {
             return(RedirectToAction(nameof(RepeatedName)));
         }
         else
         {
             _unitOfWork.LineName.Update(lineName);
         }
         _unitOfWork.Save();
         return(RedirectToAction(nameof(Index)));
     }
     else
     {
         return(View(lineName));
     }
 }
        public override void Update()
        {
            base.Update();

            var residents = TransportUtil.GetResidentPassengerCount(LineID);
            var tourists  = TransportUtil.GetTouristPassengerCount(LineID);

            var lineName = TransportUtil.GetLineName(LineID);

            if (lineName != LineName)
            {
                var handlers = LineNameChanged;
                if (handlers != null)
                {
                    handlers(LineID);
                }
            }
            LineName = lineName;

            _name.text = LineName.Trim();

            /*bool clipped = false;
             * while (_name.width > 110)
             * {
             *  _name.text = _name.text.Remove(_name.text.Length - 1);
             *  clipped = true;
             * }
             * if (clipped)
             *  _name.text = _name.text.Trim() + "...";*/

            _stops.text          = Stops.ToString();
            _passengers.text     = String.Format("{0}/{1}", residents, tourists);
            _trips.text          = String.Format("{0}%", Trips);
            _vehicles.text       = Vehicles.ToString();
            _dayOnly.IsChecked   = TransportUtil.GetDay(LineID);
            _nightOnly.IsChecked = TransportUtil.GetNight(LineID);

            _color.selectedColor = TransportUtil.GetLineColor(LineID);
            IsChecked            = !TransportUtil.IsTransportLineHidden(LineID);
        }
Example #9
0
 /// <summary>
 /// Check two Connections for equality.
 /// </summary>
 /// <param name="other">The other connection to check for equality.</param>
 /// <returns>true if the Connections are the same; otherwise false.</returns>
 public bool Equals(Connection other)
 => other is null
     ? false
     : LineName.ToLower() == other.LineName.ToLower() && Station1 == other.Station1 && Station2 == other.Station2;
Example #10
0
 public ShippingLine(Id id, LineName lineName)
 {
     Id       = id;
     LineName = lineName;
     Version  = 0;
 }
Example #11
0
        public IActionResult Details(int lineId)
        {
            LineName lineName = _unitOfWork.LineName.Get(lineId);

            if (lineName == null)
            {
                return(NotFound());
            }

            LineTimetablesDetailsVM lineTimetablesDetailsVM = new LineTimetablesDetailsVM();

            lineTimetablesDetailsVM.LineName     = lineName.Name;
            lineTimetablesDetailsVM.BusStopsList = new List <string>();

            IEnumerable <BusStopList> listForLine = _unitOfWork.BusStopList.GetAll(filter: bsl => bsl.LineNameId == lineName.Id, includeProperties: "BusStop", orderBy: bsl => bsl.OrderBy(o => o.BusStopNumber));

            foreach (var itemLine in listForLine)
            {
                lineTimetablesDetailsVM.BusStopsList.Add(itemLine.BusStop.Name);
            }

            IEnumerable <Timetable> timetables = _unitOfWork.Timetable.GetAll(t => t.LineNameId == lineName.Id).Where(t => t.IsActive == true);

            foreach (var item in timetables)
            {
                item.OperatingDays = _unitOfWork.OperatingDays.GetFirstOrDefault(od => od.Id == item.OperatingDaysId);
            }

            lineTimetablesDetailsVM.LineTimetableDetailsForDays = new List <LineTimetableDetailsForDaysVM>();

            foreach (var item in timetables)
            {
                if (item.OperatingDays.Monday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 1;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.Tuesday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 2;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.Wednesday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 3;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.Thursday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 4;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.Friday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 5;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.Saturday)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 6;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }

                if (item.OperatingDays.SundayAndHolidays)
                {
                    LineTimetableDetailsForDaysVM lineTimetableDetailsForDaysVM = new LineTimetableDetailsForDaysVM();
                    lineTimetableDetailsForDaysVM.OperatingDay       = 7;
                    lineTimetableDetailsForDaysVM.ArrivalsDepartures = new List <string>();
                    IEnumerable <ArrivalsDepartures> arrivalsDeparturesForRoute = _unitOfWork.ArrivalsDepartures.GetAll(filter: ad => ad.TimetableId == item.Id, orderBy: ad => ad.OrderBy(o => o.Id));
                    foreach (var item2 in arrivalsDeparturesForRoute)
                    {
                        string time = "";
                        if (item2.ArrivalTime == null)
                        {
                            time = "-/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        else if (item2.DepartureTime == null)
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/-";
                        }
                        else
                        {
                            time = item2.ArrivalTime.Value.Hour + ":";
                            if (item2.ArrivalTime.Value.Minute < 10)
                            {
                                time += "0" + item2.ArrivalTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.ArrivalTime.Value.Minute;
                            }
                            time += "/" + item2.DepartureTime.Value.Hour + ":";
                            if (item2.DepartureTime.Value.Minute < 10)
                            {
                                time += "0" + item2.DepartureTime.Value.Minute;
                            }
                            else
                            {
                                time += +item2.DepartureTime.Value.Minute;
                            }
                        }
                        lineTimetableDetailsForDaysVM.ArrivalsDepartures.Add(time);
                    }
                    lineTimetablesDetailsVM.LineTimetableDetailsForDays.Add(lineTimetableDetailsForDaysVM);
                }
            }

            return(View(lineTimetablesDetailsVM));
        }
Example #12
0
 // override object.GetHashCode
 public override int GetHashCode() => LineName.ToLower().GetHashCode() ^ Station1.GetHashCode() ^ Station2.GetHashCode();
        public IActionResult Insert(LineNameVM lineNameVM)
        {
            if (ModelState.IsValid)
            {
                if (_unitOfWork.LineName.GetFirstOrDefault(ln => ln.Name == lineNameVM.lineName.Name) != null)
                {
                    return(RedirectToAction(nameof(RepeatedName)));
                }
                else
                {
                    lineNameVM.lineName.IsActive = true;
                    _unitOfWork.LineName.Add(lineNameVM.lineName);
                    _unitOfWork.Save();

                    int iter = 1;
                    foreach (var item in lineNameVM.busStopList)
                    {
                        if (_unitOfWork.BusStop.Get(item.BusStopId).Name == "Brak")
                        {
                            break;
                        }
                        BusStopList busStopList = new BusStopList();
                        busStopList.BusStopNumber = iter;
                        busStopList.BusStopId     = item.BusStopId;
                        busStopList.LineNameId    = _unitOfWork.LineName.GetLast().Id;
                        _unitOfWork.BusStopList.Add(busStopList);
                        _unitOfWork.Save();
                        iter++;
                    }

                    if (lineNameVM.IsReversedToo)
                    {
                        LineName lineNameReversed = new LineName()
                        {
                            Name     = lineNameVM.ReversedLineName,
                            IsActive = true
                        };

                        _unitOfWork.LineName.Add(lineNameReversed);
                        _unitOfWork.Save();

                        iter = 1;
                        for (int i = lineNameVM.busStopList.Count - 1; i >= 0; i--)
                        {
                            if (_unitOfWork.BusStop.Get(lineNameVM.busStopList[i].BusStopId).Name == "Brak")
                            {
                                break;
                            }
                            BusStopList busStopList = new BusStopList();
                            busStopList.BusStopNumber = iter;
                            busStopList.BusStopId     = lineNameVM.busStopList[i].BusStopId;
                            busStopList.LineNameId    = _unitOfWork.LineName.GetLast().Id;
                            _unitOfWork.BusStopList.Add(busStopList);
                            _unitOfWork.Save();
                            iter++;
                        }
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(lineNameVM));
            }
        }
Example #14
0
        public IActionResult Search(SearchRouteVM searchRouteVM = null)
        {
            if (searchRouteVM.StartTime != null && searchRouteVM.BusStopListStartId != 0 && searchRouteVM.BusStopListEndId != 0)
            {
                int  DayOfWeek = (int)searchRouteVM.StartTime.DayOfWeek;
                bool IsHoliday = false;
                IEnumerable <Holidays> holidays = _unitOfWork.Holidays.GetAll();

                foreach (var item in holidays)
                {
                    if (item.Day == searchRouteVM.StartTime.Day && item.Month == searchRouteVM.StartTime.Month)
                    {
                        IsHoliday = true;
                        break;
                    }
                }

                int Year = searchRouteVM.StartTime.Year;

                int poniedzialek_wielkanocny_dzien, poniedzialek_wielkanocny_miesiac, boze_cialo_dzien, boze_cialo_miesiac,
                    luty       = (((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0)) ? 29 : 28,
                    dzien_roku = 31 + luty,
                    G          = Year % 19,
                    C          = Year / 100,
                    H          = (C - (C / 4) - ((8 * C + 13) / 25) + 19 * G + 15) % 30,
                    I          = H - (H / 28) * (1 - (29 / (H + 1)) * ((21 - G) / 11)),
                    J          = (Year + (Year / 4) + I + 2 - C + (C / 4)) % 7,
                    L          = I - J,
                    month      = 3 + ((L + 40) / 44),
                    day        = L + 28 - 31 * (month / 4);

                if (day == 31 && month == 3)
                {
                    poniedzialek_wielkanocny_dzien   = 1;
                    poniedzialek_wielkanocny_miesiac = 3;
                }
                else
                {
                    poniedzialek_wielkanocny_dzien   = day + 1;
                    poniedzialek_wielkanocny_miesiac = month - 1;
                }

                if (month == 3)
                {
                    dzien_roku += day;
                }
                else
                {
                    dzien_roku = dzien_roku + 31 + day;
                }

                dzien_roku += 60;

                if (luty == 28 && dzien_roku <= 151)
                {
                    boze_cialo_dzien   = dzien_roku - 120;
                    boze_cialo_miesiac = 4;
                }
                else if (luty == 29 && dzien_roku <= 152)
                {
                    boze_cialo_dzien   = dzien_roku - 121;
                    boze_cialo_miesiac = 4;
                }
                else if (luty == 29)
                {
                    boze_cialo_dzien   = dzien_roku - 152;
                    boze_cialo_miesiac = 5;
                }
                else
                {
                    boze_cialo_dzien   = dzien_roku - 151;
                    boze_cialo_miesiac = 5;
                }

                if (DayOfWeek == 0 ||
                    IsHoliday == true ||
                    (searchRouteVM.StartTime.Day == poniedzialek_wielkanocny_dzien && searchRouteVM.StartTime.Month == poniedzialek_wielkanocny_miesiac + 1) ||
                    (searchRouteVM.StartTime.Day == boze_cialo_dzien && searchRouteVM.StartTime.Month == boze_cialo_miesiac + 1))
                {
                    DayOfWeek = 7;
                }

                searchRouteVM.searchRouteShowRouteVMs = new List <SearchRouteShowRouteVM>();

                IList <ArrivalsDepartures> arrivalsDeparturesStart = (IList <ArrivalsDepartures>)_unitOfWork.ArrivalsDepartures.GetAll(ad => ad.BusStopId == searchRouteVM.BusStopListStartId);
                IList <ArrivalsDepartures> arrivalsDeparturesEnd   = (IList <ArrivalsDepartures>)_unitOfWork.ArrivalsDepartures.GetAll(ad => ad.BusStopId == searchRouteVM.BusStopListEndId);

                foreach (var start in arrivalsDeparturesStart)
                {
                    foreach (var end in arrivalsDeparturesEnd)
                    {
                        Timetable     timetableStart      = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == start.TimetableId);
                        Timetable     timetableEnd        = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == end.TimetableId);
                        OperatingDays operatingDaysStart  = _unitOfWork.OperatingDays.GetFirstOrDefault(od => od.Id == timetableStart.OperatingDaysId);
                        OperatingDays operatingDaysEnd    = _unitOfWork.OperatingDays.GetFirstOrDefault(od => od.Id == timetableEnd.OperatingDaysId);
                        bool          IsValidOperatingDay = false;

                        if (DayOfWeek == 1 && operatingDaysStart.Monday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 2 && operatingDaysStart.Tuesday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 3 && operatingDaysStart.Wednesday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 4 && operatingDaysStart.Thursday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 5 && operatingDaysStart.Friday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 6 && operatingDaysStart.Saturday == true)
                        {
                            IsValidOperatingDay = true;
                        }
                        if (DayOfWeek == 7 && operatingDaysStart.SundayAndHolidays == true)
                        {
                            IsValidOperatingDay = true;
                        }

                        if (start.TimetableId == end.TimetableId &&
                            start.DepartureTime < end.ArrivalTime &&
                            IsValidOperatingDay == true &&
                            timetableStart.IsActive == true &&
                            timetableEnd.IsActive == true)
                        {
                            DateTime startDateTime       = new DateTime(2000, 1, 1, start.DepartureTime.Value.Hour, start.DepartureTime.Value.Minute, 0);
                            DateTime searchRouteDateTime = new DateTime(2000, 1, 1, searchRouteVM.StartTime.Hour, searchRouteVM.StartTime.Minute, 0);

                            if (startDateTime.CompareTo(searchRouteDateTime) >= 0)
                            {
                                SearchRouteShowRouteVM searchRouteShowRouteVM = new SearchRouteShowRouteVM();
                                searchRouteShowRouteVM.TimetableId = start.TimetableId;
                                Timetable timetable = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == start.TimetableId);
                                LineName  lineName  = _unitOfWork.LineName.GetFirstOrDefault(ln => ln.Id == timetable.LineNameId);
                                searchRouteShowRouteVM.LineName         = lineName.Name;
                                searchRouteShowRouteVM.StartBusStopName = _unitOfWork.BusStop.GetFirstOrDefault(bs => bs.Id == searchRouteVM.BusStopListStartId).Name;
                                string departure = start.DepartureTime.Value.Hour + ":";
                                if (start.DepartureTime.Value.Minute < 10)
                                {
                                    departure += "0" + start.DepartureTime.Value.Minute;
                                }
                                else
                                {
                                    departure += start.DepartureTime.Value.Minute;
                                }
                                searchRouteShowRouteVM.DepartureTime  = departure;
                                searchRouteShowRouteVM.EndBusStopName = _unitOfWork.BusStop.GetFirstOrDefault(bs => bs.Id == searchRouteVM.BusStopListEndId).Name;
                                string arrival = end.ArrivalTime.Value.Hour + ":";
                                if (end.ArrivalTime.Value.Minute < 10)
                                {
                                    arrival += "0" + end.ArrivalTime.Value.Minute;
                                }
                                else
                                {
                                    arrival += end.ArrivalTime.Value.Minute;
                                }
                                searchRouteShowRouteVM.ArrivalTime = arrival;

                                searchRouteVM.searchRouteShowRouteVMs.Add(searchRouteShowRouteVM);
                            }
                        }
                    }
                }
            }

            DateTime DateTimeNow = DateTime.Now;

            searchRouteVM = new SearchRouteVM()
            {
                BusStopListStart        = _unitOfWork.BusStop.GetBusStopListDropDown(),
                BusStopListEnd          = _unitOfWork.BusStop.GetBusStopListDropDown(),
                StartTime               = new DateTime(DateTimeNow.Year, DateTimeNow.Month, DateTimeNow.Day, DateTimeNow.Hour, DateTimeNow.Minute, 0),
                searchRouteShowRouteVMs = searchRouteVM.searchRouteShowRouteVMs
            };

            return(View(searchRouteVM));
        }
 public NewLineAddedEvent(Id lineId, LineName lineName)
     : base(lineId.Value)
 {
     LineId   = lineId;
     LineName = lineName;
 }
Example #16
0
 /// <summary>
 /// 哈希数
 /// </summary>
 /// <returns></returns>
 public override int GetHashCode()
 {
     return(LineName.GetHashCode());
 }
 public AddShippingLineCommand(LineName lineName)
     : base(Guid.NewGuid())
 {
     LineName = lineName;
 }
Example #18
0
 public void SetLineName(LineName name)
 {
     LineName = name;
 }
Example #19
0
 /// <summary>
 /// 字符串
 /// </summary>
 /// <returns></returns>
 public override string ToString()
 {
     return(LineName.ToString());
 }
Example #20
0
 public virtual string ToFullLine()
 {
     return($"{LineName.PadRight(25)}: {ToInfoLine()}");
 }
Example #21
0
 public void PlayNode(LineName name)
 {
     dicLines[name].CraeteNode();
 }
Example #22
0
 public MusicNodeLine GetNodeLine(LineName name)
 {
     return(dicLines[name]);
 }
 public UpdateLineNameCommand(Id lineId, LineName lineName)
     : base(Guid.NewGuid())
 {
     LineId   = lineId;
     LineName = lineName;
 }