public ActionResult SoilPollutionCategoriesUpdate(SoilPollutionCategoriesView sp)
        {
            GEAContext db = null;

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

            try
            {
                db   = new GEAContext();
                view = View("SoilPollutionCategories", db);
                if (menuitem.Equals("SoilPollutionCategories.Update.Update"))
                {
                    EGH01DB.Types.CadastreType cadastre_type = new EGH01DB.Types.CadastreType();
                    if (EGH01DB.Types.CadastreType.GetByCode(db, sp.list_cadastre, out cadastre_type))
                    {
                        int    code   = sp.code;
                        String name   = sp.name;
                        string strmin = this.HttpContext.Request.Params["min"] ?? "Empty";
                        string strmax = this.HttpContext.Request.Params["max"] ?? "Empty";

                        float min = 0.0f;
                        float max = 0.0f;


                        if (!Helper.FloatTryParse(strmin, out min))
                        {
                            min = 0.0f;
                        }

                        if (!Helper.FloatTryParse(strmax, out max))
                        {
                            max = 0.0f;
                        }

                        EGH01DB.Types.SoilPollutionCategories soil_pollution = new EGH01DB.Types.SoilPollutionCategories(code, name, min, max, cadastre_type);
                        if (EGH01DB.Types.SoilPollutionCategories.Update(db, soil_pollution))
                        {
                            view = View("SoilPollutionCategories", db);
                        }
                    }
                }
                else if (menuitem.Equals("SoilPollutionCategories.Update.Cancel"))
                {
                    view = View("SoilPollutionCategories", db);
                }
            }

            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }
        public ActionResult RehabilitationMethodsCreate(RehabilitationMethodsView rm)
        {
            ORTContext db = null;

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

            try
            {
                db   = new ORTContext();
                view = View("RehabilitationMethods", db);
                if (menuitem.Equals("RehabilitationMethods.Create.Create"))
                {
                    int type_code = 2;
                    if (EGH01DB.Types.RehabilitationMethod.GetNextCode(db, out type_code))
                    {
                        EGH01DB.Types.CadastreType list_cadastre = new EGH01DB.Types.CadastreType();
                        if (EGH01DB.Types.CadastreType.GetByCode(db, rm.list_cadastre, out list_cadastre))
                        {
                            EGH01DB.Types.RiskObjectType list_risk = new EGH01DB.Types.RiskObjectType();
                            if (EGH01DB.Types.RiskObjectType.GetByCode(db, rm.list_type, out list_risk))
                            {
                                EGH01DB.Types.PetrochemicalCategories list_petrochemical = new EGH01DB.Types.PetrochemicalCategories();
                                if (EGH01DB.Types.PetrochemicalCategories.GetByCode(db, rm.list_petrochemical, out list_petrochemical))
                                {
                                    EGH01DB.Types.EmergencyClass list_emergency = new EGH01DB.Types.EmergencyClass();
                                    if (EGH01DB.Types.EmergencyClass.GetByCode(db, rm.list_emergency, out list_emergency))
                                    {
                                        EGH01DB.Types.PenetrationDepth list_penetration = new EGH01DB.Types.PenetrationDepth();
                                        if (EGH01DB.Types.PenetrationDepth.GetByCode(db, rm.list_penetration, out list_penetration))
                                        {
                                            EGH01DB.Types.SoilPollutionCategories list_soil = new EGH01DB.Types.SoilPollutionCategories();
                                            if (EGH01DB.Types.SoilPollutionCategories.GetByCode(db, rm.list_soil, out list_soil))
                                            {
                                                bool waterachieved = rm.waterachieved;
                                                EGH01DB.Types.WaterPollutionCategories list_water = new EGH01DB.Types.WaterPollutionCategories();
                                                if (EGH01DB.Types.WaterPollutionCategories.GetByCode(db, rm.list_water, out list_water))
                                                {
                                                    EGH01DB.Types.WaterProtectionArea list_waterArea = new EGH01DB.Types.WaterProtectionArea();
                                                    if (EGH01DB.Types.WaterProtectionArea.GetByCode(db, rm.list_waterArea, out list_waterArea))
                                                    {
                                                        EGH01DB.Types.SoilCleaningMethod list_soilCleaning = new EGH01DB.Types.SoilCleaningMethod();
                                                        if (EGH01DB.Types.SoilCleaningMethod.GetByCode(db, rm.list_soilCleaning, out list_soilCleaning))
                                                        {
                                                            EGH01DB.Types.WaterCleaningMethod list_waterCleaning = new EGH01DB.Types.WaterCleaningMethod();
                                                            if (EGH01DB.Types.WaterCleaningMethod.GetByCode(db, rm.list_waterCleaning, out list_waterCleaning))
                                                            {
                                                                EGH01DB.Types.RehabilitationMethod rehabilitationMethod = new EGH01DB.Types.RehabilitationMethod(type_code, list_risk, list_cadastre, list_petrochemical, list_emergency, list_penetration, list_soil, waterachieved, list_water, list_waterArea, list_soilCleaning, list_waterCleaning);
                                                                if (EGH01DB.Types.RehabilitationMethod.Create(db, rehabilitationMethod))
                                                                {
                                                                    view = View("RehabilitationMethods", db);
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else if (menuitem.Equals("RehabilitationMethods.Create.Cancel"))
                {
                    view = View("RehabilitationMethods", db);
                }
            }



            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }
        public ActionResult SoilPollutionCategoriesCreate(SoilPollutionCategoriesView sp)
        {
            GEAContext db = null;

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

            try
            {
                db = new GEAContext(this);
                if (!SoilPollutionCategoriesView.Handler(db, this.HttpContext.Request.Params))
                {
                }
                view = View("SoilPollutionCategories", db);
                if (menuitem.Equals("SoilPollutionCategories.Create.Create"))
                {
                    int code = -1;
                    if (EGH01DB.Types.SoilPollutionCategories.GetNextCode(db, out code))
                    {
                        EGH01DB.Types.CadastreType cadastre_type = new EGH01DB.Types.CadastreType();
                        if (EGH01DB.Types.CadastreType.GetByCode(db, sp.list_cadastre, out cadastre_type))
                        {
                            float  min;
                            string strmin = this.HttpContext.Request.Params["min"] ?? "Empty";
                            if (!Helper.FloatTryParse(strmin, out min))
                            {
                                min = 0.0f;
                            }
                            float  max;
                            string strmax = this.HttpContext.Request.Params["max"] ?? "Empty";
                            if (!Helper.FloatTryParse(strmax, out max))
                            {
                                max = 0.0f;
                            }
                            String name = sp.name;
                            if (min < max)
                            {
                                EGH01DB.Types.SoilPollutionCategories soil_pollution = new EGH01DB.Types.SoilPollutionCategories(code, name, min, max, cadastre_type);


                                if (EGH01DB.Types.SoilPollutionCategories.Create(db, soil_pollution))
                                {
                                    view = View("SoilPollutionCategories", db);
                                }
                            }

                            else
                            {
                                ViewBag.Error = "Проверьте введенные данные";
                                view          = View("SoilPollutionCategoriesCreate", db);
                                return(view);
                            }
                        }
                    }
                }

                else if (menuitem.Equals("SoilPollutionCategories.Create.Cancel"))
                {
                    view = View("SoilPollutionCategories", db);
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }