コード例 #1
0
ファイル: New_Form.cs プロジェクト: setiawri/BinaMitraTextile
        private void addBarcode()
        {
            if (string.IsNullOrEmpty(txtBarcode.Text))
            {
                return;
            }

            string barcode = InventoryItem.getBarcodeWithoutPrefix(txtBarcode.Text.Trim());

            if (!InventoryItem.isBarcodeExist(barcode))
            {
                Tools.hasMessage(barcode.ToString() + " is not found in database");
            }
            else if (InventoryItem.isBarcodeValidForSale(barcode))
            {
                Tools.hasMessage(barcode.ToString() + " has not been sold yet");
            }
            else
            {
                DataTable dt;
                if (grid.DataSource == null)
                {
                    dt = SaleItem.getItemForReturn(barcode);
                    if (dt.Rows[0][SaleItem.COL_CUSTOMERID] != DBNull.Value)
                    {
                        _customerID          = (Guid)dt.Rows[0][SaleItem.COL_CUSTOMERID];
                        lblCustomerName.Text = dt.Rows[0][SaleItem.COL_CUSTOMERNAME].ToString();
                    }
                    else
                    {
                        _Vendors_Id          = (Guid)dt.Rows[0][SaleItem.COL_DB_Vendors_Id];
                        lblCustomerName.Text = dt.Rows[0][SaleItem.COL_Vendors_Name].ToString();
                    }
                }
                else
                {
                    dt = Tools.setDataTablePrimaryKey((DataTable)grid.DataSource, SaleItem.COL_ID);
                    foreach (DataRow dr in SaleItem.getItemForReturn(barcode).Rows)
                    {
                        if (dt.Rows.Contains(dr[SaleItem.COL_ID]))
                        {
                            Tools.hasMessage(dr[SaleItem.COL_BARCODE].ToString() + " is already in the list");
                        }
                        else if (_customerID != null && (Guid)dr[SaleItem.COL_CUSTOMERID] != _customerID)
                        {
                            Tools.hasMessage(barcode.ToString() + " was sold to a different customer: " + dr[SaleItem.COL_CUSTOMERNAME].ToString());
                        }
                        else if (_Vendors_Id != null && (Guid)dr[SaleItem.COL_DB_Vendors_Id] != _Vendors_Id)
                        {
                            Tools.hasMessage(barcode.ToString() + " was returned to a different vendor: " + dr[SaleItem.COL_Vendors_Name].ToString());
                        }
                        else
                        {
                            dt.Rows.Add(dr.ItemArray);
                        }
                    }
                }

                grid.DataSource = dt;
                recalculateNumbers();
            }

            txtBarcode.Text = "";
            txtBarcode.Focus();
        }