Beispiel #1
0
        public void InsertPath(List <PathGrid> pathGrid, List <PathGrid> gridData, int tedadNoghatDarMasir)
        {
            if (gridData == null)
            {
                throw new ArgumentNullException(nameof(gridData), "gridData Argument cannot be null.");
            }

            using (var db = new PigisEntities())
            {
                pathGrid.ForEach(p => p.PointClusterCoordinates.AddRange(gridData.Single(g => g.TemporaryId == p.TemporaryId).PointClusterCoordinates));

                var roads =
                    pathGrid.Select(
                        p =>
                        new Road
                {
                    TedadNoghatDarMasir = p.PointClusterCoordinates.Count,
                    BazeZamaniToor      = p.BazeZamaniTour,
                    BazeZamaniTozie     = p.ToziZamaniPishfarz,
                    RoadLanguage        = new List <RoadLanguage> {
                        new RoadLanguage {
                            IdLanguage = SystemSetting.IdLanguage, Name = p.PathName
                        }
                    },
                    TarikhMiladiEtebar      = p.TarikhEtebarFrom.ToShortMiladiDateTime(),
                    TarikhMiladiPayanEtebar = p.TarikhEtebarTo.ToShortMiladiDateTime(),
                    TarikhShamsiEtebar      = p.TarikhEtebarFrom.ArabicDigitToWestern(),
                    TarikhPayanEtebar       = p.TarikhEtebarTo.ArabicDigitToWestern(),
                    IdPlaceTree             = p.IdPlaceTree,
                    EshterakToRoad          = p.PointClusterCoordinates.Select(c => new EshterakToRoad {
                        IdEshterak = c.CoordinateId, Id = Guid.NewGuid()
                    }).ToList(),
                    //PersonelToRoad = new List<PersonelToRoad> { new PersonelToRoad { IdPersonel = SM.General.IdPersonel.Value, IsActive = true } },
                    TedadNoghte = tedadNoghatDarMasir,
                    Vaaziat     = true
                }).ToList();

                db.Road.AddRange(roads);
                db.SaveChanges();
            }
        }