public ActionResult CreateStationGroupPartial(int companyId)
        {
            StationGroupViewModel st = new StationGroupViewModel();

            st.COMPANY_ID = companyId;
            return(PartialView(st));
        }
 public JsonResult SaveStationGroup(StationGroupViewModel stg)
 {
     try
     {
         TBL_STATION_GROUP entity = Mapper.Map <StationGroupViewModel, TBL_STATION_GROUP>(stg);
         entity.UPDATE_USER  = User.Identity.GetUserId();
         entity.CREATED_DATE = DateTime.Now;
         stationGroupService.CreateStationGroup(entity);
         stationGroupService.SaveStationGroup();
         return(Json(""));
     }
     catch (Exception ex)
     {
         return(Json(ex.Message));
     }
 }
Example #3
0
        internal async Task InitiateBaseAsync(Size viewerSize = default(Size))
        {
            if (!CanConvert && (viewerSize == default(Size)))
            {
                return;
            }

            var railways = await MetroManager.Current.GetRailwaysAsync();

            var stations = await MetroManager.Current.GetStationsAsync();

            if ((railways == null) || (stations == null))
            {
                return;
            }

            // Check real railways area.
            CheckAreaCoordinates(stations, viewerSize);

            // Clear existing railway members.
            _core.Clear();

            // Filter and sort.
            if ((Settings.Current.RailwayIdPriority != null) && Settings.Current.RailwayIdPriority.Any())
            {
                var buff = new List <Railway>();

                foreach (var railwayId in Settings.Current.RailwayIdPriority)
                {
                    var railway = railways.FirstOrDefault(x => x.RailwayId == railwayId);
                    if (railway != null)
                    {
                        buff.Add(railway);
                    }
                }

                railways = buff.ToArray();
            }

            // Populate railway members. Reversing is to make the higher priority railway come to the upper layer.
            foreach (var railway in railways.Reverse())
            {
                var stationIds = MetroManager.Current.RailwayIdStationsMap[railway.RailwayId];

                for (int i = 0; i < stationIds.Count; i++)
                {
                    var station = stations.FirstOrDefault(x => x.StationId == stationIds[i]);
                    if (station == null)                     // It is unlikely to happen though.
                    {
                        continue;
                    }

                    var stationMember = new StationViewModel
                    {
                        RailwayId = railway.RailwayId,

                        StationId      = station.StationId,
                        StationTitleJa = station.Title,
                        StationIndex   = i,
                        StationCode    = station.StationCode,

                        Location = ConvertPositionFromReal(station.Longitude, station.Latitude),
                    };

                    var existingStations = _core.OfType <StationGroupViewModel>()
                                           .SelectMany(x => x.Members)
                                           .ToArray();

                    var stationGroup = _core.OfType <StationGroupViewModel>()
                                       .FirstOrDefault(x => x.GroupTitleJa == station.Title);

                    if (stationGroup != null)
                    {
                        stationGroup.AddMember(stationMember);
                    }
                    else
                    {
                        stationGroup = new StationGroupViewModel();
                        stationGroup.AddMember(stationMember);

                        _core.Add(stationGroup);
                    }

                    if (0 < i)
                    {
                        var previousStation = existingStations.FirstOrDefault(x => x.StationId == stationIds[i - 1]);
                        if (previousStation != null)
                        {
                            var connector = new ConnectorViewModel
                            {
                                RailwayId = railway.RailwayId,

                                StationIdA = previousStation.StationId,
                                StationIdB = stationMember.StationId,

                                StationIndexA = previousStation.StationIndex,
                                StationIndexB = stationMember.StationIndex,

                                LocationA = previousStation.Location,
                                LocationB = stationMember.Location,
                            };

                            _core.Add(connector);
                        }
                    }
                }
            }

            MetroManager.Current.ClearRailwaysStationsCached();
        }