Пример #1
0
        /// <summary>Outputs where Date Part function is used includes the array builder.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            DateFunctions          DatesFunctions = new DateFunctions();
            ArrayBuildingFunctions ArrayBuilder   = new ArrayBuildingFunctions();
            DatePart parameters = (DatePart)javaScriptSerializ­er.Deserialize(jparameters, typeof(DatePart));

            string[] Date1parts = null;
            //Returns Array
            Date1parts = ArrayBuilder.InputArrayBuilder(parameters.Date1, jCategory, GroupID, ItemID);
            string Output = null;

            //Loop through the array to calculate each value in array
            foreach (string part in Date1parts)
            {
                dynamic  InputA = Config.VariableReplace(jCategory, part, GroupID, ItemID);
                DateTime Date1;
                DateTime.TryParse(InputA, out Date1);
                int DatePart = DatesFunctions.GetDatePart(parameters.Part, Date1);
                Output = Output + Convert.ToString(DatePart) + "~";
            }
            Output = Output.Remove(Output.Length - 1);
            return(Convert.ToString(Output));
        }
Пример #2
0
        /// <summary>Return where function is being built this is the value that should be passed back to the main calculation.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            ArrayBuildingFunctions ArrayBuilder = new ArrayBuildingFunctions();
            Return parameters = (Return)javaScriptSerializ­er.Deserialize(jparameters, typeof(Return));

            string[] Return1parts = null;
            //Returns Array
            Return1parts = ArrayBuilder.InputArrayBuilder(parameters.Variable, jCategory, GroupID, ItemID);
            string Output = null;

            //Loop through the array to calculate each value in array
            foreach (string part in Return1parts)
            {
                dynamic InputA = Config.VariableReplace(jCategory, part, GroupID, ItemID);
                Output = Output + Convert.ToString(InputA) + "~";
            }
            Output = Output.Remove(Output.Length - 1);
            return(Convert.ToString(Output));
        }
Пример #3
0
        public String Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID, string MathString, bool PowOpen)
        {
            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            string  formula    = null;
            Maths   Maths      = new Maths();
            Maths   parameters = (Maths)javaScriptSerializ­er.Deserialize(jparameters, typeof(Maths));
            dynamic InputA     = Config.VariableReplace(jCategory, parameters.Input1, GroupID, ItemID);
            dynamic InputB     = Config.VariableReplace(jCategory, parameters.Input2, GroupID, ItemID);
            string  Bracket1   = Convert.ToString(parameters.Bracket1);
            string  Input1     = Convert.ToString(InputA);
            string  Logic      = Convert.ToString(parameters.Logic);
            string  Input2     = Convert.ToString(InputB);
            string  Bracket2   = Convert.ToString(parameters.Bracket2);
            string  Logic2     = Convert.ToString(parameters.Logic2);

            if (Logic == "Pow")
            {
                formula = Logic + '(' + Input1 + ',' + Input2 + ')';
            }
            else
            {
                formula = Input1 + Logic + Input2;
            }
            string MathString1;

            if (Logic2 == "Pow")
            {
                MathString1 = string.Concat(Logic2, "(", MathString, Bracket1, formula, Bracket2, ",");
            }
            else
            {
                MathString1 = string.Concat(MathString, Bracket1, formula, Bracket2, Logic2);
            }
            if (Logic2 != "Pow" && PowOpen == true)
            {
                MathString1 = string.Concat(MathString1, ")");
            }
            return(MathString1);
        }
Пример #4
0
        public String Output(string jparameters, List<CategoryViewModel> jCategory, int GroupID, int ItemID, string MathString, bool PowOpen)
        {
            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            string formula = null;
            Maths Maths = new Maths();
            Maths parameters = (Maths)javaScriptSerializ­er.Deserialize(jparameters, typeof(Maths));
            dynamic InputA = Config.VariableReplace(jCategory, parameters.Input1, GroupID, ItemID);
            dynamic InputB = Config.VariableReplace(jCategory, parameters.Input2, GroupID, ItemID);
            string Bracket1 = Convert.ToString(parameters.Bracket1);
            string Input1 = Convert.ToString(InputA);
            string Logic = Convert.ToString(parameters.Logic);
            string Input2 = Convert.ToString(InputB);
            string Bracket2 = Convert.ToString(parameters.Bracket2);
            string Logic2 = Convert.ToString(parameters.Logic2);

            if (Logic == "Pow")
            {
                formula = Logic + '(' + Input1 + ',' + Input2 + ')';
            }
            else
            {
                formula = Input1 + Logic + Input2;
            }
            string MathString1;
            if (Logic2 == "Pow")
            {
                MathString1 = string.Concat(Logic2, "(", MathString, Bracket1, formula, Bracket2, ",");
            }
            else
            {
                MathString1 = string.Concat(MathString, Bracket1, formula, Bracket2, Logic2);
            }
            if (Logic2 != "Pow" && PowOpen == true)
            {
                MathString1 = string.Concat(MathString1, ")");
            }
            return MathString1;
        }
Пример #5
0
 /// <summary>Outputs where Date Part function is used includes the array builder.
 /// <para>jparameters = JSON congifurations relating to this function</para>
 /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
 /// <para>GroupID = current Group ID</para>
 /// <para>ItemID = current row ID</para>
 /// </summary>
 public string Output(string jparameters, List<CategoryViewModel> jCategory, int GroupID, int ItemID)
 {
     JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
     CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
     DateFunctions DatesFunctions = new DateFunctions();
     ArrayBuildingFunctions ArrayBuilder = new ArrayBuildingFunctions();
     DatePart parameters = (DatePart)javaScriptSerializ­er.Deserialize(jparameters, typeof(DatePart));
     string[] Date1parts = null;
     //Returns Array
     Date1parts = ArrayBuilder.InputArrayBuilder(parameters.Date1, jCategory, GroupID, ItemID);
     string Output = null;
     //Loop through the array to calculate each value in array
     foreach (string part in Date1parts)
     {
         dynamic InputA = Config.VariableReplace(jCategory, part, GroupID, ItemID);
         DateTime Date1;
         DateTime.TryParse(InputA, out Date1);
         int DatePart = DatesFunctions.GetDatePart(parameters.Part, Date1);
         Output = Output + Convert.ToString(DatePart) + "~";
     }
     Output = Output.Remove(Output.Length - 1);
     return Convert.ToString(Output);
 }
Пример #6
0
        /// <summary>Outputs where Array Functions function is used, includes the array builder.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            JavaScriptSerializer  javaScriptSerializer = new JavaScriptSerializer();
            MathematicalFunctions MathFunctions        = new MathematicalFunctions();
            ArrayFunctions        parameters           = (ArrayFunctions)javaScriptSerializ­er.Deserialize(jparameters, typeof(ArrayFunctions));
            dynamic InputA      = Config.VariableReplace(jCategory, parameters.LookupValue, GroupID, ItemID);
            string  OutputValue = null;

            if (parameters.LookupType == "Decimal")
            {
                OutputValue = DecimalCalculation(parameters, InputA);
            }
            else if (parameters.LookupType == "Date")
            {
                OutputValue = DateCalculation(parameters, InputA);
            }
            else
            {
                OutputValue = Convert.ToString(0);
            }
            return(Convert.ToString(OutputValue));
        }
Пример #7
0
        public string Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID, dynamic variable, string DataType)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            ArrayBuildingFunctions ArrayBuilder = new ArrayBuildingFunctions();

            string[] Parts = null;
            //Returns Array
            Parts = ArrayBuilder.InputArrayBuilder(variable, jCategory, GroupID, ItemID);
            string Output = null;

            //Loop through the array to calculate each value in array
            foreach (string part in Parts)
            {
                dynamic InputA = Config.VariableReplace(jCategory, part, GroupID, ItemID);
                if (DataType == "Date")
                {
                    DateTime Date1;
                    DateTime.TryParse(InputA, out Date1);
                    Output = Output + Convert.ToString(Date1.ToShortDateString()) + "~";
                }
                else if (DataType == "Decimal")
                {
                    Int16 Int1;
                    Int16.TryParse(InputA, out Int1);
                    Output = Output + Convert.ToString(Int1) + "~";
                }
                else
                {
                    Output = Output + Convert.ToString(InputA) + "~";
                }
            }
            Output = Output.Remove(Output.Length - 1);
            return(Convert.ToString(Output));
        }
Пример #8
0
        /// <summary>Outputs where Array Functions function is used, includes the array builder.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List<CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            MathematicalFunctions MathFunctions = new MathematicalFunctions();
            ArrayFunctions parameters = (ArrayFunctions)javaScriptSerializ­er.Deserialize(jparameters, typeof(ArrayFunctions));
            dynamic InputA = Config.VariableReplace(jCategory, parameters.LookupValue, GroupID, ItemID);
            string OutputValue = null;

            if (parameters.LookupType == "Decimal")
            {
                OutputValue = DecimalCalculation(parameters, InputA);
            }
            else if(parameters.LookupType == "Date")
            {
                OutputValue = DateCalculation(parameters, InputA);
            }
            else
            {
                OutputValue = Convert.ToString(0);
            }
            return Convert.ToString(OutputValue);
        }
Пример #9
0
        /// <summary>Outputs Date Adjustment function is used, includes the array builder.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List<CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            DateFunctions DatesFunctions = new DateFunctions();
            ArrayBuildingFunctions ArrayBuilder = new ArrayBuildingFunctions();
            Dates parameters = (Dates)javaScriptSerializ­er.Deserialize(jparameters, typeof(Dates));
            if(parameters.Type == "Today")
            {
                return DateTime.Now.ToShortDateString();
            }
            string[] Date1parts = null;
            string[] Date2parts = null;
            //Returns array
            Date1parts = ArrayBuilder.InputArrayBuilder(parameters.Date1, jCategory, GroupID, ItemID);
            Date2parts = ArrayBuilder.InputArrayBuilder(parameters.Date2, jCategory, GroupID, ItemID);
            string Output = null;
            int Counter = 0;
            //Gets Max Length of array so loops through all values
            int MaxLength = ArrayBuilder.GetMaxLength(Date1parts, Date2parts);
            //Loop through the array to calculate each value in array
            for (int i = 0; i < MaxLength; i++)
            {
                dynamic InputA = null;
                dynamic InputB = null;
                //Gets the current array to use in the loop
                InputA = ArrayBuilder.GetArrayPart(Date1parts, Counter);
                InputB = ArrayBuilder.GetArrayPart(Date2parts, Counter);
                dynamic InputC = Config.VariableReplace(jCategory, parameters.Period, GroupID, ItemID);
                DateTime Date1;
                DateTime Date2;
                Decimal Period;
                //Data output checker
                if (InputA != null)
                {
                    DateTime.TryParse(InputA, out Date1);
                }
                else
                {
                    Date1 = Convert.ToDateTime("01/01/0001");
                }

                if (InputB != null)
                {
                    DateTime.TryParse(InputB, out Date2);
                }
                else
                {
                    Date2 = Convert.ToDateTime("01/01/0001");
                }
                Decimal.TryParse(InputC, out Period);
                string date = DatesFunctions.DateAdjustment(parameters.Type, Convert.ToString(Date1), Convert.ToString(Date2), parameters.PeriodType, Period, parameters.Adjustment, parameters.Day, parameters.Month);
                Output = Output + date + "~";
                Counter = Counter + 1;
            }
            if(Output != null)
            {
                Output = Output.Remove(Output.Length - 1);
            }
            return Convert.ToString(Output);
        }
Пример #10
0
        /// <summary>Outputs Date Adjustment function is used, includes the array builder.
        /// <para>jparameters = JSON congifurations relating to this function</para>
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(string jparameters, List <CategoryViewModel> jCategory, int GroupID, int ItemID)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            DateFunctions          DatesFunctions = new DateFunctions();
            ArrayBuildingFunctions ArrayBuilder   = new ArrayBuildingFunctions();
            Dates parameters = (Dates)javaScriptSerializ­er.Deserialize(jparameters, typeof(Dates));

            if (parameters.Type == "Today")
            {
                return(DateTime.Now.ToShortDateString());
            }
            string[] Date1parts = null;
            string[] Date2parts = null;
            //Returns array
            Date1parts = ArrayBuilder.InputArrayBuilder(parameters.Date1, jCategory, GroupID, ItemID);
            Date2parts = ArrayBuilder.InputArrayBuilder(parameters.Date2, jCategory, GroupID, ItemID);
            string Output  = null;
            int    Counter = 0;
            //Gets Max Length of array so loops through all values
            int MaxLength = ArrayBuilder.GetMaxLength(Date1parts, Date2parts);

            //Loop through the array to calculate each value in array
            for (int i = 0; i < MaxLength; i++)
            {
                dynamic InputA = null;
                dynamic InputB = null;
                //Gets the current array to use in the loop
                InputA = ArrayBuilder.GetArrayPart(Date1parts, Counter);
                InputB = ArrayBuilder.GetArrayPart(Date2parts, Counter);
                dynamic  InputC = Config.VariableReplace(jCategory, parameters.Period, GroupID, ItemID);
                DateTime Date1;
                DateTime Date2;
                Decimal  Period;
                //Data output checker
                if (InputA != null)
                {
                    DateTime.TryParse(InputA, out Date1);
                }
                else
                {
                    Date1 = Convert.ToDateTime("01/01/0001");
                }

                if (InputB != null)
                {
                    DateTime.TryParse(InputB, out Date2);
                }
                else
                {
                    Date2 = Convert.ToDateTime("01/01/0001");
                }
                Decimal.TryParse(InputC, out Period);
                string date = DatesFunctions.DateAdjustment(parameters.Type, Convert.ToString(Date1), Convert.ToString(Date2), parameters.PeriodType, Period, parameters.Adjustment, parameters.Day, parameters.Month);
                Output  = Output + date + "~";
                Counter = Counter + 1;
            }
            if (Output != null)
            {
                Output = Output.Remove(Output.Length - 1);
            }
            return(Convert.ToString(Output));
        }
Пример #11
0
 /// <summary>Outputs where Logic is set on the row .
 /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
 /// <para>bit = the logic to set</para>
 /// <para>GroupID = current Group ID</para>
 /// <para>ItemID = current row ID</para>
 /// </summary>
 public string Output(List<CategoryViewModel> jCategory, Logic bit, int GroupID, int ItemID)
 {
     JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
     CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
     dynamic InputA = Config.VariableReplace(jCategory, bit.Input1, GroupID, ItemID);
     dynamic InputB = Config.VariableReplace(jCategory, bit.Input2, GroupID, ItemID);
     string Logic = null;
     //Sets the Logic indicator
     if (bit.LogicInd == "NotEqual")
     {
         Logic = "<>";
     }
     else if (bit.LogicInd == "Greater")
     {
         Logic = ">";
     }
     else if (bit.LogicInd == "GreaterEqual")
     {
         Logic = ">=";
     }
     else if (bit.LogicInd == "Less")
     {
         Logic = "<";
     }
     else if (bit.LogicInd == "LessEqual")
     {
         Logic = "<=";
     }
     else
     {
         Logic = bit.LogicInd;
     }
     //Parses Decimals
     bool InputADeciSucceeded;
     bool InputBDeciSucceeded;
     decimal InputADeci;
     decimal InputBDeci;
     InputADeciSucceeded = decimal.TryParse(InputA, out InputADeci);
     InputBDeciSucceeded = decimal.TryParse(InputB, out InputBDeci);
     //Parses Dates
     bool InputADateSucceeded;
     bool InputBDateSucceeded;
     DateTime InputADate;
     DateTime InputBDate;
     InputADateSucceeded = DateTime.TryParse(InputA, out InputADate);
     InputBDateSucceeded = DateTime.TryParse(InputB, out InputBDate);
     //Builds the string to calculate the logis
     if (InputADeciSucceeded == true && InputBDeciSucceeded == true)
     {
         return "if(" + InputADeci + Logic + InputBDeci + ",true,false)";
     }
     else if (InputADeciSucceeded == true && InputBDeciSucceeded == false)
     {
         return "if(" + InputADeci + Logic + "'" + InputBDeci + "'" + ",true,false)";
     }
     else if (InputADeciSucceeded == false && InputBDeciSucceeded == true)
     {
         return "if(" + "'" + InputADeci + "'" + Logic + InputBDeci + ",true,false)";
     }
     else if (InputADateSucceeded == true && InputBDateSucceeded == true)
     {
         return "if(" + "'" + InputADate + "'" + Logic + "'" + InputBDate + "'" + ",true,false)";
     }
     else if (InputADateSucceeded == true && InputBDateSucceeded == false)
     {
         return "if(" + InputADate + Logic + "'" + InputBDate + "'" + ",true,false)";
     }
     else if (InputADateSucceeded == false && InputBDateSucceeded == true)
     {
         return "if(" + "'" + InputADate + "'" + Logic + InputBDate + ",true,false)";
     }
     else
     {
         string inputA = Convert.ToString(InputA);
         string inputB = Convert.ToString(InputB);
         return "if(" + "'" + inputA + "'" + Logic + "'" + inputB + "'" + ",true,false)";
     }
 }
Пример #12
0
        /// <summary>Outputs where Logic is set on the row .
        /// <para>jCategory = the whole configuration which is required to do the variable replace</para>
        /// <para>bit = the logic to set</para>
        /// <para>GroupID = current Group ID</para>
        /// <para>ItemID = current row ID</para>
        /// </summary>
        public string Output(List <CategoryViewModel> jCategory, Logic bit, int GroupID, int ItemID)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            CalculationCSharp.Areas.Configuration.Models.ConfigFunctions Config = new CalculationCSharp.Areas.Configuration.Models.ConfigFunctions();
            dynamic InputA = Config.VariableReplace(jCategory, bit.Input1, GroupID, ItemID);
            dynamic InputB = Config.VariableReplace(jCategory, bit.Input2, GroupID, ItemID);
            string  Logic  = null;

            //Sets the Logic indicator
            if (bit.LogicInd == "NotEqual")
            {
                Logic = "<>";
            }
            else if (bit.LogicInd == "Greater")
            {
                Logic = ">";
            }
            else if (bit.LogicInd == "GreaterEqual")
            {
                Logic = ">=";
            }
            else if (bit.LogicInd == "Less")
            {
                Logic = "<";
            }
            else if (bit.LogicInd == "LessEqual")
            {
                Logic = "<=";
            }
            else
            {
                Logic = bit.LogicInd;
            }
            //Parses Decimals
            bool    InputADeciSucceeded;
            bool    InputBDeciSucceeded;
            decimal InputADeci;
            decimal InputBDeci;

            InputADeciSucceeded = decimal.TryParse(InputA, out InputADeci);
            InputBDeciSucceeded = decimal.TryParse(InputB, out InputBDeci);
            //Parses Dates
            bool     InputADateSucceeded;
            bool     InputBDateSucceeded;
            DateTime InputADate;
            DateTime InputBDate;

            InputADateSucceeded = DateTime.TryParse(InputA, out InputADate);
            InputBDateSucceeded = DateTime.TryParse(InputB, out InputBDate);
            //Builds the string to calculate the logis
            if (InputADeciSucceeded == true && InputBDeciSucceeded == true)
            {
                return("if(" + InputADeci + Logic + InputBDeci + ",true,false)");
            }
            else if (InputADeciSucceeded == true && InputBDeciSucceeded == false)
            {
                return("if(" + InputADeci + Logic + "'" + InputBDeci + "'" + ",true,false)");
            }
            else if (InputADeciSucceeded == false && InputBDeciSucceeded == true)
            {
                return("if(" + "'" + InputADeci + "'" + Logic + InputBDeci + ",true,false)");
            }
            else if (InputADateSucceeded == true && InputBDateSucceeded == true)
            {
                return("if(" + "'" + InputADate + "'" + Logic + "'" + InputBDate + "'" + ",true,false)");
            }
            else if (InputADateSucceeded == true && InputBDateSucceeded == false)
            {
                return("if(" + InputADate + Logic + "'" + InputBDate + "'" + ",true,false)");
            }
            else if (InputADateSucceeded == false && InputBDateSucceeded == true)
            {
                return("if(" + "'" + InputADate + "'" + Logic + InputBDate + ",true,false)");
            }
            else
            {
                string inputA = Convert.ToString(InputA);
                string inputB = Convert.ToString(InputB);
                return("if(" + "'" + inputA + "'" + Logic + "'" + inputB + "'" + ",true,false)");
            }
        }