public static Model.PDV ConvertFromRaw(Model.Api.PdvRaw pdvRaw) { var pdv = new Model.PDV(); if (pdvRaw.id != null) { pdv.IdAux = int.Parse(pdvRaw.id); } pdv.TradingName = pdvRaw.tradingName; pdv.OwnerName = pdvRaw.ownerName; pdv.Document = pdvRaw.document; pdv.Address = GeoJson.Point(new GeoJson2DGeographicCoordinates(pdvRaw.address.coordinates[0], pdvRaw.address.coordinates[1])); var coverageArea = new List <GeoJson2DGeographicCoordinates>(); foreach (var p in pdvRaw.coverageArea.coordinates) { foreach (var p1 in p) { foreach (var p2 in p1) { coverageArea.Add(GeoJson.Geographic(p2[0], p2[1])); } } } pdv.CoverageArea = GeoJson.Polygon(coverageArea.ToArray()); return(pdv); }
public static Model.PDV ConvertFromText(string jsonPdv) { dynamic o = JsonConvert.DeserializeObject(jsonPdv); var pdv = new Model.PDV(); pdv.Id = o.id; pdv.TradingName = o.tradingName; pdv.OwnerName = o.ownerName; pdv.Document = o.document; pdv.Address = GeoJson.Point(new GeoJson2DGeographicCoordinates(Double.Parse(o.address.coordinates[1].ToString()), Double.Parse(o.address.coordinates[0].ToString()))); var coverageArea = new List <GeoJson2DGeographicCoordinates>(); foreach (var p in o.coverageArea.coordinates) { foreach (var p1 in p) { foreach (var p2 in p1) { coverageArea.Add(GeoJson.Geographic(Double.Parse(p2[1].ToString()), Double.Parse(p2[0].ToString()))); } } } pdv.CoverageArea = GeoJson.Polygon(coverageArea.ToArray()); return(pdv); }
public static Model.Api.PdvRaw ConvertToRaw(Model.PDV pdv) { Model.Api.PdvRaw pdvRaw = new Model.Api.PdvRaw(); pdvRaw.id = pdv.IdAux.ToString(); pdvRaw.tradingName = pdv.TradingName; pdvRaw.ownerName = pdv.OwnerName; pdvRaw.document = pdv.Document; pdvRaw.address.type = "Point"; pdvRaw.address.coordinates = new List <double>() { pdv.Address.Coordinates.Longitude, pdv.Address.Coordinates.Latitude }; pdvRaw.coverageArea.type = "MultiPolygon"; pdvRaw.coverageArea.coordinates = new List <List <List <List <double> > > >(); pdvRaw.coverageArea.coordinates.Add(new List <List <List <double> > >()); pdvRaw.coverageArea.coordinates[0].Add(new List <List <double> >()); foreach (var p in pdv.CoverageArea.Coordinates.Exterior.Positions) { pdvRaw.coverageArea.coordinates[0][0].Add(new List <double>() { p.Longitude, p.Latitude }); } return(pdvRaw); }
public void Insert_One() { var pdv = new Model.PDV(); pdv.IdAux = 0; pdv.TradingName = "Adega Osasco 2"; pdv.OwnerName = "Ze da Ambev 2 "; pdv.Document = "05.453.716/000170"; pdv.Address = GeoJson.Point(new GeoJson2DGeographicCoordinates(-23.013538, -43.297337)); pdv.CoverageArea = GeoJson.Polygon( GeoJson.Geographic(-22.99669, -43.36556), GeoJson.Geographic(-23.01928, -43.36539), GeoJson.Geographic(-23.01802, -43.26583), GeoJson.Geographic(-23.00649, -43.25724), GeoJson.Geographic(-23.00127, -43.23355), GeoJson.Geographic(-22.99716, -43.2381), GeoJson.Geographic(-22.99649, -43.23866), GeoJson.Geographic(-22.99756, -43.24063), GeoJson.Geographic(-22.99736, -43.24634), GeoJson.Geographic(-22.99606, -43.24677), GeoJson.Geographic(-22.99381, -43.24067), GeoJson.Geographic(-22.99121, -43.24886), GeoJson.Geographic(-22.99456, -43.25617), GeoJson.Geographic(-22.99203, -43.25625), GeoJson.Geographic(-22.99065, -43.25346), GeoJson.Geographic(-22.98283, -43.29599), GeoJson.Geographic(-22.96481, -43.3262), GeoJson.Geographic(-22.96402, -43.33427), GeoJson.Geographic(-22.96829, -43.33616), GeoJson.Geographic(-22.98157, -43.342), GeoJson.Geographic(-22.97967, -43.34817), GeoJson.Geographic(-22.98062, -43.35142), GeoJson.Geographic(-22.98084, -43.3573), GeoJson.Geographic(-22.98032, -43.36522), GeoJson.Geographic(-22.98422, -43.36696), GeoJson.Geographic(-22.98855, -43.36717), GeoJson.Geographic(-22.99351, -43.36636), GeoJson.Geographic(-22.99669, -43.36556)); // zdContext.PDVs.InsertOne(pdv); Assert.IsTrue(1 == 1); }