コード例 #1
0
        void loadGrid()
        {
            try
            {
                sales_product        sp     = new sales_product();
                List <sales_product> spList = new List <sales_product>();
                //  MessageBox.Show("Function called");
                spList = sp.getSales_Product_BySID(con, salesID);

                tblCart.Rows.Clear();
                int i = 0;
                //MessageBox.Show(cObjList.Count.ToString());
                foreach (BusinessObjects.sales_product item in spList)
                {
                    // MessageBox.Show(item.pname);
                    tblCart.Rows.Add();
                    tblCart.Rows[i].Cells[0].Value = item.p_id.ToString();
                    tblCart.Rows[i].Cells[1].Value = item.pname;
                    tblCart.Rows[i].Cells[2].Value = item.price.ToString();
                    tblCart.Rows[i].Cells[3].Value = item.quantity.ToString();

                    tblCart.Rows[i].Cells[4].Value = item.total.ToString();
                    tblCart.Rows[i].Cells[5].Value = item.warranty.ToString();


                    i++;
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, "! System Error . Code 104. " + ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        private void btnupdate_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtPName.Text == "" || txtPName.Text == string.Empty || txtDesc.Text == string.Empty ||
                    txtQuantity.Text == string.Empty)
                {
                    MessageBox.Show("Incomplete Data!");
                    return;
                }
                if (!tglTempStockRecord.Checked)
                {
                    if (cmbSupplier.SelectedIndex == -1 || txtStockDate.Text == string.Empty)
                    {
                        MessageBox.Show("Incomplete Data!");
                        return;
                    }
                }


                int typed = Convert.ToInt32(txtQuantity.Text);
                if (typed == 0 || typed > quantity)
                {
                    txtQuantity.Text = quantity.ToString();

                    MessageBox.Show("Please enter valid data!");
                    return;
                }

                using (TransactionScope txScope = new TransactionScope())
                {
                    //firstly update the sales product table
                    int           returnQuantity = Convert.ToInt32(txtQuantity.Text);
                    string        desc           = txtDesc.Text;
                    sales_product SalePro        = new sales_product();
                    Sales_BM      saleObject     = new Sales_BM();
                    int           stepOneCount   = 0;
                    BusinessObjects.SalesReturn salesReturnObject = new BusinessObjects.SalesReturn();
                    if (quantity == returnQuantity)
                    {
                        //delete record from sales_product
                        SalePro.DeleteSalesReturn(con, sales_id, ProdID);//this will delete the relevant product from sales product data


                        //calculating new amount
                        decimal deletedAMount = quantity * soldPrice;
                        saleObject = saleObject.getSalesByIDSalesReturn(con, sales_id);//getting the relevant sales data
                        decimal newTotal  = saleObject.total - deletedAMount;
                        decimal newCredit = newTotal - saleObject.paid;

                        //update the sales table
                        saleObject.UpdateSalesReturn(con, newTotal, newCredit);//updating amount and the credit of that sales

                        //insert to sales return table
                        int salesReturnTableCount = 0;
                        salesReturnTableCount = salesReturnObject.GetCountSalesReturn(con, sales_id);

                        if (salesReturnTableCount > 0)
                        {
                            int salesReturnProductTableCount = 0;
                            salesReturnProductTableCount = salesReturnObject.GetCountSalesProduct(con, sales_id, ProdID);

                            decimal ReturnAMount = returnQuantity * soldPrice;
                            if (salesReturnProductTableCount > 0)
                            {
                                string salesReturnProductsQuery = @"update sales_return_products set quantity= quantity + " + returnQuantity
                                                                  + "  where product_id=" + ProdID + " AND sales_id=" + sales_id + "";

                                salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                            }
                            else
                            {
                                string salesReturnProductsQuery = @"insert sales_return_products (product_id, sales_id, quantity, product_sold_price)
                        values (" + ProdID + "," + sales_id + "," + returnQuantity + "," + soldPrice + ")";
                                salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                            }
                        }
                        else
                        {
                            string salesReturnQuery = @"insert sales_return (sales_id, Total, _date, customer,paid)
                    values (" + saleObject.sales_id + "," + saleObject.total
                                                      + ",'" + saleObject.date_time.ToString("G", DateTimeFormatInfo.InvariantInfo)
                                                      + "','" + saleObject.customer_name + "'," + saleObject.paid + ")";
                            salesReturnObject.ExecuteNonQuery(salesReturnQuery, con);


                            string salesReturnProductsQuery = @"insert sales_return_products (product_id, sales_id, quantity, product_sold_price)
                        values (" + ProdID + "," + sales_id + "," + returnQuantity + "," + soldPrice + ")";
                            salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                        }
                    }

                    else
                    {
                        //updating sale_product table
                        int     newQuantity = quantity - returnQuantity;
                        decimal newTotalSalesProductPrice = newQuantity * soldPrice;
                        SalePro.UpdateSalesReturn(con, sales_id, ProdID, newQuantity, newTotalSalesProductPrice);


                        // //update the sales table
                        decimal deletedAMount = returnQuantity * soldPrice;
                        saleObject = saleObject.getSalesByIDSalesReturn(con, sales_id);

                        decimal newTotal  = saleObject.total - deletedAMount;
                        decimal newCredit = newTotal - saleObject.paid;
                        saleObject.UpdateSalesReturn(con, newTotal, newCredit);

                        //insert to sales return table
                        int salesReturnTableCount = 0;
                        salesReturnTableCount = salesReturnObject.GetCountSalesReturn(con, sales_id);

                        if (salesReturnTableCount > 0)
                        {
                            int salesReturnProductTableCount = 0;
                            salesReturnProductTableCount = salesReturnObject.GetCountSalesProduct(con, sales_id, ProdID);

                            decimal ReturnAMount = returnQuantity * soldPrice;
                            if (salesReturnProductTableCount > 0)
                            {
                                //int countAvalQun= salesReturnProductTableCount = salesReturnObject.GetQuantitySalesProduct(con, sales_id, ProdID);
                                //int newQuanttt = returnQuantity + countAvalQun;
                                string salesReturnProductsQuery = @"update sales_return_products set quantity=quantity+" + returnQuantity
                                                                  + "  where product_id=" + ProdID + " AND sales_id=" + sales_id + "";

                                salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                            }
                            else
                            {
                                string salesReturnProductsQuery = @"insert sales_return_products (product_id, sales_id, quantity, product_sold_price)
                        values (" + ProdID + "," + sales_id + "," + returnQuantity + "," + soldPrice + ")";
                                salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                            }
                        }
                        else
                        {
                            string salesReturnQuery = @"insert sales_return (sales_id, Total, _date, customer,paid)
                    values (" + saleObject.sales_id + "," + saleObject.total
                                                      + ",'" + saleObject.date_time.ToString("G", DateTimeFormatInfo.InvariantInfo)
                                                      + "','" + saleObject.customer_name + "'," + saleObject.paid + ")";
                            salesReturnObject.ExecuteNonQuery(salesReturnQuery, con);


                            string salesReturnProductsQuery = @"insert sales_return_products (product_id, sales_id, quantity, product_sold_price)
                        values (" + ProdID + "," + sales_id + "," + returnQuantity + "," + soldPrice + ")";
                            salesReturnObject.ExecuteNonQuery(salesReturnProductsQuery, con);
                        }
                    }

                    int SalesTableProductCount = salesReturnObject.GetCountSalesProductTable(con, sales_id);
                    if (SalesTableProductCount == 0)
                    {
                        string salesDeleteQueru = @"Delete from _Sales where sales_id=" + sales_id + "";
                        salesReturnObject.ExecuteNonQuery(salesDeleteQueru, con);
                    }



                    //update the stock data here*********************************************************************
                    // returnQuantity  ProdID  cmbSupplier.SelectedIndex txtStockInvoice.text;

                    #region removed_by_new_code

                    /*
                     *
                     #region if
                     * if (tglTempStockRecord.Checked)
                     * {
                     *  //string invoiceNum = txtStockInvoice.Text;
                     *  string custStockName = "SalesReturnStock";
                     *  string getTemStockRecordExistece = @"select stock_id from  _Stokc where sup_name='" + custStockName + "'";
                     *  int existence= 0;
                     *  if (BusinessObjects.SalesReturn.getScalar(con, getTemStockRecordExistece) != DBNull.Value)
                     *  {
                     *      object temPonj=BusinessObjects.SalesReturn.getScalar(con, getTemStockRecordExistece);
                     *      if (temPonj != null)
                     *          existence = (int)temPonj;
                     *  }
                     *  if (existence > 0)//this means the temp sales return data is in stock table
                     *  {
                     *      string getCountOfstokcreturn = @"select quantity from  _stock_product where pid=" + ProdID + " AND stock_id='" + existence + "'";
                     *      int AllreadyAvaliableQuant = 0;
                     *      if (BusinessObjects.SalesReturn.getScalar(con, getCountOfstokcreturn) != DBNull.Value)
                     *      {
                     *          object temPobj = BusinessObjects.SalesReturn.getScalar(con, getCountOfstokcreturn);
                     *          if (temPobj != null)
                     *              AllreadyAvaliableQuant = (int)temPobj;
                     *      }
                     *      if (AllreadyAvaliableQuant > 0)
                     *      {
                     *          int newQuan = AllreadyAvaliableQuant + returnQuantity;
                     *
                     *          string stockProductUpdateQuery = @"update _stock_product set quantity=" + newQuan + " where pid=" + ProdID + " and stock_id =" + existence + "";
                     *
                     *          salesReturnObject.ExecuteNonQuery(stockProductUpdateQuery, con);
                     *      }
                     *      else
                     *      {
                     *
                     *          string stockProductInsertQuery = @"insert _stock_product  (pid,quantity,stock_id) values(" + ProdID + "," + returnQuantity + "," + existence + ") ";
                     *          salesReturnObject.ExecuteNonQuery(stockProductInsertQuery, con);
                     *
                     *      }
                     *  }
                     *  else //this means the temp stock return data is not availeble in stock table.
                     *  {
                     *      //addign data to stock table first (SalesReturn Temp Record)
                     *      string addTempStockData = @"insert _Stokc  (sup_name,s_date,invoice_no) values('SalesReturnStock','" + DateTime.Now.ToString("G", DateTimeFormatInfo.InvariantInfo) + "','00000') ";
                     *      salesReturnObject.ExecuteNonQuery(addTempStockData, con);
                     *
                     *      //getting last inserted ID
                     *      string querySI = @"select IDENT_CURRENT('_Stokc')";
                     *      int lastInsertedID = Convert.ToInt32(Sales_BM.getScalar(con, querySI));
                     *
                     *      //now we add data the the stock product table
                     *      string AfterInsertSPQuery = @"insert _stock_product  (pid,quantity,stock_id) values(" + ProdID + "," + returnQuantity + "," + lastInsertedID + ") ";
                     *      salesReturnObject.ExecuteNonQuery(AfterInsertSPQuery, con);
                     *  }
                     * }
                     #endregion
                     #region else
                     * else
                     * {
                     *  //string invoiceNum = txtStockInvoice.Text;
                     *  int stockIDRt=Convert.ToInt32(txtStokIDRetrieved.Text);
                     *  string getCountOfstokcreturn = @"select quantity from  _stock_product where pid=" + ProdID + " AND stock_id='" + stockIDRt + "'";
                     *  int AllreadyAvaliableQuant=0;
                     *  if (BusinessObjects.SalesReturn.getScalar(con, getCountOfstokcreturn) != DBNull.Value)
                     *  {
                     *      object objTemp=BusinessObjects.SalesReturn.getScalar(con, getCountOfstokcreturn);
                     *      if (objTemp != null)
                     *          AllreadyAvaliableQuant = (int)objTemp;
                     *  }
                     *  if (AllreadyAvaliableQuant > 0)
                     *  {
                     *      int newQuan=AllreadyAvaliableQuant+returnQuantity;
                     *
                     *      string stockProductUpdateQuery = @"update _stock_product set quantity=" + newQuan + " where pid=" + ProdID + " and stock_id =" + stockIDRt + "";
                     *
                     *      salesReturnObject.ExecuteNonQuery(stockProductUpdateQuery, con);
                     *  }
                     *  else
                     *  {
                     *      string stockProductInsertQuery = @"insert _stock_product  (pid,quantity,stock_id) values(" + ProdID + "," + returnQuantity + "," + stockIDRt + ") ";
                     *      salesReturnObject.ExecuteNonQuery(stockProductInsertQuery, con);
                     *  }
                     *  //returnQuantity;ProdID
                     *   // cmbSupplier.SelectedIndex
                     * }
                     #endregion
                     *
                     */
                    #endregion

                    int stockIDD = Convert.ToInt32(cmbSupplier.SelectedValue.ToString());
                    updateStock(ProdID, stockIDD, returnQuantity);

                    txScope.Complete();//transaction commit
                    MetroMessageBox.Show(this, "Transaction Complete ", "Process completed", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception ex)
            {
                MetroMessageBox.Show(this, "System Error " + ex.Message, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }