public ActionResult EmergencyClassCreate(EmergencyClassView ecv)
        {
            ORTContext db = null;

            ViewBag.EGHLayout = "ORT.EmergencyClass";
            ActionResult view = View("Index");

            string menuitem = this.HttpContext.Request.Params["menuitem"] ?? "Empty";

            try
            {
                db   = new ORTContext();
                view = View("EmergencyClass", db);
                if (menuitem.Equals("EmergencyClass.Create.Create"))
                {
                    int id = -1;
                    if (EGH01DB.Types.EmergencyClass.GetNextCode(db, out id))
                    {
                        int    type_code = ecv.type_code;
                        string name      = ecv.name;

                        string strminmass = this.HttpContext.Request.Params["minmass"] ?? "Empty";
                        float  minmass;
                        Helper.FloatTryParse(strminmass, out minmass);

                        string strmaxmass = this.HttpContext.Request.Params["maxmass"] ?? "Empty";
                        float  maxmass;
                        Helper.FloatTryParse(strmaxmass, out maxmass);

                        if (minmass < maxmass && name.Length > 0)
                        {
                            EmergencyClass scm = new EmergencyClass(type_code, name, minmass, maxmass);

                            if (EGH01DB.Types.EmergencyClass.Create(db, scm))
                            {
                                view = View("EmergencyClass", db);
                            }
                            else if (menuitem.Equals("EmergencyClass.Create.Cancel"))
                            {
                                view = View("EmergencyClass", db);
                            }
                        }
                        else if (maxmass < minmass)
                        {
                            ViewBag.Error = "Минимальное значение не должно быть больше максимального";
                            view          = View("EmergencyClassCreate", db);
                            return(view);
                        }
                        else if (strminmass.Length.Equals(0) || strmaxmass.Length.Equals(0) || name.Length.Equals(0))
                        {
                            ViewBag.Error = "Все поля должны быть заполнены";
                            view          = View("EmergencyClassCreate", db);
                            return(view);
                        }
                    }
                }
                else if (menuitem.Equals("EmergencyClass.Create.Cancel"))
                {
                    view = View("EmergencyClass", db);
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }

            return(view);
        }
Esempio n. 2
0
            public ECORehabilitation(GEAContext.ECOClassification ecoclassification) : base(ecoclassification)
            {
                db        = new ORTContext();
                this.date = DateTime.Now;

                int mk = 0;

                {
                    PenetrationDepth x = null;
                    if (PenetrationDepth.GetByDepth(db, this.groundblur.depth, out x))
                    {
                        this.penetrationdepth = x;
                    }
                    else
                    {
                        this.penetrationdepth = PenetrationDepth.defaulttype;
                    }
                }
                {
                    EmergencyClass x = null;
                    if (EmergencyClass.GetByMass(db, this.groundblur.totalmass, out x))
                    {
                        this.emergencyclass = x;
                    }
                    else
                    {
                        this.emergencyclass = EmergencyClass.defaulttype;
                    }
                }


                this.waterprotectionarea = getWaterProtectionArea(db);


                List <RehabilitationMethod> source = new List <RehabilitationMethod>();

                if (Helper.GetListRehabilitationMethod(db, ref source))
                {
                    foreach (RehabilitationMethod rm in source)
                    {
                        bool r1 = (this.isriskobjecttype && this.riskobjecttype.type_code > 0 && this.riskobjecttype.type_code == rm.riskobjecttype.type_code);

                        bool r2 = (rm.cadastretype.type_code == 0 || this.cadastretype.type_code == rm.cadastretype.type_code);

                        bool r3 = (rm.emergencyclass.type_code == 0 || this.emergencyclass.type_code == rm.emergencyclass.type_code);

                        bool r4 = (rm.penetrationdepth.type_code == 0 || this.penetrationdepth.type_code == rm.penetrationdepth.type_code);

                        bool r5 = (rm.soilpollutioncategories.code == 0 || this.soilpollutioncategories.code == rm.soilpollutioncategories.code);

                        bool r6 = (rm.waterpollutioncategories.code == 0 || this.waterpollutioncategories.code == rm.waterpollutioncategories.code);

                        bool r7 = (this.waterachieved == rm.waterachieved);

                        bool r8 = (this.waterprotectionarea.type_code == rm.waterprotectionarea.type_code);

                        int k = (r1?1:0) + (r2?1:0) + (r3?1:0) + (r3?1:0) + (r4?1:0) + (r5?1:0) + (r6?1:0) + (r7?1:0);

                        mk = k > mk?k:mk;

                        // if (r1 && r2 && r3 && r4 && r5 && r6 && r7 ) rehabilitationlist.Add(rm);
                        if (k >= 5)
                        {
                            rehabilitationlist.Add(rm);
                        }
                    }
                }
            }