Exemplo n.º 1
0
 /// <summary>
 /// Calculation field user control for group templates with data
 /// </summary>
 public ucCalculationFieldGroupTemplate(CalculationFieldTemplate calculationFieldTemplate)
 {
     InitializeComponent();
     cbxCalculationPrecision.MouseWheel += (o, e) => ((HandledMouseEventArgs)e).Handled = true;
     cbxFieldType.MouseWheel            += (o, e) => ((HandledMouseEventArgs)e).Handled = true;
     cbxValidationPrecision.MouseWheel  += (o, e) => ((HandledMouseEventArgs)e).Handled = true;
     this.calculationFieldTemplate       = calculationFieldTemplate;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Calculates the content of a CalculationFieldTemplate based on the given datafields
        /// </summary>
        /// <param name="calculationField"></param>
        /// <param name="datafields"></param>
        /// <returns></returns>
        public CalculationFieldResult CompareExpressionResults(CalculationFieldTemplate calculationField, List <DataFieldResult> datafields)
        {
            var retVal = CompareExpressionResults(calculationField.CalculationExpression, calculationField.CalculationExpressionPrecision,
                                                  calculationField.ValidationExpressions, calculationField.CalculationExpressionPrecision, datafields);

            retVal.Name      = calculationField.Name;
            retVal.FieldType = calculationField.FieldType;
            return(retVal);
        }
Exemplo n.º 3
0
        private CalculationFieldTemplate GetCalculationFieldTemplateFromUcCalculationField(Control ucCalculationFieldControl)
        {
            var retVal = new CalculationFieldTemplate();
            var ucCalculationFieldGroupTemplate = ucCalculationFieldControl as ucCalculationFieldGroupTemplate;

            if (ucCalculationFieldGroupTemplate != null)
            {
                retVal.Name                           = ucCalculationFieldGroupTemplate.NameText;
                retVal.FieldType                      = (DataFieldType)(ucCalculationFieldGroupTemplate.FieldTypeInt);
                retVal.CalculationExpression          = ucCalculationFieldGroupTemplate.CalculationExpressionText;
                retVal.CalculationExpressionPrecision = ucCalculationFieldGroupTemplate.CalculationPrecisionInt;
                retVal.ValidationExpressionPrecision  = ucCalculationFieldGroupTemplate.ValidationPrecisionInt;

                var splitArray = new string[1];
                splitArray[0] = Environment.NewLine;
                var valexArray = ucCalculationFieldGroupTemplate.ValidationExpressionText.Split(splitArray, StringSplitOptions.RemoveEmptyEntries);

                foreach (var item in valexArray)
                {
                    retVal.ValidationExpressions.Add(item);
                }
            }
            return(retVal);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Calculates the value for a given calculation field based on the supplied datafields (if datafields are part of the calculation expression)
 /// </summary>
 /// <param name="calculationField"></param>
 /// <param name="datafields"></param>
 /// <returns></returns>
 public double Calculate(CalculationFieldTemplate calculationField, List <DataFieldResult> datafields)
 {
     return(Calculate(calculationField.CalculationExpression, calculationField.CalculationExpressionPrecision, datafields));
 }