//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;
        }
Beispiel #2
0
        //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);
        }