Пример #1
0
        public void TestProjectLocationFilterTypesAddedAsProjectProperties()
        {
            var focusArea = TestFramework.TestFocusArea.Create();

            var project = Project.CreateNewBlank(
                ProjectType.CreateNewBlank(TaxonomyBranch.CreateNewBlank(TaxonomyTrunk.CreateNewBlank())),
                ProjectStage.Completed,
                ProjectLocationSimpleType.None,
                // TODO: Verify that "Approved" is the correct project state or use the correct value
                ProjectApprovalStatus.Approved);

            project.FocusArea = focusArea;

            project.ProjectLocationPoint = DbGeometry.PointFromText("POINT(29.11 40.11)", 4326);

            var feature = Project.MappedPointsToGeoJsonFeatureCollection(new List <Project> {
                project
            }, true, true).Features.First();

            foreach (var projectLocationFilterType in ProjectLocationFilterType.All)
            {
                Assert.That(feature.Properties.ContainsKey(projectLocationFilterType.ProjectLocationFilterTypeNameWithIdentifier),
                            "ProjectLocationFilterType {0} not present as a property of Project.",
                            projectLocationFilterType.ProjectLocationFilterTypeNameWithIdentifier);
            }
        }
Пример #2
0
        public static DbGeometry FromWkt(string type, string wkt, int systemid)
        {
            type = type.ToUpper();
            switch (type)
            {
            case "POINT":
                return(DbGeometry.PointFromText(wkt, systemid));

            case "POLYGON":
                return(DbGeometry.PolygonFromText(wkt, systemid));

            case "LINE":
                return(DbGeometry.LineFromText(wkt, systemid));

            case "MULTIPOINT":
                return(DbGeometry.MultiPointFromText(wkt, systemid));

            case "MULTIPOLYGON":
                return(DbGeometry.MultiPolygonFromText(wkt, systemid));

            case "MULTILINE":
                return(DbGeometry.MultiLineFromText(wkt, systemid));

            default:
                return(null);
            }
        }
Пример #3
0
        private void GetStoreContainersOfPoint(ApplicationDbContext db, Point3D source, Point3D target, List <IHasEntrances> sourceContainers, List <IHasEntrances> targetContainers)
        {
            var levelPois = db.POIs.Include("Location").Where(x => x.Location.Level == source.Level | x.Location.Level == target.Level);
            //var levelPois = BuildSet<IHasEntrances>().Where(x => ((POI)x).Location.Level == source.Level | ((POI)x).Location.Level == target.Level);

            DbGeometry sourcePoint = DbGeometry.PointFromText("POINT (" + source.Longitude + " " + source.Latitude + ")", 4326);
            DbGeometry targetPoint = DbGeometry.PointFromText("POINT (" + target.Longitude + " " + target.Latitude + ")", 4326);

            List <POI> containers = new List <POI>();

            foreach (var s in levelPois)
            {
                if (s is IHasEntrances)
                {
                    //db.Entry(s).Reference("Location").Load();
                    if (((POI)s).Location.LocationG.Contains(sourcePoint))
                    {
                        sourceContainers.Add((IHasEntrances)(s));
                    }
                    if (((POI)s).Location.LocationG.Contains(targetPoint))
                    {
                        targetContainers.Add((IHasEntrances)(s));
                    }
                }

                //if (s is IHasEntrances && ((POI)s).Location.LocationG.Contains(targetPoint))
                //    targetContainers.Add((IHasEntrances)(s));

                //if (s is IHasEntrances && GeoUtils.IsPointInPolygone(source, s.Location))
                //    sourceContainers.Add((IHasEntrances)(s));
                //if (s is IHasEntrances && GeoUtils.IsPointInPolygone(target, s.Location))
                //    targetContainers.Add((IHasEntrances)(s));
            }
        }
        /// <summary>
        /// Create a GeoLocation point based on latitude and longitude
        /// </summary>
        /// <param name="latitude">latitude</param>
        /// <param name="longitude">longitude</param>
        /// <param name="sRid">spatial reference id, default is 4326</param>
        /// <returns></returns>
        public static DbGeometry CreatePoint(double latitude, double longitude, int sRid)
        {
            var text = $"POINT({longitude} {latitude})";

            // 4326 is most common coordinate system used by GPS/Maps
            return(DbGeometry.PointFromText(text, sRid));
        }
Пример #5
0
        public static DbGeometry MakeDbGeometryFromCoordinates(double xCoordinate, double yCoordinate, int coordinateSystemId)
        {
            var geometry = DbGeometry.PointFromText(string.Format("POINT({0} {1})", xCoordinate, yCoordinate),
                                                    coordinateSystemId);

            return(geometry);
        }
        public void Test_GetDeliveryPointsCrossingOperationalObject()
        {
            DbGeometry operationalObjectPoint = DbGeometry.PointFromText("POINT (488938 197021)", 27700);
            var        actualResult           = testCandidate.GetDeliveryPointsCrossingOperationalObject("POINT (488938 197021)", operationalObjectPoint);

            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Count == 0);
        }
        /// <summary>
        /// Create a GeoLocation point based on latitude and longitude
        /// </summary>
        /// <param name="latitudeLongitude">
        /// String should be two values either single comma or space delimited
        /// 45.710030,-121.516153
        /// 45.710030 -121.516153
        /// </param>
        /// <param name="sRid">spatial reference id, default is 4326</param>
        /// <returns></returns>
        public static DbGeometry CreatePoint(string latitudeLongitude, int sRid)
        {
            var tokens = latitudeLongitude.Split(',', ' ');

            if (tokens.Length != 2)
            {
                throw new ArgumentException("Invalid Location String Passed");
            }
            var text = $"POINT({tokens[1]} {tokens[0]})";

            return(DbGeometry.PointFromText(text, sRid));
        }
 public void Test_GetDeliveryPointDistanceNegativeScenario()
 {
     try
     {
         DbGeometry point  = DbGeometry.PointFromText("POINT (488938 197021)", 27700);
         var        result = testCandidate.GetDeliveryPointDistance(deliveryPointDataDTO, point);
         Assert.Fail("An exception should have been thrown");
     }
     catch (ArgumentNullException ae)
     {
         Assert.AreEqual("Following arguments for the method are null Parameter name: deliveryPointDTO", ae.Message.Replace("\r\n", string.Empty));
     }
 }
Пример #9
0
        public List <POI> GetByLocation(string lon, string lat, int level)
        {
            var        levelStores = storeRepository.GetAll().Where(x => x.Floor == level);
            DbGeometry point       = DbGeometry.PointFromText("POINT (" + lon + " " + lat + ")", 4326);
            List <POI> containers  = new List <POI>();

            foreach (Store s in levelStores)
            {
                if (s.Location.LocationG.Contains(point))
                {
                    containers.Add(s);
                }
            }
            return(containers);
        }
Пример #10
0
        private static void extractPoint(int noareas, JObject feature, Dictionary <string, Point3D> labeledPoints, List <Point3D> badPolygonsPoints)
        {
            Point3D toReturn = new Point3D();

            toReturn.Level        = int.Parse(feature["properties"]["level"].ToString());
            toReturn.IsAccessible = Boolean.Parse(feature["properties"]["accessible"].ToString());
            StringBuilder wktsb = new StringBuilder("POINT (");
            var           j     = feature["geometry"]["coordinates"];
            string        lon   = Regex.Match(j.ToString(), "34\\.\\d+").Value;
            string        lat   = Regex.Match(j.ToString(), "32\\.\\d+").Value;

            wktsb.Append(lon + " " + lat);
            wktsb.Append(")");
            toReturn.Wkt       = wktsb.ToString();
            toReturn.LocationG = DbGeometry.PointFromText(wktsb.ToString(), 4326);
            toReturn.Name      = feature["properties"]["attrs"]["name"].ToString();
            toReturn.Latitude  = Decimal.Parse(lat);
            toReturn.Longitude = Decimal.Parse(lon);
            if (feature["properties"]["attrs"]["Name2"] != null)
            {
                toReturn.Name2 = feature["properties"]["attrs"]["Name2"].ToString();
            }
            toReturn.Areas = new List <Area>();
            if (feature["properties"]["attrs"]["AreaID"] != null)
            {
                Area area = new Area(feature["properties"]["attrs"]["AreaID"].ToString());
                toReturn.Areas.Add(area);
                int index = 2;
                while (feature["properties"]["attrs"]["AreaID" + index] != null)
                {
                    toReturn.Areas.Add(new Area(feature["properties"]["attrs"]["AreaID" + index++].ToString()));
                }
            }
            else
            {
                noareas++;
            }
            if (toReturn.Name.ToUpper().Contains("PASSAGES") | toReturn.Name.ToUpper().Contains("ROADWALK"))
            {
                badPolygonsPoints.Add(toReturn);
            }
            else
            {
                labeledPoints.Add(toReturn.Wkt, toReturn);
            }
        }
        public async Task Test_UpdateDeliveryPointLocationOnUDPRN()
        {
            deliveryPointDataDTO = new DeliveryPointDataDTO()
            {
                ID            = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                MailVolume    = 5,
                PostalAddress = new PostalAddressDataDTO()
                {
                    BuildingName          = "bldg2",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg1",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                },
                DeliveryPointStatus = new List <DeliveryPointStatusDataDTO>()
                {
                    new DeliveryPointStatusDataDTO()
                    {
                        LocationID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13")
                    }
                },
                NetworkNode = new NetworkNodeDataDTO()
                {
                    ID       = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    Location = new LocationDataDTO()
                    {
                        Shape = DbGeometry.PointFromText("POINT (488938 197021)", 27700)
                    }
                },
            };
            var result = await testCandidate.UpdateDeliveryPointLocationOnUDPRN(deliveryPointDataDTO);

            Assert.IsTrue(result == 1);
        }
        public void Test_GetDeliveryPointDistancePositiveScenario()
        {
            deliveryPointDataDTO = new DeliveryPointDataDTO()
            {
                ID            = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                MailVolume    = 5,
                PostalAddress = new PostalAddressDataDTO()
                {
                    BuildingName          = "bldg2",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg1",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                },
                NetworkNode = new NetworkNodeDataDTO()
                {
                    ID       = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    Location = new LocationDataDTO()
                    {
                        Shape = DbGeometry.PointFromText("POINT (488938 197021)", 27700)
                    }
                },
            };
            DbGeometry point  = DbGeometry.PointFromText("POINT (488938 197021)", 27700);
            var        result = testCandidate.GetDeliveryPointDistance(deliveryPointDataDTO, point);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result == 0);
        }
Пример #13
0
        public List <POI> GetContainerByLocation(string lon, string lat, int level)
        {
            List <POI> containers = new List <POI>();

            using (var context = new ApplicationDbContext())
            {
                var levelStores = context.POIs.Include("Location").Where(x => x.Location.Level == level);
                //int count = levelStores.Count();

                DbGeometry point = DbGeometry.PointFromText("POINT (" + lon + " " + lat + ")", 4326);
                foreach (var s in levelStores)
                {
                    //context.Entry(s).Reference("Location").Load();
                    if (s.Location.LocationG.Contains(point))
                    {
                        containers.Add(s);
                    }
                }
            }
            return(containers);
        }
Пример #14
0
        public void CanCreateGeogrametryColumn()
        {
            using (SpatialDbContext ctx = new SpatialDbContext())
            {
                ctx.Database.Delete();
                ctx.Database.Create();
                var dis = new SPoint {
                    point = DbGeometry.PointFromText(string.Format("POINT({0} {1})", 47.37, -122.21), 4326)
                };
                ctx.SPoints.Add(dis);

                var dis_2 = new SPoint {
                    point = DbGeometry.PointFromText(string.Format("POINT({0} {1})", 147.37, -122.21), 4326)
                };
                ctx.SPoints.Add(dis_2);

                ctx.SaveChanges();

                var points = ctx.SPoints.First();
                Assert.AreEqual("POINT (47.37 -122.21)", points.point.AsText());
            }
        }
Пример #15
0
        private static void extractPolygon(JObject feature, Dictionary <string, Point3D> labeledPoints, ApplicationDbContext context
                                           , List <Point3D> badPolygonsPoints, List <POI> poisToSave)
        {
            POI poi = new POI();

            poi.Type = null;
            Polygone toReturn = new Polygone();

            toReturn.Points = new List <Point3D>();
            int level = int.Parse(feature["properties"]["level"].ToString());

            //bool isAccessible = Boolean.Parse(feature["properties"]["accessible"].ToString());
            toReturn.Level = level;
            StringBuilder  wktsb = new StringBuilder("POLYGON ((");
            List <Point3D> labeledPointsFound = new List <Point3D>();

            foreach (JArray j in feature["geometry"]["coordinates"][0])
            {
                StringBuilder pointWkt = new StringBuilder("POINT (");
                string        lon      = Regex.Match(j.ToString(), "34\\.\\d+").Value;
                string        lat      = Regex.Match(j.ToString(), "32\\.\\d+").Value;
                wktsb.Append(lon + " " + lat + ",");
                pointWkt.Append(lon + " " + lat + ")");
                if (!toReturn.Points.Exists(Point3D => Point3D.Wkt == pointWkt.ToString()))
                {
                    if (labeledPoints.ContainsKey(pointWkt.ToString()))
                    {
                        labeledPointsFound.Add(labeledPoints[pointWkt.ToString()]);
                        toReturn.Points.Add(labeledPoints[pointWkt.ToString()]);
                        //break;
                    }
                    else
                    {
                        DbGeometry pointG = DbGeometry.PointFromText(pointWkt.ToString(), 4326);
                        Point3D    point  = new Point3D {
                            Longitude = Decimal.Parse(lon), Latitude = Decimal.Parse(lat), Wkt = pointWkt.ToString(), LocationG = pointG, Level = level
                        };
                        toReturn.Points.Add(point);
                    }
                }
            }
            wktsb.Remove(wktsb.Length - 1, 1);
            wktsb.Append("))");
            toReturn.Wkt = wktsb.ToString();
            try
            {
                DbGeometry polygone = DbGeometry.PolygonFromText(wktsb.ToString(), 4326);
                if (!polygone.IsValid)
                {
                    polygone = DbGeometry.FromText(SqlGeometry.STGeomFromText(new SqlChars(polygone.AsText()), 4326).MakeValid().STAsText().ToSqlString().ToString(), 4326);
                }

                foreach (Point3D point in badPolygonsPoints)
                {
                    if (polygone.Contains(point.LocationG))
                    {
                        return;
                    }
                }
                toReturn.LocationG = polygone;
            }
            catch (Exception ex)
            {
                ex = ex;
            }

            // polygon with no info
            if (labeledPointsFound.Count == 0)
            {
                return;
            }

            // polygon with more than one anchor point - check if it is 2 entrances
            if (labeledPointsFound.Count > 1)
            {
                if (labeledPointsFound[0].Areas.Count != labeledPointsFound[1].Areas.Count)
                {
                    return;
                }
                else
                {
                    for (int i = 0; i < labeledPointsFound[0].Areas.Count; i++)
                    {
                        if (!labeledPointsFound[0].Areas[i].AreaID.Equals(labeledPointsFound[1].Areas[i].AreaID))
                        {
                            return;
                        }
                    }
                }
            }
            Point3D labeledPoint = labeledPointsFound[0];

            if (labeledPoint != null)
            {
                toReturn.Areas = labeledPoint.Areas;
                if (labeledPoint.Areas != null && labeledPoint.Areas.Count > 0 && !labeledPoint.Areas[0].AreaID.StartsWith("9"))
                {
                    poi.Type = POI.POIType.STORE;
                }
                if (labeledPoint.Name.ToLower().Contains("atm"))
                {
                    poi.Type = POI.POIType.ATM;
                }
                if (labeledPoint.Name.ToLower().Contains("entrance"))
                {
                    poi.Type = POI.POIType.ENTRANCE;
                }
                if (labeledPoint.Name.ToLower().Contains("toilet") | labeledPoint.Name.ToLower().Contains("wc"))
                {
                    poi.Type = POI.POIType.WC;
                }
                if (labeledPoint.Name.ToLower().Contains("zone"))
                {
                    poi.Type = POI.POIType.ZONE;
                }
            }
            if (poi.Type != null)
            {
                switch (poi.Type)
                {
                case POI.POIType.STORE:
                {
                    poi = new Store {
                        Type         = poi.Type, Anchor = labeledPoint, Enabled = true
                        , Floor      = level,
                        IsAccessible = labeledPoint.IsAccessible,
                        Name         = labeledPoint.Name,
                        Name2        = labeledPoint.Name2,
                        Location     = toReturn,
                        Entrances    = new List <Point3D>()
                    };
                    foreach (Point3D entrancePoint in labeledPointsFound)
                    {
                        ((Store)poi).Entrances.Add(entrancePoint);
                    }
                    //context.Stores.AddOrUpdate(new Store[] { (Store)poi });
                    break;
                }

                default:
                {
                    poi = new POI
                    {
                        Type     = poi.Type,
                        Anchor   = labeledPoint,
                        Enabled  = true,
                        Name     = labeledPoint.Name,
                        Location = toReturn
                    };
                    //poisToSave.Add(poi);
                    break;
                }
                }
                poisToSave.Add(poi);
            }
            //return poi;
        }
Пример #16
0
        public static DbGeometry MakeDbGeometryFromCoordinates(double xCoordinate, double yCoordinate, int coordinateSystemId)
        {
            var geometry = DbGeometry.PointFromText($"POINT({xCoordinate} {yCoordinate})", coordinateSystemId);

            return(geometry);
        }
        /// <summary>
        /// Setup for Nunit Tests.
        /// </summary>
        protected override void OnSetup()
        {
            mockStreetNetworkDataService         = CreateMock <IStreetNetworkDataService>();
            mockNetworkManagerIntegrationService = CreateMock <INetworkManagerIntegrationService>();
            mockOsRoadLinkDataService            = CreateMock <IOSRoadLinkDataService>();
            mockRoadNameDataService = CreateMock <IRoadNameDataService>();
            loggingHelperMock       = CreateMock <ILoggingHelper>();

            dbGeometry = DbGeometry.PointFromText("POINT (488938 197021)", 27700);
            List <SqlGeometry> listOfnetworkIntersectionPoint = new List <SqlGeometry>();
            SqlGeometry        networkIntersectionPoint       = new SqlGeometry();

            coordinates  = "POLYGON ((505058.162109375 100281.69677734375, 518986.84887695312 100281.69677734375, 518986.84887695312 114158.546875, 505058.162109375 114158.546875, 505058.162109375 100281.69677734375))";
            lineGeometry = DbGeometry.LineFromText("LINESTRING (512722.70000000019 104752.6799999997, 512722.70000000019 104738)", 27700);

            NetworkLinkDataDTO networkLink = new NetworkLinkDataDTO()
            {
                ID = Guid.NewGuid(), LinkGeometry = lineGeometry
            };
            List <Tuple <NetworkLinkDataDTO, SqlGeometry> > listOfTuple = new List <Tuple <NetworkLinkDataDTO, SqlGeometry> > {
                new Tuple <NetworkLinkDataDTO, SqlGeometry>(networkLink, networkIntersectionPoint)
            };
            Tuple <NetworkLinkDataDTO, SqlGeometry> tuple = new Tuple <NetworkLinkDataDTO, SqlGeometry>(networkLink, networkIntersectionPoint);

            referenceDataCategoryDTOList = new List <ReferenceDataCategoryDTO>()
            {
                new ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataValue = FileType.Nyb.ToString(),
                            ID = Guid.NewGuid(),
                        }
                    },
                    CategoryName = PostalAddressType
                }
            };

            // Setup Methods.
            mockNetworkManagerIntegrationService.Setup(x => x.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).ReturnsAsync(referenceDataCategoryDTOList);
            mockNetworkManagerIntegrationService.Setup(x => x.GetReferenceDataNameValuePairs(It.IsAny <List <string> >())).ReturnsAsync(referenceDataCategoryDTOList);
            mockStreetNetworkDataService.Setup(x => x.GetNearestNamedRoad(It.IsAny <DbGeometry>(), It.IsAny <string>(), It.IsAny <List <ReferenceDataCategoryDTO> >())).Returns(tuple);
            mockStreetNetworkDataService.Setup(x => x.GetNearestSegment(It.IsAny <DbGeometry>(), It.IsAny <List <ReferenceDataCategoryDTO> >())).Returns(listOfTuple);
            mockStreetNetworkDataService.Setup(x => x.GetNetworkLink(It.IsAny <Guid>())).Returns(networkLink);
            mockStreetNetworkDataService.Setup(x => x.GetCrossingNetworkLink(It.IsAny <string>(), It.IsAny <DbGeometry>())).Returns(new List <NetworkLinkDataDTO>()
            {
                networkLink
            });
            mockStreetNetworkDataService.Setup(x => x.GetStreetNamesForBasicSearch(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(new List <StreetNameDataDTO>()
            {
                new StreetNameDataDTO()
                {
                    LocalName = "abc"
                }
            });
            mockStreetNetworkDataService.Setup(x => x.GetStreetNameCount(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(5);
            mockStreetNetworkDataService.Setup(x => x.GetStreetNamesForAdvanceSearch(It.IsAny <string>(), It.IsAny <Guid>(), "Delivery Office")).ReturnsAsync(new List <StreetNameDataDTO>()
            {
                new StreetNameDataDTO()
                {
                    LocalName = "abc"
                }
            });
            mockOsRoadLinkDataService.Setup(x => x.GetOSRoadLink(It.IsAny <string>())).ReturnsAsync("abc");
            mockRoadNameDataService.Setup(x => x.GetRoadRoutes(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <List <ReferenceDataCategoryDTO> >(), It.IsAny <string>())).Returns(new List <NetworkLinkDataDTO>()
            {
                networkLink
            });

            // Setup for IRMTraceManager.
            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);
            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

            testCandidate = new NetworkManagerBusinessService(mockStreetNetworkDataService.Object, mockNetworkManagerIntegrationService.Object, mockOsRoadLinkDataService.Object, mockRoadNameDataService.Object, loggingHelperMock.Object);
        }
        protected override void OnSetup()
        {
            currentUserUnitType = "Delivery Office";

            var deliveryPoint = new List <DeliveryPoint>()
            {
                new DeliveryPoint()
                {
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    PostalAddressID = new Guid("619AF1F3-AE0C-4157-9BDE-A7528C1482BA"),
                    DeliveryPointUseIndicatorGUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A14"),
                    RowVersion    = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 },
                    PostalAddress = new PostalAddress()
                    {
                        BuildingName          = "road bldg2",
                        BuildingNumber        = 1,
                        SubBuildingName       = "road subbldg1",
                        OrganisationName      = "org",
                        DepartmentName        = "department",
                        Thoroughfare          = "road ThoroughFare1",
                        DependentThoroughfare = "DependentThoroughFare1",
                        Postcode     = "road PostcodeNew",
                        PostTown     = "PostTown",
                        POBoxNumber  = "POBoxNumber",
                        UDPRN        = 12345,
                        PostcodeType = "xyz",
                        SmallUserOrganisationIndicator = "indicator",
                        DeliveryPointSuffix            = "DeliveryPointSuffix",
                        AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                        ID = new Guid("619AF1F3-AE0C-4157-9BDE-A7528C1482BA"),
                    },
                    DeliveryPointStatus = new List <DeliveryPointStatus>()
                    {
                        new DeliveryPointStatus()
                        {
                            LocationID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13")
                        }
                    },
                    NetworkNode = new NetworkNode()
                    {
                        ID       = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                        Location = new Location()
                        {
                            ID    = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                            Shape = DbGeometry.PointFromText("POINT (488938 197021)", 27700)
                        }
                    },
                }
            };

            var location = new List <Location>()
            {
                new Location()
                {
                    ID                = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    Shape             = DbGeometry.PointFromText("POINT (488938 197021)", 27700),
                    RowCreateDateTime = DateTime.Now,
                    NetworkNode       = new NetworkNode()
                    {
                        ID            = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                        DeliveryPoint = new DeliveryPoint()
                        {
                            ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                            PostalAddressID = new Guid("619AF1F3-AE0C-4157-9BDE-A7528C1482BA"),
                            DeliveryPointUseIndicatorGUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A14")
                        }
                    }
                    //,
                    //LocationOfferings = new List<LocationOffering>() {
                    //    new LocationOffering
                    //    {
                    //        ID= new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    //    }
                    //}
                }
            };

            var networkNode = new List <NetworkNode>()
            {
                new NetworkNode()
                {
                    ID       = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    Location = new Location()
                    {
                        Shape = DbGeometry.PointFromText("POINT (488938 197021)", 27700)
                    }
                }
            };

            var postalAddress = new List <PostalAddress>
            {
                new PostalAddress()
                {
                    BuildingName          = "road bldg2",
                    BuildingNumber        = 1,
                    SubBuildingName       = "road subbldg1",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "road ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "road PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                    ID = new Guid("619AF1F3-AE0C-4157-9BDE-A7528C1482BA")
                },
            };

            var deliveryPointStatus = new List <DeliveryPointStatus>()
            {
                new DeliveryPointStatus()
                {
                    LocationID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13")
                }
            };

            var locationOfferings = new List <LocationOffering>()
            {
                new LocationOffering
                {
                    ID       = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13"),
                    Offering = new Offering()
                    {
                        ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A13")
                    }
                }
            };

            mockLoggingHelper = CreateMock <ILoggingHelper>();
            mockRMDBContext   = CreateMock <DeliveryPointDBContext>();

            // setup for Deliverypoint
            var mockAsynEnumerable           = new DbAsyncEnumerable <DeliveryPoint>(deliveryPoint);
            var mockDeliveryPointDataService = MockDbSet(deliveryPoint);

            mockDeliveryPointDataService.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable.AsQueryable().Provider);
            mockDeliveryPointDataService.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable.AsQueryable().Expression);
            mockDeliveryPointDataService.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable.AsQueryable().ElementType);
            mockDeliveryPointDataService.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <DeliveryPoint>)mockAsynEnumerable).GetAsyncEnumerator());
            mockRMDBContext.Setup(x => x.Set <DeliveryPoint>()).Returns(mockDeliveryPointDataService.Object);
            mockRMDBContext.Setup(x => x.DeliveryPoints).Returns(mockDeliveryPointDataService.Object);
            mockDeliveryPointDataService.Setup(x => x.Include(It.IsAny <string>())).Returns(mockDeliveryPointDataService.Object);
            mockDeliveryPointDataService.Setup(x => x.AsNoTracking()).Returns(mockDeliveryPointDataService.Object);

            // setup for location
            var mockAsynEnumerable1 = new DbAsyncEnumerable <Location>(location);
            var mockLocation        = MockDbSet(location);

            mockLocation.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable1.AsQueryable().Provider);
            mockLocation.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable1.AsQueryable().Expression);
            mockLocation.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable1.AsQueryable().ElementType);
            mockLocation.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <Location>)mockAsynEnumerable1).GetAsyncEnumerator());

            mockRMDBContext.Setup(x => x.Set <Location>()).Returns(mockLocation.Object);
            mockRMDBContext.Setup(x => x.Locations).Returns(mockLocation.Object);
            mockLocation.Setup(x => x.Include(It.IsAny <string>())).Returns(mockLocation.Object);
            mockLocation.Setup(x => x.AsNoTracking()).Returns(mockLocation.Object);

            // setup for networknode
            var mockAsynNetworkNode = new DbAsyncEnumerable <NetworkNode>(networkNode);
            var mocknetworkNode     = MockDbSet(networkNode);

            mocknetworkNode.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynNetworkNode.AsQueryable().Provider);
            mocknetworkNode.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynNetworkNode.AsQueryable().Expression);
            mocknetworkNode.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynNetworkNode.AsQueryable().ElementType);
            mocknetworkNode.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <NetworkNode>)mockAsynNetworkNode).GetAsyncEnumerator());
            mockRMDBContext.Setup(x => x.Set <NetworkNode>()).Returns(mocknetworkNode.Object);
            mockRMDBContext.Setup(x => x.NetworkNodes).Returns(mocknetworkNode.Object);
            mocknetworkNode.Setup(x => x.Include(It.IsAny <string>())).Returns(mocknetworkNode.Object);
            mocknetworkNode.Setup(x => x.AsNoTracking()).Returns(mocknetworkNode.Object);

            // setup for PostalAdress
            var mockAsynPostalAdress = new DbAsyncEnumerable <PostalAddress>(postalAddress);
            var mocknpostalAddresse  = MockDbSet(postalAddress);

            mocknpostalAddresse.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynPostalAdress.AsQueryable().Provider);
            mocknpostalAddresse.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynPostalAdress.AsQueryable().Expression);
            mocknpostalAddresse.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynPostalAdress.AsQueryable().ElementType);
            mocknpostalAddresse.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <PostalAddress>)mockAsynPostalAdress).GetAsyncEnumerator());
            mockRMDBContext.Setup(x => x.Set <PostalAddress>()).Returns(mocknpostalAddresse.Object);
            mockRMDBContext.Setup(x => x.PostalAddresses).Returns(mocknpostalAddresse.Object);
            mocknpostalAddresse.Setup(x => x.Include(It.IsAny <string>())).Returns(mocknpostalAddresse.Object);
            mocknpostalAddresse.Setup(x => x.AsNoTracking()).Returns(mocknpostalAddresse.Object);

            // setup for delivery point status
            var mockAsyndpStatus = new DbAsyncEnumerable <DeliveryPointStatus>(deliveryPointStatus);
            var mockdpStatus     = MockDbSet(deliveryPointStatus);

            mockdpStatus.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsyndpStatus.AsQueryable().Provider);
            mockdpStatus.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsyndpStatus.AsQueryable().Expression);
            mockdpStatus.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsyndpStatus.AsQueryable().ElementType);
            mockdpStatus.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <DeliveryPointStatus>)mockAsyndpStatus).GetAsyncEnumerator());
            mockRMDBContext.Setup(x => x.Set <DeliveryPointStatus>()).Returns(mockdpStatus.Object);
            mockRMDBContext.Setup(x => x.DeliveryPointStatus).Returns(mockdpStatus.Object);
            mockdpStatus.Setup(x => x.Include(It.IsAny <string>())).Returns(mockdpStatus.Object);
            mockdpStatus.Setup(x => x.AsNoTracking()).Returns(mockdpStatus.Object);

            // setup for location offerings
            var mockAsynlocOfferings = new DbAsyncEnumerable <LocationOffering>(locationOfferings);
            var mocklocOfferings     = MockDbSet(locationOfferings);

            mocklocOfferings.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynlocOfferings.AsQueryable().Provider);
            mocklocOfferings.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynlocOfferings.AsQueryable().Expression);
            mocklocOfferings.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynlocOfferings.AsQueryable().ElementType);
            mocklocOfferings.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <LocationOffering>)mockAsynlocOfferings).GetAsyncEnumerator());
            mockRMDBContext.Setup(x => x.Set <LocationOffering>()).Returns(mocklocOfferings.Object);
            mockRMDBContext.Setup(x => x.LocationOfferings).Returns(mocklocOfferings.Object);
            mocklocOfferings.Setup(x => x.Include(It.IsAny <string>())).Returns(mocklocOfferings.Object);
            mocklocOfferings.Setup(x => x.AsNoTracking()).Returns(mocklocOfferings.Object);

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockLoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            // mockConfigurationHelper = new Mock<IConfigurationHelper>();
            mockDatabaseFactory = CreateMock <IDatabaseFactory <DeliveryPointDBContext> >();
            mockDatabaseFactory.Setup(x => x.Get()).Returns(mockRMDBContext.Object);
            mockRMDBContext.Setup(n => n.SaveChangesAsync()).ReturnsAsync(1);
            testCandidate = new DeliveryPointsDataService(mockDatabaseFactory.Object, mockLoggingHelper.Object);
        }
Пример #19
0
        protected override void OnSetup()
        {
            // OnSetup to be configured
            referenceDataCategoryDTOList = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO>()
            {
                new CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataDTO>()
                    {
                        new CommonLibrary.EntityFramework.DTO.ReferenceDataDTO()
                        {
                            ReferenceDataValue = FileType.Nyb.ToString(),
                            ID = Guid.NewGuid(),
                        }
                    },
                    CategoryName = PostalAddressType
                },

                new CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataDTO>()
                    {
                        new CommonLibrary.EntityFramework.DTO.ReferenceDataDTO()
                        {
                            ReferenceDataValue = FileType.Usr.ToString(),
                            ID = Guid.NewGuid(),
                        }
                    },
                    CategoryName = PostalAddressType
                },

                new CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataDTO>()
                    {
                        new CommonLibrary.EntityFramework.DTO.ReferenceDataDTO()
                        {
                            ReferenceDataValue = FileType.Paf.ToString(),
                            ID = new Guid("A08C5212-6123-4EAF-9C27-D4A8035A8974"),
                        }
                    },
                    CategoryName = PostalAddressType
                },

                new CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataDTO>()
                    {
                        new CommonLibrary.EntityFramework.DTO.ReferenceDataDTO()
                        {
                            ReferenceDataValue = PostCodeStatus.Live.GetDescription(),
                            ID = Guid.NewGuid(),
                        }
                    },
                    CategoryName = PostalAddressStatus
                },

                new CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO()
                {
                    ReferenceDatas = new List <CommonLibrary.EntityFramework.DTO.ReferenceDataDTO>()
                    {
                        new CommonLibrary.EntityFramework.DTO.ReferenceDataDTO()
                        {
                            ReferenceDataValue = PostCodeStatus.PendingDeleteInFMO.GetDescription(),
                            ID = Guid.NewGuid(),
                        }
                    },
                    CategoryName = PostalAddressStatus
                }
            };

            AddressLocationDTO addressLocationDTO = new AddressLocationDTO()
            {
                UDPRN      = 1234,
                LocationXY = DbGeometry.PointFromText("POINT(512722.70000000019 104752.6799999997)", 27700)
            };

            PostalAddressDataDTO postalAddressDataDTO = new PostalAddressDataDTO()
            {
                Postcode            = "YO23 1DQ",
                PostTown            = "York",
                UDPRN               = 54162429,
                DeliveryPointSuffix = "1A",
                AddressType_GUID    = new Guid("A08C5212-6123-4EAF-9C27-D4A8035A8974")
            };

            PostalAddressDTO postalAddressDTO = new PostalAddressDTO()
            {
                ID = Guid.Empty
            };

            mockPostalAddressDataService = CreateMock <IPostalAddressDataService>();
            // mockFileProcessingLogDataService = CreateMock<IFileProcessingLogDataService>();
            mockConfigurationHelper             = CreateMock <IConfigurationHelper>();
            mockLoggingHelper                   = CreateMock <ILoggingHelper>();
            mockHttpHandler                     = CreateMock <IHttpHandler>();
            mockPostalAddressIntegrationService = CreateMock <IPostalAddressIntegrationService>();

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockLoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);
            mockPostalAddressIntegrationService.Setup(n => n.GetReferenceDataSimpleLists(It.IsAny <string>())).Returns(Task.FromResult(referenceDataCategoryDTOList[2]));
            mockPostalAddressIntegrationService.Setup(n => n.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).Returns(Task.FromResult(referenceDataCategoryDTOList));
            mockPostalAddressIntegrationService.Setup(n => n.GetReferenceDataGuId(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(Guid.NewGuid()));
            mockPostalAddressIntegrationService.Setup(n => n.GetAddressLocationByUDPRN(It.IsAny <int>())).Returns(Task.FromResult(addressLocationDTO));
            mockPostalAddressDataService.Setup(n => n.DeleteNYBPostalAddress(It.IsAny <List <int> >(), It.IsAny <Guid>())).Returns(Task.FromResult(true));

            mockPostalAddressDataService.Setup(n => n.GetPostalAddresses(It.IsAny <List <Guid> >())).ReturnsAsync(new List <PostalAddressDataDTO>()
            {
                new PostalAddressDataDTO()
                {
                    Postcode = "1234"
                }
            });
            mockPostalAddressDataService.Setup(n => n.CheckForDuplicateNybRecords(It.IsAny <PostalAddressDataDTO>(), It.IsAny <Guid>())).Returns("PO1234");
            mockPostalAddressDataService.Setup(n => n.CheckForDuplicateAddressWithDeliveryPoints(It.IsAny <PostalAddressDataDTO>())).Returns(Task.FromResult(true));
            mockPostalAddressDataService.Setup(n => n.CreateAddressForDeliveryPoint(It.IsAny <PostalAddressDataDTO>())).Returns(addressTypeGUID);
            mockPostalAddressDataService.Setup(n => n.GetPostalAddress(It.IsAny <int>())).Returns(Task.FromResult(postalAddressDataDTO));
            mockPostalAddressDataService.Setup(n => n.GetPAFAddress(It.IsAny <int>(), It.IsAny <Guid>())).Returns(Task.FromResult(postalAddressDTO));

            // mockFileProcessingLogDataService.Setup(x => x.LogFileException(It.IsAny<FileProcessingLogDTO>()));

            testCandidate = new DataManagement.PostalAddress.WebAPI.BusinessService.Implementation.PostalAddressBusinessService(mockPostalAddressDataService.Object, mockLoggingHelper.Object, mockConfigurationHelper.Object, mockHttpHandler.Object, mockPostalAddressIntegrationService.Object);
        }
Пример #20
0
        /// <summary>
        /// Setup data
        /// </summary>
        protected override void OnSetup()
        {
            currentUserUnit = "Delivery Office";
            mockDeliveryPointsDataService       = CreateMock <IDeliveryPointsDataService>();
            mockConfigurationDataService        = CreateMock <IConfigurationHelper>();
            mockLoggingDataService              = CreateMock <ILoggingHelper>();
            mockDeliveryPointIntegrationService = CreateMock <IDeliveryPointIntegrationService>();

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockLoggingDataService.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

            List <DeliveryPointDTO> lstDeliveryPointDTO = new List <DeliveryPointDTO>();
            List <RM.CommonLibrary.EntityFramework.Entities.DeliveryPoint> lstDeliveryPoint = new List <RM.CommonLibrary.EntityFramework.Entities.DeliveryPoint>();
            List <PostalAddressDataDTO> lstPostalAddressDTO = new List <PostalAddressDataDTO>()
            {
                new PostalAddressDataDTO
                {
                    BuildingName   = "Bldg 1",
                    BuildingNumber = 23,
                    Postcode       = "123"
                }
            };

            deliveryPointDTO = new DeliveryPointDTO()
            {
                ID = Guid.NewGuid()
            };

            postalAddressesDTO = new List <PostalAddressDTO>()
            {
                new PostalAddressDTO()
                {
                    BuildingName          = "bldg1",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A12")
                },
                new PostalAddressDTO()
                {
                    BuildingName          = "bldg1",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "Postcode",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                    ID = Guid.Empty
                },
                new PostalAddressDTO()
                {
                    BuildingName          = "bldg1",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg",
                    OrganisationName      = null,
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "Postcode",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                    ID = Guid.Empty
                }
            };

            addDeliveryPointDTO = new AddDeliveryPointDTO()
            {
                PostalAddressDTO  = postalAddressesDTO[0],
                DeliveryPointDTO  = deliveryPointDTO,
                RangeType         = "Odds",
                DeliveryPointType = "Range",
                FromRange         = 2,
                ToRange           = 11,
            };
            addDeliveryPointDTO1 = new AddDeliveryPointDTO()
            {
                PostalAddressDTO = postalAddressesDTO[1],
                DeliveryPointDTO = deliveryPointDTO
            };

            deliveryPointModelDTO = new DeliveryPointModelDTO()
            {
                ID          = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                XCoordinate = 12,
                YCoordinate = 10,
                UDPRN       = 123,
                Latitude    = 1,
                Longitude   = 2,
                RowVersion  = BitConverter.GetBytes(1)
            };

            actualDeliveryPointDataDto = new List <DeliveryPointDataDTO>()
            {
                new DeliveryPointDataDTO()
                {
                    ID         = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                    MailVolume = 5, PostalAddress = new PostalAddressDataDTO()
                    {
                        BuildingName          = "bldg1",
                        BuildingNumber        = 1,
                        SubBuildingName       = "subbldg",
                        OrganisationName      = "org",
                        DepartmentName        = "department",
                        Thoroughfare          = "ThoroughFare1",
                        DependentThoroughfare = "DependentThoroughFare1",
                        Postcode     = "PostcodeNew",
                        PostTown     = "PostTown",
                        POBoxNumber  = "POBoxNumber",
                        UDPRN        = 12345,
                        PostcodeType = "xyz",
                        SmallUserOrganisationIndicator = "indicator",
                        DeliveryPointSuffix            = "DeliveryPointSuffix",
                        PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                        AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A11"),
                        ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A12")
                    },
                    NetworkNode = new NetworkNodeDataDTO
                    {
                        ID = Guid.Empty, NetworkNodeType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"), Location = new LocationDataDTO()
                        {
                            Shape = DbGeometry.PointFromText("POINT(512722.70000000019 104752.6799999997)", 27700)
                        }
                    },
                    DeliveryPointStatus = new List <DeliveryPointStatusDataDTO>()
                    {
                        new DeliveryPointStatusDataDTO
                        {
                            ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                        }
                    }
                },
                new DeliveryPointDataDTO()
                {
                    ID         = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A17"),
                    MailVolume = 2, PostalAddress = new PostalAddressDataDTO()
                    {
                        BuildingName          = "bldg2",
                        BuildingNumber        = 1,
                        SubBuildingName       = "subbldg1",
                        OrganisationName      = "org",
                        DepartmentName        = "department",
                        Thoroughfare          = "ThoroughFare1",
                        DependentThoroughfare = "DependentThoroughFare1",
                        Postcode     = "PostcodeNew",
                        PostTown     = "PostTown",
                        POBoxNumber  = "POBoxNumber",
                        UDPRN        = 12345,
                        PostcodeType = "xyz",
                        SmallUserOrganisationIndicator = "indicator",
                        DeliveryPointSuffix            = "DeliveryPointSuffix",
                        PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                        AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                        ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                    },
                    NetworkNode = new NetworkNodeDataDTO
                    {
                        ID = Guid.Empty,
                        NetworkNodeType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                        Location             = new LocationDataDTO()
                        {
                            Shape = DbGeometry.PointFromText("POINT(512722.70000000019 104752.6799999997)", 27700)
                        }
                    },
                    DeliveryPointStatus = new List <DeliveryPointStatusDataDTO>()
                    {
                        new DeliveryPointStatusDataDTO
                        {
                            ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                        }
                    }
                }
            };

            actualDeliveryPointDTO = new DeliveryPointDataDTO()
            {
                ID            = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A17"),
                MailVolume    = 2,
                PostalAddress = new PostalAddressDataDTO()
                {
                    BuildingName          = "bldg2",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg1",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                },
                NetworkNode = new NetworkNodeDataDTO {
                    ID = Guid.Empty, NetworkNodeType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"), Location = new LocationDataDTO()
                    {
                        Shape = DbGeometry.PointFromText("POINT(512722.70000000019 104752.6799999997)", 27700)
                    }
                },
                DeliveryPointStatus = new List <DeliveryPointStatusDataDTO>()
                {
                    new DeliveryPointStatusDataDTO {
                        ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                    }
                }
            };

            AddDeliveryPointDTO actualAddDeliveryPointDTO = new AddDeliveryPointDTO()
            {
                PostalAddressDTO = new PostalAddressDTO()
                {
                    BuildingName          = "bldg2",
                    BuildingNumber        = 1,
                    SubBuildingName       = "subbldg1",
                    OrganisationName      = "org",
                    DepartmentName        = "department",
                    Thoroughfare          = "ThoroughFare1",
                    DependentThoroughfare = "DependentThoroughFare1",
                    Postcode     = "PostcodeNew",
                    PostTown     = "PostTown",
                    POBoxNumber  = "POBoxNumber",
                    UDPRN        = 12345,
                    PostcodeType = "xyz",
                    SmallUserOrganisationIndicator = "indicator",
                    DeliveryPointSuffix            = "DeliveryPointSuffix",
                    PostCodeGUID     = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A15"),
                    AddressType_GUID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19"),
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A19")
                }
            };
            var        locationXy = DbGeometry.PointFromText("POINT(512722.70000000019 104752.6799999997)", 27700);
            DbGeometry location   = DbGeometry.PointFromText("POINT (488938 197021)", 27700);

            List <RM.CommonLibrary.EntityFramework.DTO.ReferenceDataCategoryDTO> referenceData = GetReferenceDataCategory();
            double xLocation = 399545.5590911182;
            double yLocation = 649744.6394892789;

            routeDTO = new RouteDTO
            {
                RouteName   = "Route-001",
                RouteNumber = "001"
            };

            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPoints(It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <string>())).Returns(actualDeliveryPointDataDto);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPoint(It.IsAny <Guid>())).Returns(actualDeliveryPointDTO);
            mockDeliveryPointsDataService.Setup(x => x.GetDetailDeliveryPointByUDPRN(It.IsAny <int>())).Returns(actualAddDeliveryPointDTO);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointsForBasicSearch(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <Guid>(), currentUserUnit)).ReturnsAsync(actualDeliveryPointDataDto);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointsCount(It.IsAny <string>(), It.IsAny <Guid>(), currentUserUnit)).ReturnsAsync(actualDeliveryPointDataDto.Count);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointsForAdvanceSearch(It.IsAny <string>(), It.IsAny <Guid>(), currentUserUnit)).ReturnsAsync(actualDeliveryPointDataDto);

            // GetDeliveryPointsForAdvanceSearch
            mockDeliveryPointsDataService.Setup(x => x.UpdateDeliveryPointLocationOnUDPRN(It.IsAny <DeliveryPointDataDTO>())).Returns(Task.FromResult(1));

            mockDeliveryPointsDataService.Setup(x => x.UpdatePAFIndicator(It.IsAny <Guid>(), It.IsAny <Guid>())).ReturnsAsync(true);

            mockDeliveryPointIntegrationService.Setup(x => x.CheckForDuplicateNybRecords(It.IsAny <PostalAddressDTO>())).Returns(Task.FromResult("ABC"));
            mockDeliveryPointIntegrationService.Setup(x => x.CheckForDuplicateAddressWithDeliveryPoints(It.IsAny <PostalAddressDTO>())).Returns(Task.FromResult(true));
            mockDeliveryPointIntegrationService.Setup(x => x.CreateAddressForDeliveryPoint(It.IsAny <AddDeliveryPointDTO>())).ReturnsAsync(new CreateDeliveryPointModelDTO()
            {
                ID = Guid.NewGuid(), IsAddressLocationAvailable = true, Message = "Delivery Point Created", XCoordinate = xLocation, YCoordinate = yLocation
            });
            mockDeliveryPointIntegrationService.Setup(x => x.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).ReturnsAsync(referenceData);
            mockDeliveryPointIntegrationService.Setup(x => x.GetApproxLocation(It.IsAny <string>())).ReturnsAsync(location);
            mockDeliveryPointsDataService.Setup(x => x.InsertDeliveryPoint(It.IsAny <DeliveryPointDataDTO>())).ReturnsAsync(Guid.NewGuid());
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointRowVersion(It.IsAny <Guid>())).Returns(BitConverter.GetBytes(1));
            mockDeliveryPointIntegrationService.Setup(x => x.MapRouteForDeliveryPoint(It.IsAny <Guid>(), It.IsAny <Guid>())).ReturnsAsync(true);
            mockDeliveryPointIntegrationService.Setup(x => x.GetReferenceDataGuId(It.IsAny <string>(), It.IsAny <string>())).Returns(Guid.NewGuid());
            mockDeliveryPointsDataService.Setup(x => x.UpdateDeliveryPointLocationOnID(It.IsAny <DeliveryPointDataDTO>())).ReturnsAsync(Guid.NewGuid());
            mockDeliveryPointIntegrationService.Setup(x => x.CreateAddressForDeliveryPointForRange(It.IsAny <List <PostalAddressDTO> >())).ReturnsAsync(new List <CreateDeliveryPointModelDTO> {
                new CreateDeliveryPointModelDTO()
                {
                    ID = new Guid("019DBBBB-03FB-489C-8C8D-F1085E0D2A12"), IsAddressLocationAvailable = true, Message = "Delivery Point Created", XCoordinate = xLocation, YCoordinate = yLocation
                }
            });
            mockDeliveryPointIntegrationService.Setup(x => x.GetRouteForDeliveryPoint(It.IsAny <Guid>())).ReturnsAsync(routeDTO);

            mockDeliveryPointsDataService.Setup(x => x.DeliveryPointExists(It.IsAny <int>())).ReturnsAsync(true);

            mockDeliveryPointsDataService.Setup(x => x.UpdateDeliveryPointLocationOnUDPRN(It.IsAny <DeliveryPointDataDTO>())).ReturnsAsync(5);

            mockDeliveryPointIntegrationService.Setup(x => x.CreateAccessLink(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(true);
            mockDeliveryPointIntegrationService.Setup(x => x.CheckForDuplicateNybRecords(It.IsAny <PostalAddressDTO>())).ReturnsAsync("123");
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointByUDPRN(It.IsAny <int>())).ReturnsAsync(actualDeliveryPointDTO);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointByPostalAddress(It.IsAny <Guid>())).Returns(actualDeliveryPointDTO);

            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointsCrossingOperationalObject(It.IsAny <string>(), It.IsAny <DbGeometry>())).Returns(actualDeliveryPointDataDto);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPoint(It.IsAny <Guid>())).Returns(actualDeliveryPointDTO);
            mockDeliveryPointsDataService.Setup(x => x.GetDeliveryPointByPostalAddressWithLocation(It.IsAny <Guid>())).ReturnsAsync(actualDeliveryPointDTO);

            testCandidate = new DeliveryPointBusinessService(mockDeliveryPointsDataService.Object, mockLoggingDataService.Object, mockConfigurationDataService.Object, mockDeliveryPointIntegrationService.Object);
        }
        /// <summary>
        /// Setup for Nunit Tests.
        /// </summary>
        protected override void OnSetup()
        {
            accessLinkManualCreateModelDTO = new AccessLinkManualCreateModelDTO
            {
                AccessLinkLine           = "[[512455.33999999985,107127.7899999991],[512454.8208646417,107129.43228437999],[512474,107139]]",
                BoundingBoxCoordinates   = "511684.44432227453,106504.23168359262,513419.32779204147,107103.43288199503",
                NetworkLinkGUID          = "c55712fe-ce92-4386-a0a5-e9a158b15441",
                OperationalObjectGUID    = "ffc86397-fbb5-4caf-a070-aca8d723de57",
                Workloadlength           = 40,
                NetworkIntersectionPoint = "[512455.33999999985,107127.7899999991]",
                OperationalObjectPoint   = "[512455.33999999985,107127.7899999991]"
            };

            deliveryPointDTO = new DeliveryPointDTO
            {
                LocationXY    = DbGeometry.PointFromText("POINT (488938 197021)", 27700),
                Latitude      = (decimal)50.83133590,
                Longitude     = (decimal) - 0.40071150,
                Positioned    = true,
                UDPRN         = 2364534,
                PostalAddress = new RM.CommonLibrary.EntityFramework.DTO.PostalAddressDTO
                {
                    Thoroughfare = "Salvington Gardens"
                },
                DeliveryPointUseIndicator_GUID = Guid.Parse("178EDCAD-9431-E711-83EC-28D244AEF9ED")
            };

            accessLinkDTO = new List <AccessLinkDTO>()
            {
                new AccessLinkDTO()
                {
                    ID = Guid.Parse("3981AD3B-D253-4BD9-AB82-000094D8EE67"),
                    OperationalObjectPoint   = DbGeometry.PointFromText("POINT (488938 197021)", 27700),
                    NetworkIntersectionPoint = DbGeometry.PointFromText("POINT (488929.9088937093 197036.37310195228)", 27700),
                    AccessLinkLine           = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700),
                    NetworkLink_GUID         = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F")
                }
            };

            networkLink = new NetworkLinkDTO
            {
                Id   = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F"),
                TOID = "osgb4000000023358315",
                NetworkLinkType_GUID = Guid.Parse("09CE57B1-AF13-4F8E-B4AF-1DE35B4A68A8"),
                LinkGeometry         = DbGeometry.LineFromText("LINESTRING (488952 197048, 488895 197018, 488888 197014, 488880 197008)", 27700)
            };

            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
            SqlGeometry        networkIntersectionPoint    = SqlGeometry.Null;
            List <SqlGeometry> lstnetworkIntersectionPoint = new List <SqlGeometry>();

            try
            {
                networkIntersectionPoint = accessLinkDTO[0].OperationalObjectPoint.ToSqlGeometry().ShortestLineTo(networkLink.LinkGeometry.ToSqlGeometry()).STEndPoint();
                lstnetworkIntersectionPoint.Add(networkIntersectionPoint);
            }
            catch (Exception)
            {
            }

            Tuple <NetworkLinkDTO, SqlGeometry>         tuple  = new Tuple <NetworkLinkDTO, SqlGeometry>(networkLink, networkIntersectionPoint);
            List <Tuple <NetworkLinkDTO, SqlGeometry> > tuple1 = new List <Tuple <NetworkLinkDTO, SqlGeometry> > {
                new Tuple <NetworkLinkDTO, SqlGeometry>(networkLink, networkIntersectionPoint)
            };

            List <ReferenceDataCategoryDTO> refDataCategotyDTO = new List <ReferenceDataCategoryDTO>()
            {
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkType,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.AccessLinkTypeDefault,
                            ID = Guid.Parse("4DBA7B39-D23E-493A-9B8F-B94D181A082F")
                        },

                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.UserDefined,
                            ID = Guid.Parse("DA8F1A91-2E2B-4EEF-9A81-9B18A917CBF1")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkDirection,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.AccessLinkDirectionBoth,
                            ID = Guid.Parse("5DBA7B39-D23E-493A-9B8F-B94D181A082F")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkStatus,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.AccessLinkStatusLive,
                            ID = Guid.Parse("6DBA7B39-D23E-493A-9B8F-B94D181A082F")
                        },
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingApproval,
                            ID = Guid.Parse("7DBA7B39-D23E-493A-9B8F-B94D181A082F")
                        },
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = null,
                            ReferenceDataValue = ReferenceDataValues.AccessLinkStatusDraftPendingReview,
                            ID = Guid.Parse("7B90B2F9-F62F-E711-8735-28D244AEF9ED")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.OperationalObjectType,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = ReferenceDataValues.OperationalObjectTypeDP,
                            ReferenceDataValue = ReferenceDataValues.OperationalObjectTypeDP,
                            ID = Guid.Parse("415c9129-0615-457e-98b7-3a60436320c5")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkParameters,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = ReferenceDataValues.AccessLinkSameRoadMaxDistance,
                            ReferenceDataValue = "25",
                            ID = Guid.Parse("9DBA7B39-D23E-493A-9B8F-B94D181A082F")
                        },
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = ReferenceDataValues.AccessLinkDiffRoadMaxDistance,
                            ReferenceDataValue = "1",
                            ID = Guid.Parse("3DBA7B39-D23E-493A-9B8F-B94D181A081F")
                        },
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.NetworkLinkType,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = ReferenceDataValues.AccessLinkDiffRoadMaxDistance,
                            ReferenceDataValue = "Road Link",
                            ID = Guid.Parse("09ce57b1-af13-4f8e-b4af-1de35b4a68a8")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkParameters,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = "Local Road",
                            ReferenceDataValue = "1",
                            ID = Guid.Parse("4DBA7B35-D23E-493A-9B8F-B94D181A082F")
                        }
                    }
                },
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.DeliveryPointUseIndicator,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = "DeliveryPointUseIndicator",
                            ReferenceDataValue = "Residential",
                            ID = Guid.Parse("178edcad-9431-e711-83ec-28d244aef9ed")
                        }
                    }
                },
            };

            loggingHelperMock = CreateMock <ILoggingHelper>();

            // Setup Methods.
            mockaccessLinkDataService        = new Mock <IAccessLinkDataService>();
            mockAccessLinkIntegrationService = CreateMock <IAccessLinkIntegrationService>();
            mockaccessLinkDataService.Setup(x => x.GetAccessLinks(It.IsAny <string>(), It.IsAny <Guid>())).Returns(It.IsAny <List <AccessLinkDataDTO> >);
            mockaccessLinkDataService.Setup(x => x.GetAccessLinksCrossingOperationalObject(It.IsAny <string>(), It.IsAny <DbGeometry>())).Returns(default(bool));
            mockaccessLinkDataService.Setup(x => x.DeleteAccessLink(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <Guid>())).ReturnsAsync(true);
            mockAccessLinkIntegrationService.Setup(x => x.GetReferenceDataNameValuePairs(It.IsAny <List <string> >())).ReturnsAsync(new List <ReferenceDataCategoryDTO>()
            {
            });
            mockAccessLinkIntegrationService.Setup(x => x.GetReferenceDataSimpleLists(It.IsAny <List <string> >())).ReturnsAsync(refDataCategotyDTO);
            mockAccessLinkIntegrationService.Setup(x => x.GetDeliveryPoint(It.IsAny <Guid>())).ReturnsAsync(deliveryPointDTO);
            mockAccessLinkIntegrationService.Setup(x => x.GetNearestNamedRoad(It.IsAny <DbGeometry>(), It.IsAny <string>())).ReturnsAsync(tuple);
            mockAccessLinkIntegrationService.Setup(x => x.GetNearestSegment(It.IsAny <DbGeometry>())).ReturnsAsync(tuple1);
            mockAccessLinkIntegrationService.Setup(x => x.GetOSRoadLink(It.IsAny <string>())).ReturnsAsync("Local Road");
            mockAccessLinkIntegrationService.Setup(x => x.GetCrossingNetworkLinks(It.IsAny <string>(), It.IsAny <DbGeometry>())).ReturnsAsync(new List <NetworkLinkDTO>()
            {
            });
            mockAccessLinkIntegrationService.Setup(x => x.GetDeliveryPointsCrossingOperationalObject(It.IsAny <string>(), It.IsAny <DbGeometry>())).ReturnsAsync(new List <DeliveryPointDTO>()
            {
            });
            mockAccessLinkIntegrationService.Setup(x => x.GetNetworkLink(It.IsAny <Guid>())).ReturnsAsync(networkLink);

            mockaccessLinkDataService.Setup(x => x.CreateAccessLink(It.IsAny <AccessLinkDataDTO>())).Returns(true);

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            loggingHelperMock.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            testCandidate = new AccessLinkBusinessService(mockaccessLinkDataService.Object, loggingHelperMock.Object, mockAccessLinkIntegrationService.Object);
        }
Пример #22
0
        private static Point3D extractPoint(int noareas, JObject feature, List <Point3D> badPolygonsPoints, Point3D.PointType pointType)
        {
            Point3D toReturn = new Point3D();

            toReturn.Level = int.Parse(feature["properties"]["level"].ToString());
            //if (toReturn.Level == 6)
            //   Debugger.Break();
            toReturn.IsAccessible = Boolean.Parse(feature["properties"]["accessible"].ToString());
            StringBuilder wktsb = new StringBuilder("POINT (");
            var           j     = feature["geometry"]["coordinates"];
            string        lon   = Regex.Match(j.ToString(), "34\\.\\d+").Value;
            string        lat   = Regex.Match(j.ToString(), "32\\.\\d+").Value;

            wktsb.Append(lon + " " + lat);
            wktsb.Append(")");
            toReturn.Wkt       = wktsb.ToString();
            toReturn.LocationG = DbGeometry.PointFromText(wktsb.ToString(), 4326);
            toReturn.Name      = feature["properties"]["attrs"]["name"].ToString();
            //if (toReturn.Name.ToLower().Contains("level"))
            //  Debugger.Break();
            toReturn.Latitude  = Decimal.Parse(lat);
            toReturn.Longitude = Decimal.Parse(lon);
            if (feature["properties"]["attrs"]["Name2"] != null)
            {
                toReturn.Name2 = feature["properties"]["attrs"]["Name2"].ToString();
            }
            if (pointType != Point3D.PointType.UNDEFINED)
            {
                toReturn.Type = pointType;
            }
            //if (toReturn.Name != null && toReturn.Name.Contains("כלי זמר"))
            //    Debugger.Break();
            toReturn.Areas = new List <Area>();
            if ((feature["properties"]["attrs"]["AreaID"] != null && !feature["properties"]["attrs"]["AreaID"].ToString().Equals(""))
                | (feature["properties"]["attrs"]["AREAID"] != null && !feature["properties"]["attrs"]["AREAID"].ToString().Equals("")))
            {
                if (feature["properties"]["attrs"]["AreaID"] != null && !feature["properties"]["attrs"]["AreaID"].ToString().Equals(""))
                {
                    Area area = new Area(feature["properties"]["attrs"]["AreaID"].ToString());
                    toReturn.Areas.Add(area);
                }
                if (feature["properties"]["attrs"]["AREAID"] != null && !feature["properties"]["attrs"]["AREAID"].ToString().Equals(""))
                {
                    Area area = new Area(feature["properties"]["attrs"]["AREAID"].ToString());
                    toReturn.Areas.Add(area);
                }
                int index = 2;
                while (feature["properties"]["attrs"]["AREAID" + index] != null)
                {
                    if (feature["properties"]["attrs"]["AREAID" + index].ToString() != "")
                    {
                        toReturn.Areas.Add(new Area(feature["properties"]["attrs"]["AREAID" + index].ToString()));
                    }
                    index++;
                }
                while (feature["properties"]["attrs"]["AreaID" + index] != null)
                {
                    if (feature["properties"]["attrs"]["AreaID" + index].ToString() != "")
                    {
                        toReturn.Areas.Add(new Area(feature["properties"]["attrs"]["AreaID" + index].ToString()));
                    }
                    index++;
                }
            }
            else
            {
                noareas++;
            }
            if (badPolygonsPoints != null && (toReturn.Name.ToUpper().Contains("PASSAGES") | toReturn.Name.ToUpper().Contains("ROADWALK")))
            {
                badPolygonsPoints.Add(toReturn);
            }
            return(toReturn);
        }
        /// <summary>
        /// Data and Methods setup required to run test methods
        /// </summary>
        protected override void OnSetup()
        {
            // Data setup
            unit1Guid                = new Guid("8534AA41-391F-4579-A18D-D7EDF5B5F918");
            currentUserUnitType      = "Delivery Office";
            mockIConfigurationHelper = CreateMock <IConfigurationHelper>();

            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

            var unitBoundary = DbGeometry.PolygonFromText("POLYGON ((505058.162109375 100281.69677734375, 518986.84887695312 100281.69677734375, 518986.84887695312 114158.546875, 505058.162109375 114158.546875, 505058.162109375 100281.69677734375))", 27700);

            accessLinkLine = DbGeometry.LineFromText("LINESTRING (488938 197021, 488929.9088937093 197036.37310195228)", 27700);
            point          = DbGeometry.PointFromText("POINT (488938 197021)", 27700);

            var streetNamesList = new List <StreetName>()
            {
                new StreetName()
                {
                    ID = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad1", DesignatedName = "XYZ1", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8234AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad2", DesignatedName = "XYZ2", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8334AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad3", DesignatedName = "XYZ3", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8434AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad4", DesignatedName = "XYZ4", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8534AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad5", DesignatedName = "XYZ5", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8634AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad6", DesignatedName = "XYZ6", Geometry = unitBoundary
                },
                new StreetName()
                {
                    ID = new Guid("8734AA41-391F-4579-A18D-D7EDF5B5F918"), StreetType = "t1", Descriptor = "d1", NationalRoadCode = "Testroad7", DesignatedName = "XYZ7", Geometry = unitBoundary
                }
            };

            var networkLinkList = new List <NetworkLink>()
            {
                new NetworkLink()
                {
                    LinkGeometry        = accessLinkLine,
                    StreetNameGUID      = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F918"),
                    NetworkLinkTypeGUID = Guid.Empty,
                    ID = new Guid("8134AA41-391F-4579-A18D-D7EDF5B5F911")
                }
            };

            List <Location> locationList = new List <Location>()
            {
                new Location()
                {
                    ID    = unit1Guid,
                    Shape = unitBoundary
                }
            };

            referenceDataCategoryList = new List <ReferenceDataCategoryDTO>()
            {
                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.NetworkLinkType,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataValue = ReferenceDataValues.NetworkLinkPathLink
                        }
                    },
                    Id = new Guid("1534AA41-391F-4579-A18D-D7EDF5B5F918")
                },

                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.NetworkLinkType,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataValue = ReferenceDataValues.NetworkLinkRoadLink
                        }
                    },
                    Id = new Guid("2534AA41-391F-4579-A18D-D7EDF5B5F918")
                },

                new ReferenceDataCategoryDTO()
                {
                    CategoryName   = ReferenceDataCategoryNames.AccessLinkParameters,
                    ReferenceDatas = new List <ReferenceDataDTO>()
                    {
                        new ReferenceDataDTO()
                        {
                            ReferenceDataName  = ReferenceDataValues.AccessLinkDiffRoadMaxDistance,
                            ReferenceDataValue = "5"
                        }
                    },
                    Id = new Guid("3534AA41-391F-4579-A18D-D7EDF5B5F918")
                }
            };

            mockNetworkDBContext = CreateMock <NetworkDBContext>();
            mockILoggingHelper   = CreateMock <ILoggingHelper>();

            // Setup for StreetName
            var mockAsynEnumerable = new DbAsyncEnumerable <StreetName>(streetNamesList);
            var mockStreetName     = MockDbSet(streetNamesList);

            mockStreetName.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable.AsQueryable().Provider);
            mockStreetName.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable.AsQueryable().Expression);
            mockStreetName.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable.AsQueryable().ElementType);
            mockStreetName.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <StreetName>)mockAsynEnumerable).GetAsyncEnumerator());
            mockNetworkDBContext.Setup(x => x.Set <StreetName>()).Returns(mockStreetName.Object);
            mockNetworkDBContext.Setup(x => x.StreetNames).Returns(mockStreetName.Object);
            mockStreetName.Setup(x => x.AsNoTracking()).Returns(mockStreetName.Object);

            // Setup for Location
            var mockAsynEnumerable1 = new DbAsyncEnumerable <Location>(locationList);
            var mockLocation        = MockDbSet(locationList);

            mockLocation.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable1.AsQueryable().Provider);
            mockLocation.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable1.AsQueryable().Expression);
            mockLocation.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable1.AsQueryable().ElementType);
            mockLocation.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <Location>)mockAsynEnumerable1).GetAsyncEnumerator());
            mockNetworkDBContext.Setup(x => x.Set <Location>()).Returns(mockLocation.Object);
            mockNetworkDBContext.Setup(x => x.Locations).Returns(mockLocation.Object);
            mockLocation.Setup(x => x.AsNoTracking()).Returns(mockLocation.Object);

            // Setup for NetworkLink
            var mockAsynEnumerable3 = new DbAsyncEnumerable <NetworkLink>(networkLinkList);
            var mockNetworkLink     = MockDbSet(networkLinkList);

            mockNetworkLink.As <IQueryable>().Setup(mock => mock.Provider).Returns(mockAsynEnumerable3.AsQueryable().Provider);
            mockNetworkLink.As <IQueryable>().Setup(mock => mock.Expression).Returns(mockAsynEnumerable3.AsQueryable().Expression);
            mockNetworkLink.As <IQueryable>().Setup(mock => mock.ElementType).Returns(mockAsynEnumerable3.AsQueryable().ElementType);
            mockNetworkLink.As <IDbAsyncEnumerable>().Setup(mock => mock.GetAsyncEnumerator()).Returns(((IDbAsyncEnumerable <NetworkLink>)mockAsynEnumerable3).GetAsyncEnumerator());
            mockNetworkDBContext.Setup(x => x.Set <NetworkLink>()).Returns(mockNetworkLink.Object);
            mockNetworkDBContext.Setup(x => x.NetworkLinks).Returns(mockNetworkLink.Object);
            mockNetworkDBContext.Setup(x => x.NetworkLinks.AsNoTracking()).Returns(mockNetworkLink.Object);

            // Mock trace manager
            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockILoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            mockIConfigurationHelper.Setup(x => x.ReadAppSettingsConfigurationValues(It.IsAny <string>())).Returns("5");
            mockDatabaseFactory = CreateMock <IDatabaseFactory <NetworkDBContext> >();
            mockDatabaseFactory.Setup(x => x.Get()).Returns(mockNetworkDBContext.Object);
            testCandidate = new StreetNetworkDataService(mockDatabaseFactory.Object, mockILoggingHelper.Object, mockIConfigurationHelper.Object);
        }
Пример #24
0
                private static IEnumerable <MethodInfo> GetSupportedMethods()
                {
                    yield return(GetStaticMethod(() => DbGeography.FromText(default(string))));

                    yield return(GetStaticMethod(() => DbGeography.FromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.PointFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.LineFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.PolygonFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiPointFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiLineFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiPolygonFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.GeographyCollectionFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]))));

                    yield return(GetStaticMethod(() => DbGeography.PointFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.LineFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.PolygonFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiPointFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiLineFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.MultiPolygonFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.GeographyCollectionFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeography.FromGml(default(string))));

                    yield return(GetStaticMethod(() => DbGeography.FromGml(default(string), default(int))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.AsBinary()));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.AsGml()));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.AsText()));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.SpatialEquals(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Disjoint(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Intersects(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Buffer(default(double))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Distance(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Intersection(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Union(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.Difference(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.SymmetricDifference(default(DbGeography))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.ElementAt(default(int))));

                    yield return(GetInstanceMethod((DbGeography geo) => geo.PointAt(default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.FromText(default(string))));

                    yield return(GetStaticMethod(() => DbGeometry.FromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.PointFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.LineFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.PolygonFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiPointFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiLineFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiPolygonFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.GeometryCollectionFromText(default(string), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]))));

                    yield return(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.PointFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.LineFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.PolygonFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiPointFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiLineFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.MultiPolygonFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.GeometryCollectionFromBinary(default(byte[]), default(int))));

                    yield return(GetStaticMethod(() => DbGeometry.FromGml(default(string))));

                    yield return(GetStaticMethod(() => DbGeometry.FromGml(default(string), default(int))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.AsBinary()));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.AsGml()));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.AsText()));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.SpatialEquals(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Disjoint(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Intersects(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Touches(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Crosses(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Within(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Contains(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Overlaps(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Relate(default(DbGeometry), default(string))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Buffer(default(double))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Distance(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Intersection(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Union(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.Difference(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.SymmetricDifference(default(DbGeometry))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.ElementAt(default(int))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.PointAt(default(int))));

                    yield return(GetInstanceMethod((DbGeometry geo) => geo.InteriorRingAt(default(int))));
                }
Пример #25
0
        private void InsertGolfStore(MallBuddyApi.Models.ApplicationDbContext context)
        {
            try
            {
                var golf = new Store
                {
                    Name           = "GOLF",
                    Type           = POI.POIType.STORE,
                    Anchor         = new Point3D(),
                    Schedule       = new List <Models.existing.OpeningHoursSpan>(),
                    Enabled        = true,
                    WebsiteLink    = "http://www.dizengof-center.co.il/GOLF.aspx",
                    ImageUrl       = "http://www.dizengof-center.co.il/manage-pages/uploaded-files/a_03-07-2011-15-37-5.jpg",
                    Location       = new Polygone(),
                    ContactDetails = new ContactDetails {
                        PoiName = "GOLF", Phone1 = "03-5283163", Address = "www.golf.co.il"
                    },
                    //Category = "Fashion",
                };
                var schedule1 = new List <OpeningHoursSpan>();
                var weekday   = new OpeningHoursSpan {
                    day = DayOfWeek.Sunday, from = 10, to = 2130
                };
                var friday = new OpeningHoursSpan {
                    day = DayOfWeek.Friday, from = 0930, to = 1530
                };
                var saturday = new OpeningHoursSpan {
                    day = DayOfWeek.Saturday, from = 20, to = 2230
                };
                schedule1.Add(weekday); schedule1.Add(friday); schedule1.Add(saturday);
                golf.Schedule = schedule1;

                Polygone poly = new Polygone
                {
                    Accessible = true,
                    Areas      = new List <Area> {
                        new Area {
                            AreaID = "0401"
                        }, new Area {
                            AreaID = "0401A"
                        }
                    },
                    Wkt       = "POLYGON ((34.775053932498516 32.07540339193275,34.77499915806167 32.07548404017222,34.77497984348338 32.07549149508553, 34.774953825764996 32.07549049106811,34.774935077805786 32.07547970303128,34.77491144862596 32.07545506831342,34.77490455271353 32.07544820193738, 34.77489280495869 32.075426482513976, 34.774889877466975 32.07541821355505,34.774886213457535 32.07540786423455,34.77488379926684 32.075401045136886,34.774871958289275 32.07534718017001,34.77487191400818 32.0752896316811,34.77492920795574 32.075324825765655,34.775053932498516 32.07540339193275,34.775053932498516 32.07540339193275))",
                    LocationG = DbGeometry.PolygonFromText("POLYGON ((34.775053932498516 32.07540339193275,34.77499915806167 32.07548404017222,34.77497984348338 32.07549149508553, 34.774953825764996 32.07549049106811,34.774935077805786 32.07547970303128,34.77491144862596 32.07545506831342,34.77490455271353 32.07544820193738, 34.77489280495869 32.075426482513976, 34.774889877466975 32.07541821355505,34.774886213457535 32.07540786423455,34.77488379926684 32.075401045136886,34.774871958289275 32.07534718017001,34.77487191400818 32.0752896316811,34.77492920795574 32.075324825765655,34.775053932498516 32.07540339193275,34.775053932498516 32.07540339193275))", 4326),
                    Points    = new List <Point3D>()
                };
                var Point3D1 = new Point3D {
                    Level = 2, Longitude = 34.775053932498516m, Latitude = 32.07540339193275m, Wkt = "POINT(34.775053932498516 32.07540339193275)", LocationG = DbGeometry.PointFromText("POINT(34.775053932498516 32.07540339193275)", 4326)
                };
                var Point3D2 = new Point3D {
                    Level = 2, Longitude = 34.77499915806167m, Latitude = 32.07548404017222m, Wkt = "POINT(34.77499915806167 32.07548404017222)", LocationG = DbGeometry.PointFromText("POINT(34.77499915806167 32.07548404017222)", 4326)
                };
                var Point3D3 = new Point3D {
                    Level = 2, Longitude = 34.77497984348338m, Latitude = 32.07549149508553m, Wkt = "POINT(34.77497984348338 32.07549149508553)", LocationG = DbGeometry.PointFromText("POINT(34.77497984348338 32.07549149508553)", 4326)
                };
                var Point3D4 = new Point3D {
                    Level = 2, Longitude = 34.774953825764996m, Latitude = 32.07549049106811m, Wkt = "POINT(34.774953825764996 32.07549049106811)", LocationG = DbGeometry.PointFromText("POINT(34.774953825764996 32.07549049106811)", 4326)
                };
                poly.Points.Add(Point3D1); poly.Points.Add(Point3D2); poly.Points.Add(Point3D3); poly.Points.Add(Point3D4);
                golf.Location = poly;
                context.Stores.AddOrUpdate(golf);
                //context.
                SaveChanges(context);
            }

            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
        }
        protected override void OnSetup()
        {
            SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);

            mockLoggingHelper = CreateMock <ILoggingHelper>();

            unit1Guid = Guid.NewGuid();
            unit2Guid = Guid.NewGuid();
            unit3Guid = Guid.NewGuid();
            user1Id   = System.Guid.NewGuid();
            user2Id   = System.Guid.NewGuid();

            var unitBoundary = DbGeometry.PolygonFromText("POLYGON((511570.8590967182 106965.35195621933, 511570.8590967182 107474.95297542136, 512474.1409032818 107474.95297542136, 512474.1409032818 106965.35195621933, 511570.8590967182 106965.35195621933))", 27700);

            var unitLocation = new List <UnitLocation>()
            {
                new UnitLocation()
                {
                    UnitName = "unit1", ExternalId = "extunit1", ID = unit1Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> {
                        new UserRoleUnit {
                            Unit_GUID = unit1Guid, User_GUID = user1Id
                        }
                    }
                },
                new UnitLocation()
                {
                    UnitName = "unit2", ExternalId = "extunit2", ID = unit2Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> {
                        new UserRoleUnit {
                            Unit_GUID = unit2Guid, User_GUID = user1Id
                        }
                    }
                },
                new UnitLocation()
                {
                    UnitName = "unit3", ExternalId = "extunit2", ID = unit3Guid, UnitBoundryPolygon = unitBoundary, UserRoleUnits = new List <UserRoleUnit> {
                        new UserRoleUnit {
                            Unit_GUID = unit3Guid, User_GUID = user2Id
                        }
                    }
                }
            };

            var accessLink = new List <AccessLink>()
            {
                new AccessLink()
                {
                    AccessLinkLine = unitBoundary,
                    ID             = Guid.NewGuid()
                }
            };

            accessLinkDto = new AccessLinkDTO()
            {
                OperationalObjectPoint   = DbGeometry.PointFromText("POINT (488938 197021)", 27700),
                NetworkIntersectionPoint = null,
                AccessLinkLine           = null,
                ActualLengthMeter        = 3,
                WorkloadLengthMeter      = 5,
                Approved = true,
                OperationalObject_GUID = Guid.NewGuid()
            };

            var mockAsynEnumerable        = new DbAsyncEnumerable <AccessLink>(accessLink);
            var mockAccessLinkDataService = MockDbSet(accessLink);

            mockFmoDbContext = CreateMock <RMDBContext>();
            mockFmoDbContext.Setup(x => x.Set <AccessLink>()).Returns(mockAccessLinkDataService.Object);
            mockFmoDbContext.Setup(x => x.AccessLinks).Returns(mockAccessLinkDataService.Object);
            mockFmoDbContext.Setup(c => c.AccessLinks.AsNoTracking()).Returns(mockAccessLinkDataService.Object);
            mockAccessLinkDataService.Setup(x => x.Include(It.IsAny <string>())).Returns(mockAccessLinkDataService.Object);
            var mockAsynEnumerable2        = new DbAsyncEnumerable <UnitLocation>(unitLocation);
            var mockAccessLinkDataService2 = MockDbSet(unitLocation);

            mockFmoDbContext.Setup(x => x.Set <UnitLocation>()).Returns(mockAccessLinkDataService2.Object);
            mockFmoDbContext.Setup(x => x.UnitLocations).Returns(mockAccessLinkDataService2.Object);
            mockFmoDbContext.Setup(c => c.UnitLocations.AsNoTracking()).Returns(mockAccessLinkDataService2.Object);
            mockAccessLinkDataService2.Setup(x => x.Include(It.IsAny <string>())).Returns(mockAccessLinkDataService2.Object);
            mockDatabaseFactory = CreateMock <IDatabaseFactory <RMDBContext> >();
            mockDatabaseFactory.Setup(x => x.Get()).Returns(mockFmoDbContext.Object);

            var rmTraceManagerMock = new Mock <IRMTraceManager>();

            rmTraceManagerMock.Setup(x => x.StartTrace(It.IsAny <string>(), It.IsAny <Guid>()));
            mockLoggingHelper.Setup(x => x.RMTraceManager).Returns(rmTraceManagerMock.Object);

            testCandidate = new AccessLinkDataService(mockDatabaseFactory.Object, mockLoggingHelper.Object);
        }
Пример #27
0
                private static Dictionary <MethodInfo, string> GetRenamedMethodFunctions()
                {
                    var result = new Dictionary <MethodInfo, string>();

                    result.Add(GetStaticMethod(() => DbGeography.FromText(default(string))), "GeographyFromText");
                    result.Add(GetStaticMethod(() => DbGeography.FromText(default(string), default(int))), "GeographyFromText");
                    result.Add(GetStaticMethod(() => DbGeography.PointFromText(default(string), default(int))), "GeographyPointFromText");
                    result.Add(GetStaticMethod(() => DbGeography.LineFromText(default(string), default(int))), "GeographyLineFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeography.PolygonFromText(default(string), default(int))), "GeographyPolygonFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiPointFromText(default(string), default(int))), "GeographyMultiPointFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiLineFromText(default(string), default(int))), "GeographyMultiLineFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiPolygonFromText(default(string), default(int))),
                        "GeographyMultiPolygonFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeography.GeographyCollectionFromText(default(string), default(int))),
                        "GeographyCollectionFromText");
                    result.Add(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]), default(int))), "GeographyFromBinary");
                    result.Add(GetStaticMethod(() => DbGeography.FromBinary(default(byte[]))), "GeographyFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.PointFromBinary(default(byte[]), default(int))), "GeographyPointFromBinary");
                    result.Add(GetStaticMethod(() => DbGeography.LineFromBinary(default(byte[]), default(int))), "GeographyLineFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.PolygonFromBinary(default(byte[]), default(int))), "GeographyPolygonFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiPointFromBinary(default(byte[]), default(int))),
                        "GeographyMultiPointFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiLineFromBinary(default(byte[]), default(int))),
                        "GeographyMultiLineFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.MultiPolygonFromBinary(default(byte[]), default(int))),
                        "GeographyMultiPolygonFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeography.GeographyCollectionFromBinary(default(byte[]), default(int))),
                        "GeographyCollectionFromBinary");
                    result.Add(GetStaticMethod(() => DbGeography.FromGml(default(string))), "GeographyFromGml");
                    result.Add(GetStaticMethod(() => DbGeography.FromGml(default(string), default(int))), "GeographyFromGml");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.AsBinary()), "AsBinary");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.AsGml()), "AsGml");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.AsText()), "AsText");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.SpatialEquals(default(DbGeography))), "SpatialEquals");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Disjoint(default(DbGeography))), "SpatialDisjoint");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Intersects(default(DbGeography))), "SpatialIntersects");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Buffer(default(double))), "SpatialBuffer");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Distance(default(DbGeography))), "Distance");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Intersection(default(DbGeography))), "SpatialIntersection");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Union(default(DbGeography))), "SpatialUnion");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.Difference(default(DbGeography))), "SpatialDifference");
                    result.Add(
                        GetInstanceMethod((DbGeography geo) => geo.SymmetricDifference(default(DbGeography))), "SpatialSymmetricDifference");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.ElementAt(default(int))), "SpatialElementAt");
                    result.Add(GetInstanceMethod((DbGeography geo) => geo.PointAt(default(int))), "PointAt");
                    result.Add(GetStaticMethod(() => DbGeometry.FromText(default(string))), "GeometryFromText");
                    result.Add(GetStaticMethod(() => DbGeometry.FromText(default(string), default(int))), "GeometryFromText");
                    result.Add(GetStaticMethod(() => DbGeometry.PointFromText(default(string), default(int))), "GeometryPointFromText");
                    result.Add(GetStaticMethod(() => DbGeometry.LineFromText(default(string), default(int))), "GeometryLineFromText");
                    result.Add(GetStaticMethod(() => DbGeometry.PolygonFromText(default(string), default(int))), "GeometryPolygonFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiPointFromText(default(string), default(int))), "GeometryMultiPointFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiLineFromText(default(string), default(int))), "GeometryMultiLineFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiPolygonFromText(default(string), default(int))),
                        "GeometryMultiPolygonFromText");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.GeometryCollectionFromText(default(string), default(int))),
                        "GeometryCollectionFromText");
                    result.Add(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]))), "GeometryFromBinary");
                    result.Add(GetStaticMethod(() => DbGeometry.FromBinary(default(byte[]), default(int))), "GeometryFromBinary");
                    result.Add(GetStaticMethod(() => DbGeometry.PointFromBinary(default(byte[]), default(int))), "GeometryPointFromBinary");
                    result.Add(GetStaticMethod(() => DbGeometry.LineFromBinary(default(byte[]), default(int))), "GeometryLineFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.PolygonFromBinary(default(byte[]), default(int))), "GeometryPolygonFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiPointFromBinary(default(byte[]), default(int))),
                        "GeometryMultiPointFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiLineFromBinary(default(byte[]), default(int))), "GeometryMultiLineFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.MultiPolygonFromBinary(default(byte[]), default(int))),
                        "GeometryMultiPolygonFromBinary");
                    result.Add(
                        GetStaticMethod(() => DbGeometry.GeometryCollectionFromBinary(default(byte[]), default(int))),
                        "GeometryCollectionFromBinary");
                    result.Add(GetStaticMethod(() => DbGeometry.FromGml(default(string))), "GeometryFromGml");
                    result.Add(GetStaticMethod(() => DbGeometry.FromGml(default(string), default(int))), "GeometryFromGml");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsBinary()), "AsBinary");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsGml()), "AsGml");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.AsText()), "AsText");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.SpatialEquals(default(DbGeometry))), "SpatialEquals");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Disjoint(default(DbGeometry))), "SpatialDisjoint");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Intersects(default(DbGeometry))), "SpatialIntersects");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Touches(default(DbGeometry))), "SpatialTouches");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Crosses(default(DbGeometry))), "SpatialCrosses");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Within(default(DbGeometry))), "SpatialWithin");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Contains(default(DbGeometry))), "SpatialContains");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Overlaps(default(DbGeometry))), "SpatialOverlaps");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Relate(default(DbGeometry), default(string))), "SpatialRelate");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Buffer(default(double))), "SpatialBuffer");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Distance(default(DbGeometry))), "Distance");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Intersection(default(DbGeometry))), "SpatialIntersection");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Union(default(DbGeometry))), "SpatialUnion");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.Difference(default(DbGeometry))), "SpatialDifference");
                    result.Add(
                        GetInstanceMethod((DbGeometry geo) => geo.SymmetricDifference(default(DbGeometry))), "SpatialSymmetricDifference");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.ElementAt(default(int))), "SpatialElementAt");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.PointAt(default(int))), "PointAt");
                    result.Add(GetInstanceMethod((DbGeometry geo) => geo.InteriorRingAt(default(int))), "InteriorRingAt");
                    return(result);
                }
Пример #28
0
        private void extractLineString(JObject feature, List <LineStringDTO> lineStrings, List <Point3D> pathPoints, Dictionary <string, Point3D> labeledPoints)
        {
            LineStringDTO toAdd = new LineStringDTO();
            int           level = int.Parse(feature["properties"]["level"].ToString());

            //bool isAccessible = Boolean.Parse(feature["properties"]["accessible"].ToString());
            toAdd.Level = level;
            if (feature["properties"]["attrs"]["name"] != null)
            {
                toAdd.Name = feature["properties"]["attrs"]["name"].ToString();
            }
            StringBuilder wktsb = new StringBuilder("LINESTRING (");
            //List<Point3D> labeledPointsFound = new List<Point3D>();
            //Point3D source = new Point3D();
            //Point3D target = new Point3D();
            int i = 0;

            foreach (JArray j in feature["geometry"]["coordinates"])
            {
                StringBuilder pointWkt = new StringBuilder("POINT (");
                string        lon      = Regex.Match(j.ToString(), "34\\.\\d+").Value;
                string        lat      = Regex.Match(j.ToString(), "32\\.\\d+").Value;
                wktsb.Append(lon + " " + lat + ",");
                pointWkt.Append(lon + " " + lat + ")");
                Point3D current = null;
                if (labeledPoints.ContainsKey(pointWkt.ToString()))
                {
                    current      = labeledPoints[pointWkt.ToString()];
                    current.Type = Point3D.PointType.PATH_POINT;
                    if (!pathPoints.Contains(current))
                    {
                        pathPoints.Add(current);
                    }
                }
                if (current == null)
                {
                    current = pathPoints.Find(x => x.Wkt == pointWkt.ToString() && x.Level == level);
                }
                else
                {
                    current = current;
                }

                if (current == null)
                {
                    current = new Point3D();
                    //current = i == 0 ? source : target;
                    current.Latitude  = Decimal.Parse(lat);
                    current.Longitude = Decimal.Parse(lon);
                    current.Wkt       = pointWkt.ToString();
                    current.LocationG = DbGeometry.PointFromText(current.Wkt, 4326);
                    current.Level     = level;
                    current.Type      = Point3D.PointType.PATH_POINT;
                    pathPoints.Add(current);
                }
                else
                {
                    i = i;
                }
                if (i == 0)
                {
                    toAdd.Source = current;
                }
                if (i == 1)
                {
                    toAdd.Target = current;
                }
                i++;
            }
            wktsb.Remove(wktsb.Length - 1, 1);
            wktsb.Append(")");
            toAdd.Wkt           = wktsb.ToString();
            toAdd.LocationG     = DbGeometry.LineFromText(toAdd.Wkt, 4326);
            toAdd.Distance      = GeoUtils.GetHaversineDistance(toAdd.Source, toAdd.Target);
            toAdd.BiDirectional = true;
            //if (toAdd.Target.Longitude == 34.7745353108864M)
            //   Debugger.Break();
            toAdd.setConnectorType();
            lineStrings.Add(toAdd);
        }
Пример #29
0
        //////////////////////////
        //helpers
        ///////////////////////
        //attempt to geocode the profile address
        protected void addUpdateAddrGeoTag(int profileId)
        {
            var profile = _workUnit.ProfileRepository.GetEntityByID(profileId);

            if (profile == null)
            {
                return;
            }

            var address = profile.Organization.StreetAddress;
            var zip     = profile.Organization.Zip;
            var city    = profile.Organization.City;
            var state   = profile.Organization.State;

            //if any field is empty do nothing
            if (string.IsNullOrEmpty(address) ||
                string.IsNullOrEmpty(zip) ||
                string.IsNullOrEmpty(city))
            {
                return;
            }

            //geocode
            var geocoder   = new MDLocatorWithZip();
            var jsonResult = geocoder.geocode(address, city, zip);
            var resultObj  = Net.deserializeJson(jsonResult);

            if (resultObj == null)
            {
                return;
            }
            var result = resultObj.candidates as IEnumerable <dynamic>;

            if (result == null)
            {
                return;
            }

            var     bestScore = geocoder.AcceptableScore;
            dynamic location  = null;

            //parse result (get the entry with highest score and above acceptable score 65)
            foreach (var candidate in result)
            {
                if (candidate.score > bestScore)
                {
                    bestScore = candidate.score;
                    location  = candidate.location;
                }
            }
            //create geo tag
            if (location != null)
            {
                var tagName = string.Format("{0}, {1}, {2} {3}", address, city, state, zip);
                var wkt     = string.Format("POINT({0} {1})", location.x, location.y);
                //create geo tag
                var geoTag = new GeoTag()
                {
                    Name        = tagName,
                    Geometry    = DbGeometry.PointFromText(wkt, geocoder.SpatialReference),
                    Description = "address"
                };
                //remove all old references
                try {
                    var oldAddrTagRefs = profile
                                         .ProfileTags
                                         .Where(x => (x.Tag is GeoTag) && x.Tag.Description == "address")
                                         .ToList();
                    oldAddrTagRefs.ForEach(x => _workUnit.ProfileTagRepository.DeleteEntity(x));
                    _workUnit.saveChanges();
                }
                catch (ArgumentNullException) {
                    //no item found
                }
                //update new tags
                try {
                    var currentTag = _workUnit.TagRepository.Entities.OfType <GeoTag>().First(x => x.Name.ToUpper() == tagName.ToUpper());
                    //update the geometry if it already exists
                    currentTag.Geometry = geoTag.Geometry;
                    if (currentTag.Description == "")
                    {
                        currentTag.Description = "address";
                    }
                    //update to database
                    _workUnit.TagRepository.UpdateEntity(currentTag);
                    //check if it already has referenced this profile
                    if (!profile.ProfileTags.Select(x => x.Tag).Contains(currentTag))
                    {
                        var profileTag = new ProfileTag()
                        {
                            Tag     = currentTag,
                            Profile = profile
                        };
                        _workUnit.ProfileTagRepository.InsertEntity(profileTag);
                    }
                }
                catch {
                    //create ProfileTag
                    var profileTag = new ProfileTag()
                    {
                        Tag     = geoTag,
                        Profile = profile
                    };
                    _workUnit.ProfileTagRepository.InsertEntity(profileTag);
                }
                finally {
                    _workUnit.saveChanges();
                }
            }
        }
Пример #30
0
 internal void setWktAndGeometry()
 {
     Wkt       = "POINT(" + Longitude + " " + Latitude + ")";
     LocationG = DbGeometry.PointFromText(Wkt, 4326);
 }