Exemplo n.º 1
0
        private void Frm_Invoice_Load(object sender, EventArgs e)
        {
            switch (type)
            {
            case InvoiceType.Purchase:
                this.Text = "فاتورة مشتريات";
                break;

            case InvoiceType.Sales:
                break;

            case InvoiceType.PurchaseReturn:
                break;

            case InvoiceType.SalesReturn:
                break;

            default:
                break;
            }

            lkp_PartType.InitializeData(PartTypesList);
            glkp_PartID.ButtonClick += Lkp_PartType_ButtonClick;
            gridView1.OptionsView.NewItemRowPosition = NewItemRowPosition.Top;

            gridView1.Columns[nameof(detailsInstance.ID)].Visible        = false;
            gridView1.Columns[nameof(detailsInstance.InvoiceID)].Visible = false;

            repoUOM.InitializeData(Session.UnitNames, gridView1.Columns[nameof(detailsInstance.ItemUnitID)], gridControl1);
            repoStores.InitializeData(Session.Stores, gridView1.Columns[nameof(detailsInstance.StoreID)], gridControl1);

            repoItems = new RepositoryItemGridLookUpEdit();
            repoItems.InitializeData(Session.ProductsView.Where(x => x.IsActive == true), gridView1.Columns[nameof(detailsInstance.ItemID)], gridControl1);
            repoItems.ValidateOnEnterKey = true;
            repoItems.AllowNullInput     = DefaultBoolean.False;
            repoItems.BestFitMode        = BestFitMode.BestFitResizePopup;
            repoItems.ImmediatePopup     = true;
            repoItems.Buttons.Add(new EditorButton(ButtonPredefines.Plus));

            var repoView = repoItems.View;

            repoView.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
            repoView.OptionsSelection.UseIndicatorForSelection = true;
            repoView.OptionsView.ShowAutoFilterRow             = true;
            repoView.OptionsView.ShowFilterPanelMode           = ShowFilterPanelMode.ShowAlways;
            repoView.PopulateColumns(repoItems.DataSource);
            repoView.Columns["IsActive"].Visible = false;
            repoView.Columns["Type"].Visible     = false;

            repoView.Columns["ID"].Caption           = "كود";
            repoView.Columns["Name"].Caption         = "الاسم";
            repoView.Columns["Descreption"].Caption  = "الوصف";
            repoView.Columns["CategoryName"].Caption = "الفئه";
            repoItemsAll.InitializeData(Session.ProductsView, gridView1.Columns[nameof(detailsInstance.ItemID)], gridControl1);

            RepositoryItemSpinEdit spinEdit = new RepositoryItemSpinEdit();

            gridView1.Columns[nameof(detailsInstance.TotalPrice)].ColumnEdit    = spinEdit;
            gridView1.Columns[nameof(detailsInstance.Price)].ColumnEdit         = spinEdit;
            gridView1.Columns[nameof(detailsInstance.ItemQty)].ColumnEdit       = spinEdit;
            gridView1.Columns[nameof(detailsInstance.DiscountValue)].ColumnEdit = spinEdit;

            RepositoryItemSpinEdit spinRatioEdit = new RepositoryItemSpinEdit();

            gridView1.Columns[nameof(detailsInstance.Discount)].ColumnEdit = spinRatioEdit;

            spinRatioEdit.Increment     = 0.01m;
            spinRatioEdit.Mask.EditMask = "P";
            spinRatioEdit.Mask.UseMaskAsDisplayFormat = true;
            spinRatioEdit.MaxValue = 1;


            gridControl1.RepositoryItems.Add(spinRatioEdit);
            gridControl1.RepositoryItems.Add(spinEdit);

            gridView1.Columns[nameof(detailsInstance.TotalPrice)].OptionsColumn.AllowFocus = false;

            gridView1.Columns.Add(new GridColumn()
            {
                Name = "clmCode", FieldName = "Code", Caption = "الكود", UnboundType = DevExpress.Data.UnboundColumnType.String
            });
            gridView1.Columns.Add(new GridColumn()
            {
                Name        = "clmIndex",
                FieldName   = "Index",
                Caption     = "مسلسل",
                UnboundType = DevExpress.Data.UnboundColumnType.Integer,
                MaxWidth    = 30
            });

            gridView1.Columns[nameof(detailsInstance.ItemID)].Caption         = "الصنف";
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].Caption = "سعر التكلفه";
            gridView1.Columns[nameof(detailsInstance.Discount)].Caption       = "ن.خصم";
            gridView1.Columns[nameof(detailsInstance.DiscountValue)].Caption  = "ق.خصم";
            gridView1.Columns[nameof(detailsInstance.ItemQty)].Caption        = "الكميه";
            gridView1.Columns[nameof(detailsInstance.ItemUnitID)].Caption     = "الوحده";
            gridView1.Columns[nameof(detailsInstance.Price)].Caption          = "السعر";
            gridView1.Columns[nameof(detailsInstance.StoreID)].Caption        = "المخزن";
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].Caption = "اجمالي التكلفه";
            gridView1.Columns[nameof(detailsInstance.TotalPrice)].Caption     = "اجمالي السعر";

            gridView1.Columns["Index"].OptionsColumn.AllowFocus = false;
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].OptionsColumn.AllowFocus = false;
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].OptionsColumn.AllowFocus = false;

            gridView1.Columns["Index"].VisibleIndex = 0;
            gridView1.Columns["Code"].VisibleIndex  = 1;
            gridView1.Columns[nameof(detailsInstance.ItemID)].MinWidth             = 70;
            gridView1.Columns[nameof(detailsInstance.ItemID)].VisibleIndex         = 2;
            gridView1.Columns[nameof(detailsInstance.ItemUnitID)].VisibleIndex     = 3;
            gridView1.Columns[nameof(detailsInstance.ItemQty)].VisibleIndex        = 4;
            gridView1.Columns[nameof(detailsInstance.Price)].VisibleIndex          = 5;
            gridView1.Columns[nameof(detailsInstance.Discount)].VisibleIndex       = 6;
            gridView1.Columns[nameof(detailsInstance.DiscountValue)].VisibleIndex  = 7;
            gridView1.Columns[nameof(detailsInstance.TotalPrice)].VisibleIndex     = 8;
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].VisibleIndex = 9;
            gridView1.Columns[nameof(detailsInstance.TotalCostValue)].VisibleIndex = 10;
            gridView1.Columns[nameof(detailsInstance.StoreID)].VisibleIndex        = 11;

            gridView1.Appearance.EvenRow.BackColor        = Color.FromArgb(255, 249, 196);
            gridView1.OptionsView.EnableAppearanceEvenRow = true;

            gridView1.Appearance.OddRow.BackColor        = Color.WhiteSmoke;
            gridView1.OptionsView.EnableAppearanceOddRow = true;

            RepositoryItemButtonEdit buttonEdit = new RepositoryItemButtonEdit();

            gridControl1.RepositoryItems.Add(buttonEdit);
            buttonEdit.Buttons.Clear();
            buttonEdit.Buttons.Add(new EditorButton(ButtonPredefines.Delete));
            buttonEdit.ButtonClick += ButtonEdit_ButtonClick;
            GridColumn clmnDelete = new GridColumn()
            {
                Name         = "clmnDelete",
                Caption      = "",
                FieldName    = "Delete",
                ColumnEdit   = buttonEdit,
                VisibleIndex = 100,
                Width        = 15
            };

            buttonEdit.TextEditStyle = TextEditStyles.HideTextEditor;
            gridView1.Columns.Add(clmnDelete);

            #region Events
            spn_DiscountValue.Enter             += new EventHandler(this.Spn_DiscountValue_Enter);
            spn_DiscountValue.Leave             += Spn_DiscountValue_Leave;
            spn_DiscountValue.EditValueChanged  += Spn_DiscountRation_EditValueChanged;
            spn_DiscountRation.EditValueChanged += Spn_DiscountRation_EditValueChanged;

            spn_TaxValue.Enter            += Spn_TaxValue_Enter;
            spn_TaxValue.Leave            += Spn_TaxValue_Leave;
            spn_TaxValue.EditValueChanged += Spn_TaxValue_EditValueChanged;
            spn_Tax.EditValueChanged      += Spn_TaxValue_EditValueChanged;

            spn_TaxValue.EditValueChanged      += Spn_EditValueChanged;
            spn_DiscountValue.EditValueChanged += Spn_EditValueChanged;
            spn_Expences.EditValueChanged      += Spn_EditValueChanged;
            spn_Total.EditValueChanged         += Spn_EditValueChanged;

            spn_Paid.EditValueChanged += Spn_Paid_EditValueChanged;
            spn_Net.EditValueChanged  += Spn_Paid_EditValueChanged;
            spn_Net.EditValueChanging += Spn_Net_EditValueChanging;

            spn_Net.DoubleClick += Spn_Net_MouseDoubleClick;

            lkp_Branch.EditValueChanging          += Lkp_Branch_EditValueChanging;
            gridView1.CustomRowCellEditForEditing += GridView1_CustomRowCellEditForEditing;
            gridView1.CellValueChanged            += GridView1_CellValueChanged;
            gridView1.RowCountChanged             += GridView1_RowCountChanged;
            gridView1.RowUpdated += GridView1_RowUpdated;

            gridView1.CustomUnboundColumnData += GridView1_CustomUnboundColumnData;

            gridControl1.ProcessGridKey += GridControl1_ProcessGridKey;

            gridView1.ValidateRow         += GridView1_ValidateRow;
            gridView1.InvalidRowException += GridView1_InvalidRowException;

            this.Activated += Frm_Invoice_Activated;
            #endregion
        }