//TODO: Add request for adopter by username public Adopter AssignLand(Adopter adopter) { connection.Open(); AssignPlotOfLand assigner = new AssignPlotOfLand(); SqlGeometry startingSquareKm = GeometryExtensions.FromWkt("POLYGON((12390034 -32564, 12390034 -32565, 12390035 -32565, 12390035 -32564, 12390034 -32564))", Constants.SRID_INT); assigner.SetStartingPoint(startingSquareKm.STPointN(1)); { foreach (var geom in connection.Query<string>("select top 1 geom.STAsText() from " + Constants.LandTable)) { assigner.SetOuterBoundary(SqlGeometry.STGeomFromText(new SqlChars(geom), Constants.SRID_INT)); } } connection.Close(); var adopters = GetAllAdopters(); //Check if transaction does not exist, else return null foreach (var a in adopters) { if (a.transaction_nr == adopter.transaction_nr) return null; } var assignedGeom = assigner.Assign(adopter.area, Constants.SRID_INT, adopters); if (assignedGeom == null) return null; adopter.geom = new string(assignedGeom.STAsText().Value); return adopter; }
//TODO: Add request for adopter by username public Adopter AssignLand(Adopter adopter) { connection.Open(); AssignPlotOfLand assigner = new AssignPlotOfLand(); SqlGeometry startingSquareKm = GeometryExtensions.FromWkt("POLYGON((12390034 -32564, 12390034 -32565, 12390035 -32565, 12390035 -32564, 12390034 -32564))", Constants.SRID_INT); assigner.SetStartingPoint(startingSquareKm.STPointN(1)); { foreach (var geom in connection.Query <string>("select top 1 geom.STAsText() from " + Constants.LandTable)) { assigner.SetOuterBoundary(SqlGeometry.STGeomFromText(new SqlChars(geom), Constants.SRID_INT)); } } connection.Close(); var adopters = GetAllAdopters(); //Check if transaction does not exist, else return null foreach (var a in adopters) { if (a.transaction_nr == adopter.transaction_nr) { return(null); } } var assignedGeom = assigner.Assign(adopter.area, Constants.SRID_INT, adopters); if (assignedGeom == null) { return(null); } adopter.geom = new string(assignedGeom.STAsText().Value); return(adopter); }