Ejemplo n.º 1
0
        private void CpMenuFormulaCalculation_MenuClicked(object sender, ConrolPackageMenuArg e, SimpleColumnControl columnControl)
        {
            DP_DataRepository dataItem = null;

            if (EditArea is I_EditEntityAreaOneData)
            {
                dataItem = EditArea.GetDataList().First();
            }
            else
            {
                dataItem = e.data as DP_DataRepository;
            }
            FormulaCalculationAreaInitializer initializer = new FormulaCalculationAreaInitializer();

            initializer.DataItem            = dataItem;
            initializer.FomulaManager       = this;
            initializer.ColumnCustomFormula = columnControl.Column.ColumnCustomFormula;
            initializer.ColumnControl       = columnControl;
            var formulaCalculationArea = new FormulaCalculationArea(initializer);

            if (formulaCalculationArea.View != null)
            {
                var window = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetDialogWindow();
                window.ShowDialog(formulaCalculationArea.View, "محاسبه فرمول", Enum_WindowSize.Big);
            }
        }
Ejemplo n.º 2
0
        public FormulaCalculationArea(FormulaCalculationAreaInitializer initializer)
        {
            AreaInitializer        = initializer;
            View                   = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetViewOfFormulaCalculationArea();
            View.CloseRequested   += View_CloseRequested;
            View.FromulaExpression = initializer.ColumnCustomFormula.Formula.Tooltip;
            var dataProperty = initializer.DataItem.GetProperty(initializer.ColumnControl.Column.ID);

            if (dataProperty != null)
            {
                AreaInitializer.FomulaManager.CalculateProperty(dataProperty, AreaInitializer.ColumnCustomFormula, AreaInitializer.DataItem, false);
                if (string.IsNullOrEmpty(dataProperty.FormulaException))
                {
                    View.ResultString = dataProperty.Value;
                }
                else
                {
                    View.ResultString = "Error";
                    View.AddException(dataProperty.FormulaException);
                    View.ExceptionTabSelect();
                }

                if (dataProperty.FormulaUsageParemeters.Any())
                {
                    View.ClearTree();
                    foreach (var item in dataProperty.FormulaUsageParemeters)
                    {
                        AddFormulaParameteNode(null, item);
                    }
                }

                //if (FormulaOption == null)
                //{
                //    //همون اول اگر پراپرتی دیتیل یا خطا داره لود بشه
                //    //FormulaOption = AgentUICoreMediator.GetAgentUICoreMediator.UIManager.GetFormulaOptionForm();
                //    //FormulaOption.ClaculateRequested += (sender1, e1) => FormulaOption_ClaculateRequested(sender1, e1, e.data as DP_DataRepository);
                //    //FormulaOption.ErrorDetailRequested += (sender1, e1) => FormulaOption_ErrorDetailRequested(sender1, e1, e.data as DP_DataRepository);
                //    //FormulaOption.ClaculationDetailsRequested += (sender1, e1) => FormulaOption_ClaculationDetailsRequested(sender1, e1, e.data as DP_DataRepository);
                //}
                //SetCalculatoinButtons(dataProperty);
            }
            else
            {
                throw new Exception("asdasdF");
            }
        }