Beispiel #1
0
        private void gridViewinvDet_DoubleClick(object sender, EventArgs e)
        {
            if (this.gridViewinvDet.IsValidRowHandle(this.gridViewinvDet.FocusedRowHandle) & this.gridViewinvDet.State == GridState.Normal & !this.gridViewinvDet.IsFilterRow(this.gridViewinvDet.FocusedRowHandle))
            {
                FormDialog _formDialog = new FormDialog();
                _formDialog.AcceptButton = null;
                _formDialog.Text         = "»зменить строку";

                MDataSet.InvoiceDetailRow sourceRow = ((this.invoiceDetailBindingSource.CurrencyManager.Current as DataRowView).Row as MDataSet.InvoiceDetailRow);

                if ((sourceRow != null))
                {
                    MDataSet.ProductRow productRow = (this.productBindingSource.DataSource as MDataSet.ProductDataTable).FindByID(sourceRow.ProductRef);

                    if (productRow == null)
                    {
                        MessageBox.Show("ќшибка поиска товара");
                        return;
                    }

                    InvoiceDetailRowAdd _invoiceDetailRowAdd = new InvoiceDetailRowAdd(sourceRow, sourceRow.RemainsRow, productRow);
                    _formDialog.panel.Controls.Add(_invoiceDetailRowAdd);

                    if (DialogResult.OK == _formDialog.ShowDialog(this))
                    {
                        this.invoiceDetailBindingSource.EndEdit();
                    }

                    else
                    {
                        this.invoiceDetailBindingSource.CancelEdit();
                    }
                }
            }
        }
Beispiel #2
0
        public ucProductRow(MDataSet.ProductRow productRow, MainForm.ActionDialog actionDialog)
        {
            InitializeComponent();
            this.mDataSet = productRow.Table.DataSet as MDataSet;
            this.productBindingSource.DataSource          = productRow;
            this.packingBindingSource.DataSource          = this.mDataSet.Packing;
            this.storageConditionBindingSource.DataSource = this.mDataSet.StorageCondition;
            this.substanceBindingSource.DataSource        = this.mDataSet.Substance;
            this.farmGroupLevel2BindingSource.DataSource  = this.mDataSet.FarmGroupLevel2;
            this.unitBindingSource.DataSource             = this.mDataSet.Unit;

            _state = actionDialog;
        }
Beispiel #3
0
        private void gridViewProd_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            MDataSet.ProductRow prodRow = this.gridViewProd.GetDataRow(e.RowHandle) as MDataSet.ProductRow;

            if (prodRow == null)
            {
                return;
            }


            if (prodRow.GetRemainsRows().Length == 0)
            {
                e.Appearance.Font      = e.Cache.GetFont(e.Appearance.Font, FontStyle.Italic);
                e.Appearance.ForeColor = Color.Gray;
            }
        }
Beispiel #4
0
        public ReceiptDetailRowAdd(MDataSet.ReceiptDetailRow source, MDataSet.ProductRow product)
        {
            InitializeComponent();
            _receiptDetailRow = source;
            _productRow       = product;

            this.mDataSet = (source.Table.DataSet as MDataSet);
            this.receiptDetailBindingSource.DataSource = _receiptDetailRow;
            this.productBindingSource.DataSource       = _productRow;

            this.productBindingSource.ResetBindings(false);
            this.receiptDetailBindingSource.ResetBindings(true);

            this.manufacturerBindingSource.DataSource = this.mDataSet.Manufacturer;

            this.errorProvider1.DataSource = this.receiptDetailBindingSource;
            this.errorProvider1.UpdateBinding();
        }
Beispiel #5
0
        public ReceiptDetailRowAdd(MDataSet.ReceiptDetailRow source,MDataSet.ProductRow product)
        {
            InitializeComponent();
            _receiptDetailRow = source;
            _productRow = product;

            this.mDataSet = (source.Table.DataSet as MDataSet);
            this.receiptDetailBindingSource.DataSource = _receiptDetailRow;
            this.productBindingSource.DataSource = _productRow;

            this.productBindingSource.ResetBindings(false);
            this.receiptDetailBindingSource.ResetBindings(true);

            this.manufacturerBindingSource.DataSource = this.mDataSet.Manufacturer;

            this.errorProvider1.DataSource = this.receiptDetailBindingSource;
            this.errorProvider1.UpdateBinding();
        }
Beispiel #6
0
        private void gridViewProduct_Click(object sender, EventArgs e)

        /*создать новую строку, указатель на нее в ReceiptDetailRowAdd для редактирования*/

        {
            if (this.gridViewProduct.IsValidRowHandle(this.gridViewProduct.FocusedRowHandle) & this.gridViewProduct.State == GridState.Normal & !this.gridViewProduct.IsFilterRow(this.gridViewProduct.FocusedRowHandle))
            {
                FormDialog _formDialog = new FormDialog();
                _formDialog.AcceptButton = null;
                _formDialog.Text         = "Добавить стоку";

                MDataSet.ReceiptDetailRow sourceRow = ((this.receiptDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.ReceiptDetailRow);

                int _idproduct = Convert.ToInt32(((this.productBindingSource.CurrencyManager.Current as DataRowView).Row as DataRow)["ID"]);

                MDataSet.ProductRow productRow = this.mDataSet.Product.FindByID(_idproduct);

                if (productRow == null)
                {
                    ((this.productBindingSource.CurrencyManager.Current as DataRowView).Row  as FullDataSet.ProductRow).SetModified();

                    this.mDataSet.Product.Merge(_productTable.GetChanges());

                    ((this.productBindingSource.CurrencyManager.Current as DataRowView).Row as FullDataSet.ProductRow).AcceptChanges();

                    productRow = this.mDataSet.Product.FindByID(_idproduct);
                }

                if ((sourceRow != null) & (productRow != null))
                {
                    ReceiptDetailRowAdd _receiptDetailRowAdd = new ReceiptDetailRowAdd(sourceRow, productRow);
                    _formDialog.panel.Controls.Add(_receiptDetailRowAdd);

                    if (DialogResult.OK == _formDialog.ShowDialog(this))
                    {
                        this.receiptDetailBindingSource.EndEdit();
                    }
                    else
                    {
                        this.receiptDetailBindingSource.CancelEdit();
                    }
                }
            }
        }
Beispiel #7
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            MDataSet.ProductRow _prod = this.gridViewProd.GetDataRow(this.gridViewProd.FocusedRowHandle) as MDataSet.ProductRow;

            if (_prod != null)
            {
                try
                {
                    MDataSet.OrdersRow _ord = (this.ordersBindingSource.AddNew() as DataRowView).Row as MDataSet.OrdersRow;

                    DialogQuantityOrder _DialogQuantityOrder = new DialogQuantityOrder(_prod, _ord);

                    if (_DialogQuantityOrder.ShowDialog(this) == DialogResult.OK)
                    {
                        try
                        {
                            this.ordersBindingSource.EndEdit();

                            this.ordersBindingSource.ResetBindings(false);

                            MainForm.Log(" this.ordersBindingSource.EndEdit успешно");
                        }
                        catch (Exception err)
                        {
                            MessageBox.Show(err.Message);

                            MainForm.Log(err.Message);
                        }
                    }
                    else
                    {
                        this.ordersBindingSource.CancelEdit();
                    }
                }
                catch (Exception err)

                {
                    MessageBox.Show(err.Message);

                    MainForm.Log("btAdd_Click" + err.Message);
                }
            }
        }
Beispiel #8
0
        private void ordersBindingSource_PositionChanged(object sender, EventArgs e)
        {
            try
            {
                if (productBindingSource.Current == null)
                {
                    return;
                }

                MDataSet.ProductRow _product = (productBindingSource.Current as DataRowView).Row as MDataSet.ProductRow;


                if (ordersBindingSource.Current == null)
                {
                    return;
                }


                MDataSet.OrdersRow _orders = (ordersBindingSource.Current as DataRowView).Row as MDataSet.OrdersRow;

                if (_orders.ProductRow == null)
                {
                    return;
                }

                if ((_orders == null) | (_product == null))
                {
                    return;
                }

                if (_product.ID != _orders.ProductRef)
                {
                    this.productBindingSource.Position = this.productBindingSource.Find("Id", _orders.ProductRef);
                }
                MainForm.Log(" rdersBindingSource_PositionChanged успешно");
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                MainForm.Log(err.Message);
            }
        }
Beispiel #9
0
        public DialogQuantityOrder(MDataSet.ProductRow source, MDataSet.OrdersRow newRow)
        {
            InitializeComponent();

            newRow.ProductRef = source.ID;

            this.productBindingSource.DataSource = source;

            if (source.GetRemainsRows().Length != 0)
            {
                foreach (MDataSet.RemainsRow row in source.GetRemainsRows())
                {
                    _QauntityRemains += row.QuantityRemains;
                }
            }

            this.ordersBindingSource.DataSource = newRow;

            this.labelRem.DataBindings.Add(new Binding("Text", this, "QauntityRemains"));
        }
Beispiel #10
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            /*создать новую строку, указатель на нее в  дл¤ редактировани¤*/
            MDataSet.RemainsRow _rems = this.gridViewRemainsInvDetEdt.GetDataRow(this.gridViewRemainsInvDetEdt.FocusedRowHandle) as MDataSet.RemainsRow;
            if (_rems == null)
            {
                return;
            }



            FormDialog _formDialog = new FormDialog();

            _formDialog.AcceptButton = _formDialog.btOk;
            _formDialog.Text         = "ƒобавить строку";

            MDataSet.InvoiceDetailRow sourceRow = ((this.invoiceDetailBindingSource.AddNew() as DataRowView).Row as MDataSet.InvoiceDetailRow);

            MDataSet.RemainsRow remainsRow = ((this.RemainsBindingSource.CurrencyManager.Current as DataRowView).Row as  MDataSet.RemainsRow);

            MDataSet.ProductRow _productRow = (this.productBindingSource.DataSource as MDataSet.ProductDataTable).FindByID(remainsRow.ProductRef);


            if ((sourceRow != null) & (remainsRow != null))
            {
                InvoiceDetailRowAdd _invoiceDetailRowAdd = new InvoiceDetailRowAdd(sourceRow, remainsRow, _productRow);
                _formDialog.panel.Controls.Add(_invoiceDetailRowAdd);

                if (DialogResult.OK == _formDialog.ShowDialog(this))
                {
                    remainsRow.AcceptChanges();
                    this.invoiceDetailBindingSource.EndEdit();
                }
                else
                {
                    this.invoiceDetailBindingSource.CancelEdit();
                    remainsRow.RejectChanges();
                }
            }
        }
Beispiel #11
0
        public InvoiceDetailAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remainsRow, MainForm mainForm)
        {
            InitializeComponent();
            _row        = source;
            _mainForm   = mainForm;
            _remainsRow = remainsRow;

            _QuantityRemains = remainsRow.QuantityRemains;

            _prodRow = remainsRow.ProductRow;

            //       _mainForm.RefreshData(_remainsRow);

            this.productBindingSource.DataSource = _prodRow;

            this.productBindingSource.ResetBindings(true);

            _row.LocalReceiptDetailRef = _remainsRow.ReceiptDetailRef;


            if (QuantityRemains >= 1)
            {
                _row.Quantity = 1;
            }
            else
            {
                _row.Quantity = QuantityRemains;
            }



            if (_prodRow.MinDivisor == 1)
            {
                this.QuantityEdit.Properties.DisplayFormat.FormatString = "####0";
                this.QuantityEdit.Properties.DisplayFormat.FormatType   = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.EditFormat.FormatString    = "###0";
                this.QuantityEdit.Properties.EditFormat.FormatType      = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.Mask.EditMask = "####0";
                this.QuantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                this.lRemFull.Text = "";
                // написать кол-во в блистерах или целых упаковках

                //количество целых упаковок :

                if (_prodRow.OldKol != 1)
                {
                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                    int q = (int)rem / _prodRow.OldKol;

                    if (q != 0)
                    {
                        this.lRemFull.Text = q.ToString() + " целых уп.";
                    }
                    //количество едениц

                    int c = (int)(rem - q * _prodRow.OldKol);

                    if (c != 0)
                    {
                        if (this.lRemFull.Text.Length == 0)
                        {
                            this.lRemFull.Text = c.ToString() + _prodRow.UnitName;
                        }
                        else
                        {
                            this.lRemFull.Text += "+ " + c.ToString() + _prodRow.UnitName;
                        }
                    }
                    this.labelRem.Visible = false;
                    this.lRemFull.Visible = true;
                }
            }
            else
            {
                this.lComment.Text    = "{в упаковке " + _prodRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;
            }



            if ((_prodRow.StorageConditionRef > 0))
            {
                this.additionPanel.Visible = true;

                this.labelPlace.Text = this._prodRow.StorageConditionName;
            }


            _row.PriceRetailNDS = _remainsRow.PricePurchase;

            this.remainsBindingSource.DataSource = _remainsRow;

            this.invoiceDetailBindingSource.DataSource = source;

            this.labelRem.DataBindings.Clear();
            this.labelRem.DataBindings.Add(new Binding("Text", this, "QuantityRemains"));

            this.labelSum.Text = this.SumRow.ToString();
        }
Beispiel #12
0
        public InvoiceDetailRowAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remain, MDataSet.ProductRow productRow)
        {
            InitializeComponent();

            _productRow = productRow;

            _remainsRow = remain;
            _row        = source;

            if (_productRow.MinDivisor == 1)
            {
                this.quantityEdit.Properties.DisplayFormat.FormatString = "####";
                this.quantityEdit.Properties.DisplayFormat.FormatType   = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.EditFormat.FormatString    = "###";
                this.quantityEdit.Properties.EditFormat.FormatType      = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.Mask.EditMask = "####";
                this.quantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
            }

            this.lnumOst.Text = _remainsRow.QuantityRemains.ToString();

            //количество целых упаковок :

            if (_productRow.OldKol != 1)
            {
                int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                int q = (int)rem / _productRow.OldKol;

                if (q != 0)
                {
                    this.labelOst.Text = q.ToString() + " целых уп.";
                }
                //количество едениц

                int c = (int)(rem - q * _productRow.OldKol);

                if (c != 0)
                {
                    if (this.labelOst.Text.Length == 0)
                    {
                        this.labelOst.Text = c.ToString() + _productRow.UnitName;
                    }
                    else
                    {
                        this.labelOst.Text += "+ " + c.ToString() + _productRow.UnitName;
                    }
                }

                this.labelOst.Visible = true;
            }

            else
            {
                this.lComment.Text    = "{в упаковке " + _productRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;
            }



            this.mDataSet = source.Table.DataSet as MDataSet;
            this.invoiceDetailBindingSource.DataSource = source;

            this.productBindingSource.DataSource = _productRow;
            this.productBindingSource.ResetBindings(false);

            if (source.LocalReceiptDetailRef == 0)
            {
                source.LocalReceiptDetailRef = remain.ReceiptDetailRef;
            }

            this.remainsBindingSource.DataSource = remain;



            _quantytiStock = remain.QuantityRemains;


            this.invoiceDetailBindingSource.ResetBindings(true);

            this.errorProvider1.DataSource = this.invoiceDetailBindingSource;
            this.errorProvider1.UpdateBinding();

            source.EndEdit();
        }
Beispiel #13
0
        public InvoiceDetailRowAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remain, MDataSet.ProductRow productRow)
        {
            InitializeComponent();

            _productRow = productRow;

            _remainsRow = remain;
            _row = source;

            if (_productRow.MinDivisor == 1)
            {


                this.quantityEdit.Properties.DisplayFormat.FormatString = "####";
                this.quantityEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.EditFormat.FormatString = "###";
                this.quantityEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.quantityEdit.Properties.Mask.EditMask = "####";
                this.quantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;


            }

            this.lnumOst.Text = _remainsRow.QuantityRemains.ToString();

                 //количество целых упаковок : 

            if (_productRow.OldKol != 1)
                {

                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                    int q = (int)rem / _productRow.OldKol;
               
                    if (q != 0)
                    {

                        this.labelOst.Text = q.ToString() + " целых уп.";

                    }
                    //количество едениц

                    int c = (int)(rem - q * _productRow.OldKol);

                    if (c != 0)
                    {

                        if (this.labelOst.Text.Length == 0)
                        {
                            this.labelOst.Text = c.ToString() + _productRow.UnitName;
                        }
                        else
                        {
                            this.labelOst.Text += "+ " + c.ToString() + _productRow.UnitName;
                        }
                    }
                  
                   this.labelOst.Visible = true;
                }
            
            else
            {
                this.lComment.Text = "{в упаковке " + _productRow.MinDivisor.ToString() + " шт}";
                this.lComment.Visible = true;

            }

               

           
           
            this.mDataSet = source.Table.DataSet as MDataSet;
            this.invoiceDetailBindingSource.DataSource = source;
        
           this.productBindingSource.DataSource = _productRow;
           this.productBindingSource.ResetBindings(false); 
          
            if (source.LocalReceiptDetailRef==0 )  
               source.LocalReceiptDetailRef = remain.ReceiptDetailRef;

           this.remainsBindingSource.DataSource = remain;

           

            _quantytiStock = remain.QuantityRemains;
            
          
            this.invoiceDetailBindingSource.ResetBindings(true);

            this.errorProvider1.DataSource = this.invoiceDetailBindingSource;
            this.errorProvider1.UpdateBinding();
           
            source.EndEdit();
        }
Beispiel #14
0
        public InvoiceDetailAdd(MDataSet.InvoiceDetailRow source, MDataSet.RemainsRow remainsRow, MainForm mainForm)
        {
            InitializeComponent();
            _row = source;
            _mainForm = mainForm;
            _remainsRow = remainsRow;

            _QuantityRemains = remainsRow.QuantityRemains;

            _prodRow = remainsRow.ProductRow;

     //       _mainForm.RefreshData(_remainsRow);

            this.productBindingSource.DataSource = _prodRow;
            
            this.productBindingSource.ResetBindings(true);

            _row.LocalReceiptDetailRef = _remainsRow.ReceiptDetailRef;

            
            if (QuantityRemains >= 1)
                _row.Quantity = 1;
            else
                _row.Quantity = QuantityRemains;



            if (_prodRow.MinDivisor == 1)
            {
                this.QuantityEdit.Properties.DisplayFormat.FormatString = "####0";
                this.QuantityEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.EditFormat.FormatString = "###0";
                this.QuantityEdit.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
                this.QuantityEdit.Properties.Mask.EditMask = "####0";
                this.QuantityEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
                this.lRemFull.Text = "";
                // написать кол-во в блистерах или целых упаковках

                //количество целых упаковок : 

               if (_prodRow.OldKol != 1)
                {

                    int rem = Convert.ToInt32(_remainsRow.QuantityRemains + _row.Quantity);

                   int q =(int) rem / _prodRow.OldKol;
               
                    if (q != 0)
                    {

                        this.lRemFull.Text = q.ToString() + " целых уп.";

                    }
                    //количество едениц

                    int c = (int)(rem - q * _prodRow.OldKol);

                    if (c != 0)
                    {

                        if (this.lRemFull.Text.Length == 0)
                        {
                            this.lRemFull.Text = c.ToString() + _prodRow.UnitName;
                        }
                        else
                        {
                            this.lRemFull.Text += "+ " + c.ToString() + _prodRow.UnitName;
                        }
                    }
                   this.labelRem.Visible = false;
                   this.lRemFull.Visible = true;
                }
            }
            else
            {
                this.lComment.Text = "{в упаковке " + _prodRow.MinDivisor.ToString() +" шт}";
                this.lComment.Visible = true;
            }



            if ((_prodRow.StorageConditionRef > 0))
            {

                this.additionPanel.Visible = true;

                this.labelPlace.Text = this._prodRow.StorageConditionName;
             
            }


            _row.PriceRetailNDS = _remainsRow.PricePurchase;

            this.remainsBindingSource.DataSource = _remainsRow;

            this.invoiceDetailBindingSource.DataSource = source;
           
            this.labelRem.DataBindings.Clear();
            this.labelRem.DataBindings.Add(new Binding("Text",this,"QuantityRemains"));

            this.labelSum.Text = this.SumRow.ToString();
        }