public async Task AddNewRegSh(RegulatoryScheduleDto regShDto, string nameRailwayStation)
        {
            using (var uow = new UnitOfWork(new CisDbContext(_optionsBuilder.Options)))
            {
                if (string.IsNullOrEmpty(nameRailwayStation))
                {
                    return;
                }

                if (regShDto == null)
                {
                    return;
                }

                var railwayStation = await uow.RailwayStationRepository.Get().Include(rs => rs.RegulatorySchedules).FirstOrDefaultAsync(n => n.Name.Equals(nameRailwayStation));

                if (railwayStation != null)
                {
                    regShDto.RailwayStId = railwayStation.Id;
                    railwayStation.RegulatorySchedules.Add(regShDto);

                    await uow.SaveAsync();
                }
            }
        }
Пример #2
0
        public static async Task Initialize(IUnitOfWork unitOfWork)
        {
            try
            {
                using (var uow = unitOfWork)
                {
                    if (!await uow.RailwayStationRepository.Get().AnyAsync())
                    {
                        var railwaySt = new RailwayStationDto {
                            Name = "Ленинградский"
                        };
                        uow.RailwayStationRepository.Insert(railwaySt);

                        railwaySt.Stations = new List <RailwayStStationStations>
                        {
                            new RailwayStStationStations
                            {
                                RailwayStationDto = railwaySt,
                                StationDto        = new StationDto
                                {
                                    Name    = "НЕИЗВЕСТНО",
                                    EcpCode = 0,
                                }
                            },
                            new RailwayStStationStations
                            {
                                RailwayStationDto = railwaySt,
                                StationDto        = new StationDto
                                {
                                    Name        = "Станция 1",
                                    Description = " Описание Станции 1",
                                    EcpCode     = 1111,
                                }
                            },
                            new RailwayStStationStations
                            {
                                RailwayStationDto = railwaySt,
                                StationDto        = new StationDto
                                {
                                    Name        = "Станция 2",
                                    Description = " Описание Станции 2",
                                    EcpCode     = 2222,
                                }
                            },
                            new RailwayStStationStations
                            {
                                RailwayStationDto = railwaySt,
                                StationDto        = new StationDto
                                {
                                    Name        = "Станция 3",
                                    Description = " Описание Станции 3",
                                    EcpCode     = 3333,
                                }
                            },
                            new RailwayStStationStations
                            {
                                RailwayStationDto = railwaySt,
                                StationDto        = new StationDto
                                {
                                    Name        = "Станция 4",
                                    Description = " Описание Станции 4",
                                    EcpCode     = 4444,
                                }
                            },
                        };

                        await uow.SaveAsync();
                    }


                    if (!await uow.RegulatoryScheduleRepository.Get().AnyAsync())
                    {
                        var railwatSt = await uow.RailwayStationRepository.Get().FirstAsync();

                        var unknownSt = await uow.StationRepository.Get().FirstOrDefaultAsync(st => st.Name == "НЕИЗВЕСТНО");

                        if (unknownSt == null)
                        {
                            return;
                        }

                        //------------------------------------
                        var stations = await uow.StationRepository.Get().Where(st => true).ToListAsync();

                        var routeStations = stations.Select(st => new StationsRouteDto {
                            StationDto = st, IsLanding = true, ArrivalTime = DateTime.Now
                        }).ToList();
                        var regSh = new RegulatoryScheduleDto
                        {
                            RailwayStId           = railwatSt.Id,
                            ArrivalTime           = DateTime.MaxValue,
                            DepartureTime         = DateTime.Now,
                            DaysFollowings        = "Ежедневно",
                            NumberOfTrain         = "152",
                            RouteName             = "Москва-Питер",
                            DestinationStationDto = unknownSt,
                            DispatchStationDto    = unknownSt,
                        };


                        var routes = routeStations.Select(rs => new RegShStationsRouteRoutes {
                            StationRouteDto = rs, RegulatoryScheduleDto = regSh
                        }).ToList();
                        regSh.Route = routes;

                        uow.RegulatoryScheduleRepository.Insert(regSh);
                        await uow.SaveAsync();
                    }



                    if (!await uow.StationRouteRepository.Get().AnyAsync())
                    {
                        var station = await uow.StationRepository.Get().FirstOrDefaultAsync(st => st.Name == "Станция 1");

                        if (station != null)
                        {
                            var stRoute = new StationsRouteDto()
                            {
                                IsLanding    = true,
                                StationDtoId = station.Id,
                                ArrivalTime  = DateTime.Now
                            };
                            uow.StationRouteRepository.Insert(stRoute);
                            await uow.SaveAsync();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }