示例#1
0
 public void CopyTotalMN1Total1Properties(MN1Total1 ind,
                                          MN1Total1 calculator)
 {
     ind.ErrorMessage = calculator.ErrorMessage;
     ind.TotalFNIndex = calculator.TotalFNIndex;
     if (calculator.CalcParameters == null)
     {
         calculator.CalcParameters = new CalculatorParameters();
     }
     if (ind.CalcParameters == null)
     {
         ind.CalcParameters = new CalculatorParameters();
     }
     ind.CalcParameters = new CalculatorParameters(calculator.CalcParameters);
     if (calculator.MNSR1Stock == null)
     {
         calculator.MNSR1Stock = new MNSR01Stock();
     }
     if (ind.MNSR1Stock == null)
     {
         ind.MNSR1Stock = new MNSR01Stock();
     }
     ind.MNSR1Stock.CopyTotalMNSR01StockProperties(calculator.MNSR1Stock);
     if (calculator.MNSR2Stock == null)
     {
         calculator.MNSR2Stock = new MNSR02Stock();
     }
     if (ind.MNSR2Stock == null)
     {
         ind.MNSR2Stock = new MNSR02Stock();
     }
     ind.MNSR2Stock.CopyTotalMNSR02StockProperties(calculator.MNSR2Stock);
 }
示例#2
0
 public void InitTotalMN1Total1Properties(MN1Total1 ind, CalculatorParameters calcs)
 {
     ind.ErrorMessage   = string.Empty;
     ind.TotalFNIndex   = 0;
     ind.CalcParameters = calcs;
     ind.MNSR1Stock     = new MNSR01Stock();
     ind.MNSR2Stock     = new MNSR02Stock();
 }
示例#3
0
        public bool AddOutputToTotalStock(MN1Total1 totStock, double multiplier,
                                          MNB1Calculator mnbOutput)
        {
            bool bHasCalculations = false;

            totStock.TotalFNIndex += mnbOutput.FNIndex * multiplier;
            totStock.MNSR2Stock.AddOutputToTotalStock(multiplier, mnbOutput);
            bHasCalculations = true;
            return(bHasCalculations);
        }
示例#4
0
        public static bool AddSubTotalToTotalStock(MN1Total1 baseStat, double multiplier,
                                                   MN1Total1 subTotal)
        {
            bool bHasCalculations = false;

            //use underlying stock
            baseStat.MNSR1Stock.AddSubTotalToTotalStock(multiplier, subTotal.MNSR1Stock);
            baseStat.MNSR2Stock.AddSubTotalToTotalStock(multiplier, subTotal.MNSR2Stock);
            bHasCalculations = true;
            return(bHasCalculations);
        }
示例#5
0
        public bool AddInputToTotalStock(MN1Total1 totStock, double multiplier,
                                         MNC1Calculator mncInput)
        {
            bool bHasCalculations = false;

            //multiplier adjusted nutrients
            totStock.TotalFNIndex += mncInput.FNIndex * multiplier;
            totStock.MNSR1Stock.AddInputToTotalStock(multiplier, mncInput);
            bHasCalculations = true;
            return(bHasCalculations);
        }
示例#6
0
        public void SetTotalMN1Total1Property(MN1Total1 ind,
                                              string attName, string attValue)
        {
            switch (attName)
            {
            case cTotalFNIndex:
                ind.TotalFNIndex = CalculatorHelpers.ConvertStringToDouble(attValue);
                break;

            default:
                break;
            }
        }
示例#7
0
        public static bool AddandSubtractSubTotalToTotalStock(MN1Total1 baseStat, double multiplier,
                                                              MN1Total1 subTotal)
        {
            bool bHasCalculations = false;

            //use underlying stock
            baseStat.MNSR1Stock.AddSubTotalToTotalStock(multiplier, subTotal.MNSR1Stock);
            //MNSR1Stock holds nets; MNSR2Stock will be set to zero
            //no need for subTotal.SubApplicationType == Constants.SUBAPPLICATION_TYPES.outcomeprices.ToString())
            //because MNSR2Stock holds output calcs
            baseStat.MNSR1Stock.SubtractSubTotalFromTotalStock(multiplier, subTotal.MNSR2Stock);
            bHasCalculations = true;
            return(bHasCalculations);
        }
示例#8
0
        public string GetTotalMN1Total1Property(MN1Total1 ind, string attName)
        {
            string sPropertyValue = string.Empty;

            switch (attName)
            {
            case cTotalFNIndex:
                sPropertyValue = ind.TotalFNIndex.ToString();
                break;

            default:
                break;
            }
            return(sPropertyValue);
        }
示例#9
0
        public void SetTotalMN1Total1Attributes(MN1Total1 ind,
                                                string attNameExtension, ref XmlWriter writer)
        {
            bool bIsCostNode    = CalculatorHelpers.IsCostNode(this.CalcParameters.CurrentElementNodeName);
            bool bIsBenefitNode = CalculatorHelpers.IsBenefitNode(this.CalcParameters.CurrentElementNodeName);
            bool bIsBoth        = (bIsBenefitNode == false && bIsCostNode == false) ? true : false;

            if (bIsCostNode || bIsBoth)
            {
                writer.WriteAttributeString(
                    string.Concat(cTotalFNIndex, attNameExtension), ind.TotalFNIndex.ToString("f2"));
            }
            if (bIsBenefitNode || bIsBoth)
            {
            }
        }
示例#10
0
        public virtual void SetTotalMN1Total1Attributes(MN1Total1 ind,
                                                        string attNameExtension, ref XElement calculator)
        {
            bool bIsCostNode    = CalculatorHelpers.IsCostNode(this.CalcParameters.CurrentElementNodeName);
            bool bIsBenefitNode = CalculatorHelpers.IsBenefitNode(this.CalcParameters.CurrentElementNodeName);
            bool bIsBoth        = (bIsBenefitNode == false && bIsCostNode == false) ? true : false;

            if (bIsCostNode || bIsBoth)
            {
                CalculatorHelpers.SetAttributeDoubleF2(calculator,
                                                       string.Concat(cTotalFNIndex, attNameExtension), ind.TotalFNIndex);
            }
            if (bIsBenefitNode || bIsBoth)
            {
            }
        }
示例#11
0
 public void SetTotalMN1Total1Properties(MN1Total1 ind,
                                         string attNameExtension, XElement calculator)
 {
     ind.TotalFNIndex = CalculatorHelpers.GetAttributeDouble(calculator,
                                                             string.Concat(cTotalFNIndex, attNameExtension));
 }
示例#12
0
 //copy constructor
 public MN1Total1(MN1Total1 calculator)
     : base(calculator)
 {
     CopyTotalMN1Total1Properties(this, calculator);
 }