コード例 #1
0
        public ActionResult RunAll()
        {
            CalculationRegression calculationRegression = new CalculationRegression();

            var AllCalcs = db.CalculationRegression.ToList();

            foreach (var Calc in AllCalcs)
            {
                var serializer = new XmlSerializer(typeof(Areas.Scheme.Models.Deferred));
                object result;

                using (TextReader reader = new StringReader(Calc.Input))
                {
                    result = serializer.Deserialize(reader);
                }

                CalculationBaseController Calculation = new CalculationBaseController();

                Calculation.Calculate(result, Calc.Scheme, Calc.Type, Calc.Reference, true);

            }

            return RedirectToAction("Index");
        }
コード例 #2
0
        public void CalculationRegressionAdd(string InputXML, string OutputXML, string CalcReference, string Scheme, string CalcType, Boolean Run)
        {
            CalculationRegression CalcRegression = new CalculationRegression();

            string OldOutput = "";
            int resultid = 0;
            using (var context = new CalculationDBContext())
            {
                var Regression = context.CalculationRegression
                .Where(b => b.Reference == CalcReference && b.Scheme == Scheme && b.Type == CalcType)
                .FirstOrDefault();

                if (Regression == null)
                {
                    resultid = 0;
                }
                else
                {
                    OldOutput = Regression.OutputOld;
                    resultid = Regression.Id;
                }

            }

            if (Run == true)
            {
                XMLFunctions XMLFunction = new XMLFunctions();

                string Difference = XMLFunction.MatchXML(OldOutput, OutputXML);
                CalcRegression.OutputNew = OutputXML;
                CalcRegression.LatestRunDate = DateTime.Now;
                CalcRegression.Difference = Difference;

                if (Difference == null)
                {
                    CalcRegression.Pass = "******";
                }
                else
                {
                    CalcRegression.Pass = "******";
                }
            }
            else
            {
                CalcRegression.Scheme = Scheme;
                CalcRegression.Type = CalcType;
                CalcRegression.Input = InputXML;
                CalcRegression.OutputOld = OutputXML;
                CalcRegression.Reference = CalcReference;
                CalcRegression.OriginalRunDate = DateTime.Now;
                CalcRegression.LatestRunDate = DateTime.Now;
            }

            if (resultid > 0)
            {
                CalcRegression.Id = resultid;
                EditCalcRegression(CalcRegression, Run);
            }
            else
            {
                CreateCalcRegression(CalcRegression);
            }
        }