Beispiel #1
0
        public ActionResult Forecast( )
        {
            ActionResult view = View("Index");

            ViewBag.EGHLayout = "RGE.Forecast";
            try
            {
                RGEContext db = new RGEContext(this);
                view = View(db);

                ChoiceRiskObjectViewContext coc = ChoiceRiskObjectViewContext.Handler(db, this.HttpContext.Request.Params);
                ForecastViewConext          fvc = ForecastViewConext.Handler(db, this.HttpContext.Request.Params);

                string menuitem = this.HttpContext.Request.Params["menuitem"];
                if (menuitem != null && menuitem.Equals("Forecast.Point"))
                {
                    if (fvc.menuitempoint == fvc.menuitemgeop)
                    {
                        fvc.menuitempoint = fvc.menuitemrobj;
                    }
                    else
                    {
                        fvc.menuitempoint = fvc.menuitemgeop;
                    }
                    coc.Regim = ChoiceRiskObjectViewContext.REGIM.INIT;
                }
                else if (coc.Regim == ChoiceRiskObjectViewContext.REGIM.SET && fvc.Regim == ForecastViewConext.REGIM.SET)
                {
                    if (menuitem != null && menuitem.Equals("Forecast.Forecast"))
                    {
                        SpreadPoint spreadpoint = new SpreadPoint(coc.riskobject, fvc.petrochemicaltype, (float)fvc.Volume, (float)fvc.Temperature);
                        Incident    incident    = new Incident((DateTime)fvc.Incident_date, (DateTime)fvc.Incident_date_message, fvc.incidenttype, spreadpoint);
                        // fvc.ecoforecast = new RGEContext.ECOForecast(incident);
                        fvc.ecoforecastx = new RGEContext.ECOForecastX(db, incident);
                        fvc.Regim        = ForecastViewConext.REGIM.REPORT;
                    }
                    else if (menuitem != null && menuitem.Equals("Forecast.Cancel"))
                    {
                        view = View("Index", db);
                    }
                    else if (menuitem != null && menuitem.Equals("Forecast.Save"))
                    {
                        if (fvc.ecoforecastx != null)
                        {
                            XmlNode xn = fvc.ecoforecastx.CreateReport().toXmlNode();
                            EGH01DB.Primitives.Report report = new EGH01DB.Primitives.Report(1000, "П", DateTime.Now, xn);
                            EGH01DB.Primitives.Report.Create(db, report);

                            //  RGEContext.Report rrr = new RGEContext.Report(xn);
                            // public Report(int id, string stage, DateTime date, XmlNode xmlcontetnt, string comment = "")
                            // report.Save();
                        }
                    }
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }
            return(view);
        }
        public ActionResult Forecast( )
        {
            RGEContext   context = null;
            ActionResult view    = View("Index");

            ViewBag.EGHLayout = "RGE.Forecast";
            try
            {
                context = new RGEContext(this);
                view    = View(context);

                if (!ForecastViewConext.Handler(context, this.HttpContext.Request.Params))
                {
                    if (ChoiceRiskObjectContext.Handler(context, this.HttpContext.Request.Params))
                    {
                    }
                }
                else
                {
                    string menuitem = this.HttpContext.Request.Params["menuitem"];
                    if (menuitem.Equals("Forecast.Forecast"))
                    {
                        ForecastViewConext viewcontext = context.GetViewContext("Forecast") as ForecastViewConext;
                        if (viewcontext != null)
                        {
                            RiskObject riskobject = new RiskObject();
                            if (RiskObject.GetById(context, (int)viewcontext.RiskObjectId, ref riskobject))
                            {
                                PetrochemicalType petrochemicaltype = new PetrochemicalType();
                                if (PetrochemicalType.GetByCode(context, (int)viewcontext.Petrochemical_type_code, ref petrochemicaltype))
                                {
                                    SpreadPoint spreadpoint = new SpreadPoint(riskobject, petrochemicaltype, (float)viewcontext.Volume);
                                    EGH01DB.Types.IncidentType incidenttype = new EGH01DB.Types.IncidentType();
                                    if (EGH01DB.Types.IncidentType.GetByCode(context, (int)viewcontext.Incident_type_code, out incidenttype))
                                    {
                                        Incident incident = new Incident(
                                            (DateTime)viewcontext.Incident_date,
                                            (DateTime)viewcontext.Incident_date_message,
                                            incidenttype,
                                            spreadpoint
                                            );
                                        viewcontext.ecoforecast = new RGEContext.ECOForecast(incident);
                                        viewcontext.Regim       = ForecastViewConext.REGIM.REPORT;
                                    }
                                    else
                                    {
                                        viewcontext.Regim = ForecastViewConext.REGIM.RUNERROR;
                                    }
                                }
                                else
                                {
                                    viewcontext.Regim = ForecastViewConext.REGIM.RUNERROR;
                                }
                            }
                            else
                            {
                                viewcontext.Regim = ForecastViewConext.REGIM.RUNERROR;
                            }
                        }
                        else
                        {
                            viewcontext.Regim = ForecastViewConext.REGIM.RUNERROR;
                        }
                    }
                    else if (menuitem.Equals("Forecast.Cancel"))
                    {
                        view = View("Index", context);                                         //view = Redirect("Index");
                    }
                    else if (menuitem.Equals("Forecast.Save"))
                    {
                        ForecastViewConext             viewcontext = context.GetViewContext("Forecast") as ForecastViewConext;
                        EGH01DB.RGEContext.ECOForecast forecast    = viewcontext.ecoforecast;
                        //XmlNode node =  forecast.toXmlNode("Отладка");
                        //XmlDocument doc = new XmlDocument();
                        //doc.AppendChild(doc.ImportNode(node, true));
                        //doc.Save(@"C:\Report.xml");

                        if (RGEContext.ECOForecast.Create(context, forecast, "отладка"))
                        {
                        }
                    }
                }
            }
            catch (RGEContext.Exception e)
            {
                ViewBag.msg = e.message;
            }
            catch (Exception e)
            {
                ViewBag.msg = e.Message;
            }
            return(view);
        }