Esempio n. 1
0
        public static AnchorPointList CreateNear(Coordinates center, float radius1, float radius2)
        {
            bool            rc = false;
            RGEContext      db = new RGEContext();
            AnchorPointList anchor_point_list = new AnchorPointList();

            using (SqlCommand cmd = new SqlCommand("EGH.GetListAnchorPointOnDistanceLessThanD2MoreThanD1", db.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@ШиротаГрад", SqlDbType.Real);
                    parm.Value = center.latitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@ДолготаГрад", SqlDbType.Real);
                    parm.Value = center.lngitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@Расстояние1", SqlDbType.Real);
                    parm.Value = radius1;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@Расстояние2", SqlDbType.Real);
                    parm.Value = radius2;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    cmd.ExecuteNonQuery();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        int          id = (int)reader["IdТехногенногоОбъекта"];
                        float        x  = (float)reader["ШиротаГрад"];
                        float        y  = (float)reader["ДолготаГрад"];
                        int          ground_type_code   = (int)reader["ТипГрунта"];
                        int          cadastre_type_code = (int)reader["КодНазначенияЗемель"];
                        float        waterdeep          = (float)reader["ГлубинаГрунтовыхВод"];
                        float        height             = (float)reader["ВысотаУровнемМоря"];
                        GroundType   ground_type        = new GroundType(ground_type_code);
                        Coordinates  coordinates        = new Coordinates((float)x, (float)y);
                        CadastreType cadastre_type      = new CadastreType(cadastre_type_code);
                        Point        point = new Point(coordinates, ground_type, (float)waterdeep, (float)height);
                        //delta = (float)reader["Расстояние"];
                        AnchorPoint anchor_point = new AnchorPoint(id, point, cadastre_type);
                        anchor_point_list.Add(anchor_point);
                    }
                    rc = anchor_point_list.Count > 0;
                    reader.Close();
                }
                catch (Exception e)
                {
                    rc = false;
                };
                return(anchor_point_list);
            }
        }
Esempio n. 2
0
            public Report(CEQContext db, RGEContext.Report report)
            {
                CadastreType _cadastretype = CadastreType.defaulttype;
                RiskObject   _riskobject   = RiskObject.defaulttype;

                this.report         = report;
                this.pdk_coef       = _cadastretype.pdk_coef;
                this.water_pdk_coef = _cadastretype.water_pdk_coef;

                if (report.riskobject_id > 0)
                {
                    if (RiskObject.GetById(db, report.riskobject_id, ref _riskobject))
                    {
                        if (_riskobject.cadastretype.pdk_coef > 0)
                        {
                            this.pdk_coef = _riskobject.cadastretype.pdk_coef;
                        }
                        if (_riskobject.cadastretype.water_pdk_coef > 0)
                        {
                            this.water_pdk_coef = _riskobject.cadastretype.water_pdk_coef;
                        }
                    }
                }
                this.excessgroundconcentration = this.report.C3 / (this.pdk_coef);
                this.exesswaterconcentration   = this.report.C4 / this.water_pdk_coef;
            }
Esempio n. 3
0
 // разлив в произвольной точке
 public SpreadPoint(Point point, CadastreType cadastretype, PetrochemicalType petrochemicaltype, float volume) : base(point)
 {
     this.petrochemicaltype = petrochemicaltype;
     this.volume            = volume;
     this.riskobject        = null;  //  разлив не связан с техногенным объектом
     this.cadastretype      = cadastretype;
 }
Esempio n. 4
0
        static public bool  FindAtDistance(EGH01DB.IDBContext dbcontext, Coordinates coordinates, int buffer, out EcoObjectsList ecolist)
        {
            bool rc = false;

            ecolist = new EcoObjectsList();
            //List<EcoObject> ecolist = new List<EcoObject>();

            using (SqlCommand cmd = new SqlCommand("MAP.EcoObjectInBuffer", dbcontext.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@point", SqlDbType.VarChar);
                    parm.Value = coordinates.GetMapPoint();;
                    cmd.Parameters.Add(parm);
                }

                {
                    SqlParameter parm = new SqlParameter("@buffer", SqlDbType.Int);
                    parm.Value = buffer;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int);
                    parm.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    rc = true;
                    //EcoObject(int id, Point point, EcoObjectType ecoobjecttype, CadastreType cadastretype, string name, bool iswaterobject)

                    while (reader.Read())
                    {
                        int           id              = (int)reader["Obj_Id"];
                        string        name            = (string)reader["name"];
                        string        type            = (string)reader["type"];
                        float         dist            = (float)reader["distance"];
                        float         x               = (float)reader["yPoint"];
                        float         y               = (float)reader["xPoint"];
                        Coordinates   nearbypoint     = new Coordinates(x, y);
                        Point         point           = new Point(nearbypoint);
                        EcoObjectType eco_object_type = new EcoObjectType(type);
                        CadastreType  cadastre_type   = new CadastreType("Не определено на карте");

                        EcoObject ecoobject = new EcoObject(id, point, eco_object_type, cadastre_type, name, true); // уточнить насчет iswaterobject! blinova
                        ecolist.Add(ecoobject);
                    }
                    reader.Close();
                }
                catch (Exception e)
                {
                    rc = false;
                };
                return(rc);
            }
        }
Esempio n. 5
0
 public EcoObject(string name, EcoObjectType ecoobjecttype, CadastreType cadastretype)
 {
     this.id                 = -1;
     this.ecoobjecttype      = ecoobjecttype;
     this.cadastretype       = cadastretype;
     this.name               = name;
     this.angle              = 0.0f;
     this.pollutionecoobject = 0.0f;
 }
Esempio n. 6
0
 public EcoObject(int id, Point point, EcoObjectType ecoobjecttype, CadastreType cadastretype, string name, bool iswaterobject, float angle, float pollutionecoobject)
     : base(point)
 {
     this.id                 = id;
     this.ecoobjecttype      = ecoobjecttype;
     this.cadastretype       = cadastretype;
     this.name               = name;
     this.iswaterobject      = iswaterobject;
     this.angle              = angle;
     this.pollutionecoobject = pollutionecoobject;
 }
Esempio n. 7
0
        public AnchorPoint(XmlNode node)
            : base(new Point(node.SelectSingleNode(".//Point")))
        {
            this.id = Helper.GetIntAttribute(node, "id", -1);
            XmlNode cad = node.SelectSingleNode(".//CadastreType");

            if (cad != null)
            {
                this.cadastretype = new CadastreType(cad);
            }
            else
            {
                this.cadastretype = null;
            }
        }
Esempio n. 8
0
        // #2 Получение карты водоемов
        static public bool GetWaterPond(EGH01DB.IDBContext dbcontext, Coordinates coordinates, out EcoObject water_object) // водные объекты - озера, водохранилища
        {
            bool rc = false;

            water_object = new EcoObject();
            using (SqlCommand cmd = new SqlCommand("MAP.InPondMap", dbcontext.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@point", SqlDbType.VarChar);
                    parm.Value = coordinates.GetMapPoint();
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int);
                    parm.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (rc = reader.Read())
                    {
                        int    id   = (int)reader["Obj_Id"];
                        string type = (string)reader["type"];
                        string name = (string)reader["name"];

                        EcoObjectType eco_object_type = new EcoObjectType(type);
                        CadastreType  cadastre_type   = new CadastreType("Водный объект");

                        water_object = new EcoObject(name, eco_object_type, cadastre_type, true);
                    }
                    reader.Close();
                }
                catch (Exception e)
                {
                    rc = false;
                };
            }
            return(rc);
        }
Esempio n. 9
0
        static public bool GetById(EGH01DB.IDBContext dbcontext, int id, ref EcoObject ecoobject)
        {
            bool rc = false;

            using (SqlCommand cmd = new SqlCommand("EGH.GetEcoObjectByID", dbcontext.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@IdПриродоохранногоОбъекта", SqlDbType.Int);
                    parm.Value = id;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int);
                    parm.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    cmd.ExecuteNonQuery();
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        float       x           = (float)reader["ШиротаГрад"];
                        float       y           = (float)reader["ДолготаГрад"];
                        Coordinates coordinates = new Coordinates((float)x, (float)y);

                        string ground_type_name = (string)reader["НаименованиеТипаГрунта"];
                        float  porosity         = (float)reader["КоэфПористости"];
                        float  holdmigration    = (float)reader["КоэфЗадержкиМиграции"];
                        float  waterfilter      = (float)reader["КоэфФильтрацииВоды"];
                        float  diffusion        = (float)reader["КоэфДиффузии"];
                        float  distribution     = (float)reader["КоэфРаспределения"];
                        float  sorption         = (float)reader["КоэфСорбции"];
                        float  watercapacity    = (float)reader["КоэфКапВлагоемкости"];
                        float  soilmoisture     = (float)reader["ВлажностьГрунта"];
                        float  аveryanovfactor  = (float)reader["КоэфАверьянова"];
                        float  permeability     = (float)reader["Водопроницаемость"];
                        float  density          = (float)reader["СредняяПлотностьГрунта"];

                        GroundType ground_type = new GroundType((int)reader["ТипГрунта"],
                                                                (string)ground_type_name,
                                                                (float)porosity,
                                                                (float)holdmigration,
                                                                (float)waterfilter,
                                                                (float)diffusion,
                                                                (float)distribution,
                                                                (float)sorption,
                                                                (float)watercapacity,
                                                                (float)soilmoisture,
                                                                (float)аveryanovfactor,
                                                                (float)permeability,
                                                                (float)density);

                        float  waterdeep           = (float)reader["ГлубинаГрунтовыхВод"];
                        float  height              = (float)reader["ВысотаУровнемМоря"];
                        Point  point               = new Point(coordinates, ground_type, (float)waterdeep, (float)height);
                        int    ecoobject_type_code = (int)reader["КодТипаПриродоохранногоОбъекта"];
                        string ecoobject_type_name = (string)reader["НаименованиеТипаПриродоохранногоОбъекта"];

                        int  cat_water_name = (int)reader["КатегорияВодоохрТер"];
                        bool iswaterobject;
                        if (cat_water_name != 0)
                        {
                            iswaterobject = true;
                        }
                        else
                        {
                            iswaterobject = false;
                        }
                        WaterProtectionArea water_protection_area = new WaterProtectionArea(cat_water_name);
                        EcoObjectType       ecoobjecttype         = new EcoObjectType(ecoobject_type_code, ecoobject_type_name, water_protection_area);

                        int    cadastre_type_code = (int)reader["КодТипаНазначенияЗемель"];
                        string cadastre_type_name = (string)reader["НаименованиеНазначенияЗемель"];
                        float  pdk             = (float)reader["ПДК"];
                        float  water_pdk_coef  = (float)reader["ПДКводы"];
                        string ground_doc_name = (string)reader["НормДокументЗемля"];
                        string water_doc_name  = (string)reader["НормДокументВода"];

                        CadastreType cadastre_type = new CadastreType(cadastre_type_code, (string)cadastre_type_name,
                                                                      pdk, water_pdk_coef,
                                                                      ground_doc_name, water_doc_name);
                        string ecoobject_name = (string)reader["НаименованиеПриродоохранногоОбъекта"];


                        ecoobject = new EcoObject(id, point, ecoobjecttype, cadastre_type, ecoobject_name, iswaterobject);
                    }
                    reader.Close();
                    rc = (int)cmd.Parameters["@exitrc"].Value > 0;
                }
                catch (Exception e)
                {
                    rc = false;
                };

                return(rc);
            }
        }
Esempio n. 10
0
        //  найти список точек в заданном радиусе
        public static AnchorPointList CreateNear(Coordinates center, float distance)
        {
            bool            rc = false;
            RGEContext      db = new RGEContext();
            AnchorPointList anchor_point_list = new AnchorPointList();

            using (SqlCommand cmd = new SqlCommand("EGH.GetListAnchorPointOnDistanceLessThanD", db.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@ШиротаГрад", SqlDbType.Real);
                    parm.Value = center.latitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@ДолготаГрад", SqlDbType.Real);
                    parm.Value = center.lngitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@Расстояние", SqlDbType.Real);
                    parm.Value = distance;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    //cmd.ExecuteNonQuery();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        int   id = (int)reader["IdОпорнойГеологическойТочки"];
                        float x  = (float)reader["ШиротаГрад"];
                        float y  = (float)reader["ДолготаГрад"];
                        int   ground_type_code = (int)reader["ТипГрунта"];

                        float waterdeep = (float)reader["ГлубинаГрунтовыхВод"];
                        float height    = (float)reader["ВысотаУровнемМоря"];

                        GroundType ground_type = new GroundType(ground_type_code);

                        Coordinates coordinates = new Coordinates((float)x, (float)y);

                        int    cadastre_type_code = (int)reader["КодНазначенияЗемель"];
                        string ground_type_name   = (string)reader["НаименованиеНазначенияЗемель"];
                        float  pdk_koef           = (float)reader["ПДК"];
                        float  water_pdk_koef     = (float)reader["ПДКводы"];
                        string pdk_korf_doc       = (string)reader["НормДокументЗемля"];
                        string water_pdk_korf_doc = (string)reader["НормДокументВода"];

                        CadastreType cadastre_type = new CadastreType(cadastre_type_code, ground_type_name, pdk_koef, water_pdk_koef,
                                                                      pdk_korf_doc, water_pdk_korf_doc);
                        Point point = new Point(coordinates, ground_type, (float)waterdeep, (float)height);
                        //delta = (float)reader["Расстояние"];
                        AnchorPoint anchor_point = new AnchorPoint(id, point, cadastre_type);
                        anchor_point_list.Add(anchor_point);
                    }
                    rc = anchor_point_list.Count > 0;
                    reader.Close();
                }
                catch (Exception e)
                {
                    rc = false;
                };
                return(anchor_point_list);
            }
        }
Esempio n. 11
0
 public AnchorPoint(int id)
 {
     this.id           = id;
     this.cadastretype = new CadastreType();
 }
Esempio n. 12
0
 public AnchorPoint(int id, Point point, CadastreType cadastretype) : base(point)
 {
     this.id           = id;
     this.cadastretype = cadastretype;
 }
Esempio n. 13
0
        static public bool Create(EGH01DB.IDBContext dbcontext, AnchorPoint anchor_point, float angle, float distance)
        {
            bool rc = false;
            int  id = -1;

            using (SqlCommand cmd = new SqlCommand("EGH.GetCoordinatesByAngle", dbcontext.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@lat1", SqlDbType.Real);
                    parm.Value = anchor_point.coordinates.latitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lng1", SqlDbType.Real);
                    parm.Value = anchor_point.coordinates.lngitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@angle", SqlDbType.Real);
                    parm.Value = angle;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@distance", SqlDbType.Real);
                    parm.Value = distance;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lat2", SqlDbType.Real);
                    parm.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lng2", SqlDbType.Real);
                    parm.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(parm);
                }
                //{
                //    SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int);
                //    parm.Direction = ParameterDirection.ReturnValue;
                //    cmd.Parameters.Add(parm);
                //}
                try
                {
                    cmd.ExecuteNonQuery();
                    // if (rc = ((int)cmd.Parameters["@exitrc"].Value) > 0)
                    // {
                    float       x           = (float)cmd.Parameters["@lat2"].Value;
                    float       y           = (float)cmd.Parameters["@lng2"].Value;
                    Coordinates coordinates = new Coordinates((float)x, (float)y);

                    int        new_ground_type_code = anchor_point.groundtype.type_code;
                    float      new_waterdeep        = anchor_point.waterdeep;
                    float      new_height           = anchor_point.height;
                    GroundType new_ground_type      = new GroundType(new_ground_type_code);
                    Point      point = new Point(coordinates, new_ground_type, new_waterdeep, new_height);

                    int          new_cadastre_type_code = anchor_point.cadastretype.type_code;
                    CadastreType cadastretype           = new CadastreType(new_cadastre_type_code);

                    AnchorPoint new_anchor_point = new AnchorPoint(id, point, cadastretype);
                    if (AnchorPoint.Create(dbcontext, new_anchor_point))
                    {
                        rc = true;
                    }
                    // }
                }
                catch (Exception e)
                {
                    rc = false;
                };
                return(rc);
            }
        }
Esempio n. 14
0
        public ActionResult EcoObjectCreate(EGH01.Models.EGHRGE.EcoObjectView eo)
        {
            RGEContext db = null;

            ViewBag.EGHLayout = "RGE.EcoObject";
            ActionResult view     = View("Index");
            string       menuitem = this.HttpContext.Request.Params["menuitem"] ?? "Empty";

            try
            {
                db   = new RGEContext();
                view = View("EcoObject", db);
                if (menuitem.Equals("EcoObjectCreateEco.Create"))
                {
                    view = View("EcoObjectCreateEco");
                    return(view);
                }
                if (menuitem.Equals("EcoObject.Create.Create"))
                {
                    int id = -1;
                    if (EGH01DB.Objects.EcoObject.GetNextId(db, out id))
                    {
                        String       name          = eo.name;
                        CadastreType type_cadastre = new CadastreType();
                        if (EGH01DB.Types.CadastreType.GetByCode(db, eo.list_cadastre, out type_cadastre))
                        {
                            EcoObjectType eco_type = new EcoObjectType();
                            if (EGH01DB.Types.EcoObjectType.GetByCode(db, eo.list_ecoType, out eco_type))
                            {
                                bool   iswaterobject = eo.iswaterobject;
                                string strlat_s      = this.HttpContext.Request.Params["lat_s"] ?? "Empty";
                                string strlng_s      = this.HttpContext.Request.Params["lng_s"] ?? "Empty";
                                string strwaterdeep  = this.HttpContext.Request.Params["waterdeep"] ?? "Empty";
                                string strheight     = this.HttpContext.Request.Params["height"] ?? "Empty";
                                float  lat_s         = 0.0f;
                                float  lng_s         = 0.0f;
                                float  waterdeep     = 0.0f;
                                float  height        = 0.0f;
                                if (!Helper.FloatTryParse(strlat_s, out lat_s))
                                {
                                    lat_s = 0.0f;
                                }
                                if (!Helper.FloatTryParse(strlng_s, out lng_s))
                                {
                                    lng_s = 0.0f;
                                }
                                if (!Helper.FloatTryParse(strwaterdeep, out waterdeep))
                                {
                                    waterdeep = 0.0f;
                                }
                                if (!Helper.FloatTryParse(strheight, out height))
                                {
                                    height = 0.0f;
                                }
                                Coordinates coordinates = new Coordinates(eo.latitude, eo.lat_m, lat_s, eo.lngitude, eo.lng_m, lng_s);
                                EGH01DB.Types.GroundType ground_type = new EGH01DB.Types.GroundType();
                                if (EGH01DB.Types.GroundType.GetByCode(db, eo.list_groundType, out ground_type))
                                {
                                    Point point = new Point(coordinates, ground_type, waterdeep, height);
                                    EGH01DB.Objects.EcoObject eco_object = new EGH01DB.Objects.EcoObject(id, point, eco_type, type_cadastre, name, iswaterobject);
                                    if (EGH01DB.Objects.EcoObject.Create(db, eco_object))
                                    {
                                        view = View("EcoObject", db);
                                    }
                                }
                            }
                        }
                        else if (menuitem.Equals("EcoObject.Create.Cancel"))
                        {
                            view = View("EcoObject", db);
                        }
                    }
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }
Esempio n. 15
0
        static public bool CreateNear(EGH01DB.IDBContext dbcontext, EcoObject ecoobject, float angle, float distance, out EcoObject eco_object)
        {
            bool rc = false;
            int  id = -1;

            eco_object = new EcoObject();
            using (SqlCommand cmd = new SqlCommand("EGH.GetCoordinatesByAngle", dbcontext.connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                {
                    SqlParameter parm = new SqlParameter("@lat1", SqlDbType.Real);
                    parm.Value = ecoobject.coordinates.latitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lng1", SqlDbType.Real);
                    parm.Value = ecoobject.coordinates.lngitude;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@angle", SqlDbType.Real);
                    parm.Value = angle;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@distance", SqlDbType.Real);
                    parm.Value = distance;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lat2", SqlDbType.Real);
                    parm.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(parm);
                }
                {
                    SqlParameter parm = new SqlParameter("@lng2", SqlDbType.Real);
                    parm.Direction = ParameterDirection.Output;
                    cmd.Parameters.Add(parm);
                }
                try
                {
                    cmd.ExecuteNonQuery();

                    float       x           = (float)cmd.Parameters["@lat2"].Value;
                    float       y           = (float)cmd.Parameters["@lng2"].Value;
                    Coordinates coordinates = new Coordinates((float)x, (float)y);

                    int        new_ground_type_code = ecoobject.groundtype.type_code;
                    float      new_waterdeep        = ecoobject.waterdeep;
                    float      new_height           = ecoobject.height;
                    GroundType new_ground_type      = new GroundType(new_ground_type_code);
                    Point      point = new Point(coordinates, new_ground_type, new_waterdeep, new_height);

                    int           new_cadastre_type_code = ecoobject.cadastretype.type_code;
                    bool          iswaterobject          = ecoobject.iswaterobject;
                    string        name = ecoobject.name;
                    int           ecoobjecttype_code = ecoobject.ecoobjecttype.type_code;
                    EcoObjectType ecoobjecttype      = new EcoObjectType(ecoobjecttype_code);
                    CadastreType  cadastretype       = new CadastreType(new_cadastre_type_code);

                    eco_object = new EcoObject(id, point, ecoobjecttype, cadastretype, name, iswaterobject);
                    if (EcoObject.Create(dbcontext, eco_object))
                    {
                        rc = true;
                    }
                }
                catch (Exception e)
                {
                    rc = false;
                };
                return(rc);
            }
        }
Esempio n. 16
0
        }                                                      // кадастровый тип земли

        public AnchorPoint()
        {
            this.id           = -1;
            this.cadastretype = new CadastreType();
        }
Esempio n. 17
0
        public ActionResult AnchorPointCreatePoint(AnchorPointView ah)
        {
            RGEContext db = null;

            ViewBag.EGHLayout = "RGE.AnchorPoint";
            ActionResult view     = View("Index");
            string       menuitem = this.HttpContext.Request.Params["menuitem"] ?? "Empty";

            try
            {
                db   = new RGEContext();
                view = View("AnchorPoint", db);

                if (menuitem.Equals("AnchorPointCreate.Create.Create"))
                {
                    int id = -1;
                    if (EGH01DB.Points.AnchorPoint.GetNextId(db, out id))
                    {
                        float  lat_s    = 0.0f;
                        string strlat_s = this.HttpContext.Request.Params["lat_s"] ?? "Empty";
                        if (!Helper.FloatTryParse(strlat_s, out lat_s))
                        {
                            lat_s = 0.0f;
                        }

                        float  angel    = 0.0f;
                        string strangel = this.HttpContext.Request.Params["angel"] ?? "Empty";
                        if (!Helper.FloatTryParse(strangel, out angel))
                        {
                            angel = 0.0f;
                        }

                        float  distance    = 0.0f;
                        string strdistance = this.HttpContext.Request.Params["distance"] ?? "Empty";
                        if (!Helper.FloatTryParse(strdistance, out distance))
                        {
                            distance = 0.0f;
                        }


                        float  lng_s    = 0.0f;
                        string strlng_s = this.HttpContext.Request.Params["lng_s"] ?? "Empty";
                        if (!Helper.FloatTryParse(strlng_s, out lng_s))
                        {
                            lng_s = 0.0f;
                        }


                        Coordinates coordinates   = new Coordinates(ah.Lat_d, ah.lat_m, lat_s, ah.lngitude, ah.lng_m, lng_s);
                        float       waterdeep     = 0.0f;
                        int         list_cadastre = ah.list_cadastre;

                        float  height    = 0.0f;
                        string strheight = this.HttpContext.Request.Params["height"] ?? "Empty";
                        if (!Helper.FloatTryParse(strheight, out height))
                        {
                            height = 0.0f;
                        }

                        string strwaterdeep = this.HttpContext.Request.Params["waterdeep"] ?? "Empty";
                        if (!Helper.FloatTryParse(strwaterdeep, out waterdeep))
                        {
                            waterdeep = 0.0f;
                        }
                        EGH01DB.Types.GroundType ground_type = new EGH01DB.Types.GroundType();
                        if (EGH01DB.Types.GroundType.GetByCode(db, ah.list_groundType, out ground_type))
                        {
                            Point        point         = new Point(coordinates, ground_type, waterdeep, height);
                            CadastreType type_cadastre = new CadastreType();
                            if (EGH01DB.Types.CadastreType.GetByCode(db, ah.list_cadastre, out type_cadastre))
                            {
                                EGH01DB.Points.AnchorPoint anchor_point = new EGH01DB.Points.AnchorPoint(id, point, type_cadastre);


                                if (EGH01DB.Points.AnchorPoint.Create(db, anchor_point, angel, distance))
                                {
                                    view = View("AnchorPoint", db);
                                }
                                else if (menuitem.Equals("AnchorPoint.Create.Cancel"))
                                {
                                    view = View("AnchorPoint", db);
                                }
                                {
                                }
                            }
                        }
                    }
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }