public virtual void CalculateGridTotalFields(APMDataGrid DataGrid)
        {
            Boolean haveNullArticle = false;

            if
            (
                !(DataGrid.Parent is APMDataGridExtended) ||
                (operationType == OperationType.Nothing) ||
                (documentHeader.XType == DocumentTypes.AccountingDocument)
            )
            {
                return;
            }
            double sumAmount = 0;
            double?sumPrice  = 0;

            foreach (ArticleRT item in DataGrid.Items)
            {
                sumAmount += GlobalFunctions.GetValueFromProperty <ArticleRT, double>(item, FieldNames <ArticleRT> .Count);
                var articlePrice = GlobalFunctions.GetValueFromProperty <ArticleRT, double>(item, FieldNames <ArticleRT> .AllPrice);
                if (articlePrice == 0)
                {
                    haveNullArticle = true;
                }
                sumPrice += articlePrice;
            }
            GlobalFunctions.SetValueToProperty <MasterRT, double>(selectedRecord, FieldNames <MasterRT> .SumCount, sumAmount);
            GlobalFunctions.SetValueToProperty <MasterRT, double?>(selectedRecord, FieldNames <MasterRT> .SumPrice, (haveNullArticle ? null : sumPrice));
        }
        public override void CalculateGridTotalFields(APMDataGrid DataGrid)
        {
            base.CalculateGridTotalFields(DataGrid);
            creditCount = 0;
            debtCount   = 0;
            stp_acc_document_article_selResult documentArticle = new stp_acc_document_article_selResult();

            for (int i = 0; i < bindingListArticle.Count; i++)
            {
                documentArticle = bindingListArticle[i];
                debtCount       = documentArticle.acc_document_article_debt + debtCount;
                creditCount     = documentArticle.acc_document_article_credit + creditCount;
            }

            selectedRecord.acc_document_sum_credit = creditCount;
            selectedRecord.acc_document_sum_debt   = debtCount;
            selectedRecord.acc_document_remaining  = Math.Abs(creditCount - debtCount);
        }
        public void Initial_WindowTwoTab
        (
            APMDocumentHeader documentHeader, TextBox txtCount, Label lblCount, TextBox txtPrice, Label lblPrice, APMComboBox cmbMeasure, APMDataGridExtended masterDataGrid, APMDataGridExtended articleDataGrid,
            APMToolBar masterToolbar, GroupBox masterCurrentRowGroupBox, APMGroupBoxExtended articleCurrentRowGroupBox,
            string masterXOperation, string articleXOperation, TabControl tabControl,
            TextBox txtDescription, int?pricePosition, int?all_pricePosition, ReportClass printReportFile, params int[] collapsingColumnsWhenDontHaveBaseDocument
        )
        {
            this.WindowState     = WindowState.Maximized;
            BLLArticle           = Activator.CreateInstance <BLL <ArticleRT> >();
            grpCurrentRowArticle = articleCurrentRowGroupBox;
            if (grpCurrentRowArticle != null)
            {
                grpCurrentRowArticle.XCanCollapse = true;
            }
            beforeEditingArticle   = Activator.CreateInstance <ArticleRT>();
            this.txtDescription    = txtDescription;
            this.txtCount          = txtCount;
            this.lblCount          = lblCount;
            this.txtPrice          = txtPrice;
            this.lblPrice          = lblPrice;
            this.pricePosition     = pricePosition;
            this.all_pricePosition = all_pricePosition;
            this.cmbMeasure        = cmbMeasure;
            this.documentHeader    = documentHeader;
            this.articleGrid       = articleDataGrid.datagrid;
            this.articleDataGrid   = articleDataGrid;
            this.xOperationArticle = articleXOperation;
            this.tabControl        = tabControl;
            this.KeyUp            += Window_KeyUp;
            this.printReportFile   = printReportFile;
            toolbarButtons.Clear();
            FindToolBarButtons(grpCurrentRowArticle);
            foreach (APMToolbarButton button in toolbarButtons)
            {
                button.Click += toolbarArticle_Click;
            }
            Initial_WindowBase(masterDataGrid, masterToolbar, masterCurrentRowGroupBox, masterXOperation, false, new WindowSearch <MasterRT>());

            if (bindingListArticle != null)
            {
                collectionViewArticle = (CollectionView)CollectionViewSource.GetDefaultView(bindingListArticle);
                collectionViewArticle.CurrentChanged += collectionViewArticle_CurrentChanged;
            }

            if (articleDataGrid != null)
            {
                articleDataGrid.datagrid.SelectionChanged += articleGrid_SelectionChanged;
            }

            documentHeader.XBaseDocument_Changed += new RoutedEventHandler(DocumentHeader_XBaseDocument_Changed);

            collapsingColumns.Clear();
            if (collapsingColumnsWhenDontHaveBaseDocument != null)
            {
                foreach (int c in collapsingColumnsWhenDontHaveBaseDocument)
                {
                    collapsingColumns.Add(c);
                }
            }
            if (cmbMeasure != null)
            {
                cmbMeasure.LostFocus += new RoutedEventHandler(cmbMeasure_LostFocus);
            }

            if (txtDescription != null)
            {
                txtDescription.KeyDown += new KeyEventHandler(lastTextBox_KeyDown);
            }

            documentHeader.XTextBoxKeyDown_MainStore                += new KeyEventHandler(documentHeader_XTextBoxKeyDown_MainStore);
            documentHeader.XTextBoxKeyDown_BaseBuyRequest           += new KeyEventHandler(documentHeader_XTextBoxKeyDown_BaseBuyRequest);
            documentHeader.XTextBoxKeyDown_BaseGoodsRequest         += new KeyEventHandler(documentHeader_XTextBoxKeyDown_BaseGoodsRequest);
            documentHeader.XTextBoxKeyDown_GoodsRequesterCostCenter += new KeyEventHandler(documentHeader_XTextBoxKeyDown_GoodsRequesterCostCenter);
            documentHeader.XTextBoxKeyDown_GoodsRequesterPersonel   += new KeyEventHandler(documentHeader_XTextBoxKeyDown_GoodsRequesterPersonel);
            documentHeader.XTextBoxKeyDown_RequestConfirmerPersonel += new KeyEventHandler(documentHeader_XTextBoxKeyDown_RequestConfirmerPersonel);
            documentHeader.XTextBoxKeyDown_DestinationDetail        += new KeyEventHandler(documentHeader_XTextBoxKeyDown_DestinationDetail);

            if (tabControl != null)
            {
                tabControl.SelectedIndex = 1;
            }
            SetUpDownkeyFuntionForTextBoxes(articleCurrentRowGroupBox);
            if (isFinancial != null && isFinancial == true)
            {
                articleDataGrid.XShowTotalRials = true;
            }
            if (isFinancial != null && txtPrice != null && pricePosition != null && all_pricePosition != null)
            {
                articleDataGrid.datagrid.Columns[(int)pricePosition].Visibility     = GlobalFunctions.BooleanToVisibility((bool)isFinancial);
                articleDataGrid.datagrid.Columns[(int)all_pricePosition].Visibility = GlobalFunctions.BooleanToVisibility((bool)isFinancial);
                if (isFinancial == false)
                {
                    var columnDefinitionsIndex = ((int)txtPrice.GetValue(Grid.ColumnProperty)) - 1;
                    (txtPrice.Parent as Grid).ColumnDefinitions[columnDefinitionsIndex].Width = new GridLength(0);
                }
                GlobalFunctions.SetVisibilityForControl(txtPrice, (bool)isFinancial);
                GlobalFunctions.SetVisibilityForControl(lblPrice, (bool)isFinancial);
            }
        }