示例#1
0
        public DataTable GetProduct(tbl_product p, tbl_stock s)
        {
            DataTable programs = new DataTable();

            try
            {
                Dictionary <string, object> parameters = new Dictionary <string, object>();
                parameters.Add("@company_id ", p.company_id);
                parameters.Add("@branch_id", p.branch_id);
                DataTable dt = helper.GetDataTableFromStoredProc(SP.productwithquantity, parameters);
                foreach (DataRow dr in dt.Rows)
                {
                    p.product_id   = Convert.ToInt32(dr["product_id"].ToString());
                    p.product_name = (dr["product_name"].ToString());

                    p.product_code  = (dr["product_code"].ToString());
                    p.purchas_price = Convert.ToDecimal(dr["purchas_price"].ToString());
                    p.sales_price   = Convert.ToDecimal(dr["sales_price"].ToString());
                    s.qty           = Convert.ToInt32(dr["qty"].ToString());
                    p.reorder_level = Convert.ToInt32(dr["reorder_level"].ToString());
                }
                programs = dt;
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
            return(programs);
        }
示例#2
0
        //Methods------------------
        protected void Save()
        {
            try
            {
                tbl_purchase purchase = new tbl_purchase();
                purchase.company_id       = companyId;
                purchase.branch_id        = branchId;
                purchase.financialyear_id = financialYearId;
                purchase.InvoiceNumber    = lblInvoice.Text;

                purchase.PaymentMode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue);
                purchase.status         = true;
                purchase.party_id       = Convert.ToInt32(ddlVendor.SelectedValue);
                purchase.Po_Date        = DateTime.Parse(txtdate.Text, new CultureInfo("en-US"));
                purchase.po_no          = txtPONo.Text;

                purchase.created_by   = user_id;
                purchase.created_date = DateTime.Now;

                //insert into Purchase Payment Details
                tbl_PurchasePaymentDetials purchasePaymentDetail = new tbl_PurchasePaymentDetials();
                purchasePaymentDetail.TaxAmount      = Convert.ToDecimal(lblTaxAmount.Text);
                purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                purchasePaymentDetail.SubTotal       = Convert.ToDecimal(lblsubtotal.Text);
                purchasePaymentDetail.GrandTotal     = Convert.ToDecimal(lblGrandTotal.Text);
                purchasePaymentDetail.PaidAmnt       = Convert.ToDecimal(txtPaidAmt.Text);
                purchasePaymentDetail.GivenAmnt      = Convert.ToDecimal(txtPaidAmt.Text);
                purchasePaymentDetail.BalanceAmnt    = Convert.ToDecimal(txtBalanceAmt.Text);
                purchasePaymentDetail.FromTable      = "Purchase";
                purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail);

                for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++)
                {
                    int         productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text);
                    int         batchId   = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text);
                    tbl_product product   = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault();

                    //Add into Purchase Details table for each product
                    tbl_purchasedetails purchaseDetails = new tbl_purchasedetails();
                    purchaseDetails.product_id   = productId;
                    purchaseDetails.batch_id     = batchId;
                    purchaseDetails.tax_id       = product.tax_id;
                    purchaseDetails.unit_id      = product.unit_id;
                    purchaseDetails.tax_amt      = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[11].Text);
                    purchaseDetails.dicount_amt  = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text);
                    purchaseDetails.quantity     = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                    purchaseDetails.amount       = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[12].Text);
                    purchaseDetails.created_by   = Convert.ToString(user_id);
                    purchaseDetails.created_date = DateTime.Now;
                    purchaseDetails.status       = true;

                    //Enter Details In tbl_ActualPurchaseTaxAndPrice : to get the original Values at the time of Purchase Return
                    tbl_ActualPurchaseTaxAndPrice actualPurchase = new tbl_ActualPurchaseTaxAndPrice();
                    actualPurchase.product_id       = productId;
                    actualPurchase.status           = true;
                    actualPurchase.tax_percent      = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text);
                    actualPurchase.purchase_rate    = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[6].Text);
                    actualPurchase.discount_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[8].Text);
                    actualPurchase.discount_amnt    = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text);
                    actualPurchase.batch_id         = batchId;
                    actualPurchase.sale_price       = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text);
                    actualPurchase.created_by       = Convert.ToString(user_id);
                    actualPurchase.created_date     = DateTime.Now;

                    //Add into Actual Purchase Tax And Return Table
                    purchase.tbl_ActualPurchaseTaxAndPrice.Add(actualPurchase);


                    //Add Stock if not exist or update the Stock against the product
                    tbl_stock stock = new tbl_stock();
                    if (!IsProductStockExists(companyId, branchId, productId, batchId))
                    {
                        stock.company_id   = companyId;
                        stock.branch_id    = branchId;
                        stock.product_id   = productId;
                        stock.batch_id     = batchId;
                        stock.qty          = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                        stock.status       = true;
                        stock.created_by   = Convert.ToString(user_id);
                        stock.created_date = DateTime.Now;
                        context.tbl_stock.Add(stock);
                    }
                    else
                    {
                        stock               = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault();
                        stock.qty           = stock.qty + Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                        stock.modified_by   = Convert.ToString(user_id);
                        stock.modified_date = DateTime.Now;
                    }
                    purchase.tbl_purchasedetails.Add(purchaseDetails);
                }

                context.tbl_purchase.Add(purchase);
                context.SaveChanges();
                string order = purchase.InvoiceNumber;
                Session["p_id"] = purchase.purchase_id;
                ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true);
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
        }
示例#3
0
        protected void Save()
        {
            try
            {
                int purchaseId = Convert.ToInt32(hdnPurchaseId.Value);
                if (purchaseId == 0)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Please Enter Purchase No','False');", true);
                    return;
                }
                //Get Origianl Purchase Details
                tbl_purchase purchase = new tbl_purchase();
                purchase = context.tbl_purchase.Where(pd => pd.purchase_id == purchaseId && pd.company_id == companyId && pd.branch_id == branchId).FirstOrDefault();

                tbl_purchasereturn purchaseReturn = new tbl_purchasereturn();
                purchaseReturn.purchase_id      = purchaseId;
                purchaseReturn.company_id       = companyId;
                purchaseReturn.branch_id        = branchId;
                purchaseReturn.financialyear_id = financialYearId;
                purchaseReturn.InvoiceNumber    = txtPoNo.Text;
                purchaseReturn.paymentmode_id   = Convert.ToInt32(ddlPaymentMode.SelectedValue);
                purchaseReturn.status           = true;
                purchaseReturn.party_id         = Convert.ToInt32(purchase.party_id);
                purchaseReturn.created_by       = user_id;
                purchaseReturn.created_date     = DateTime.Now;

                //Update into Purchase Payment Details
                tbl_PurchasePaymentDetials purchasePaymentDetail = context.tbl_PurchasePaymentDetials.Where(w => w.PurchaseId == purchaseId).FirstOrDefault();
                purchasePaymentDetail.PaidAmnt       = Convert.ToDecimal(txtPaidAmt.Text);
                purchasePaymentDetail.GivenAmnt      = Convert.ToDecimal(lblGivenAmnt.Text) - Convert.ToDecimal(txtPaidAmt.Text);
                purchasePaymentDetail.BalanceAmnt    = Convert.ToDecimal(txtBalanceAmt.Text);
                purchasePaymentDetail.TaxAmount      = Convert.ToDecimal(lblResultTotalTaxAmnt.Text);
                purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblResultTotalDiscount.Text);
                purchasePaymentDetail.SubTotal       = Convert.ToDecimal(lblResultSubTotal.Text);
                purchasePaymentDetail.GrandTotal     = Convert.ToDecimal(lblResultGrndTotal.Text);
                purchasePaymentDetail.FromTable      = "Return";
                purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail);

                for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++)
                {
                    int         productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text);
                    int         batchId   = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text);
                    tbl_product product   = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault();

                    tbl_purchasereturndetails purchaseReturnDetails = new tbl_purchasereturndetails();
                    purchaseReturnDetails.product_id    = productId;
                    purchaseReturnDetails.batch_id      = batchId;
                    purchaseReturnDetails.tax_id        = product.tax_id;
                    purchaseReturnDetails.unit_id       = product.unit_id;
                    purchaseReturnDetails.discount_amnt = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text);
                    purchaseReturnDetails.tax_amt       = gvpurchasedetails.Rows[i].Cells[9].Text;
                    purchaseReturnDetails.quantity      = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                    purchaseReturnDetails.amount        = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text);
                    purchaseReturnDetails.created_by    = Convert.ToString(user_id);
                    purchaseReturnDetails.created_date  = Convert.ToDateTime(DateTime.Now);
                    purchaseReturnDetails.status        = true;

                    tbl_stock stock = new tbl_stock();
                    stock               = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault();
                    stock.qty           = stock.qty - Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                    stock.modified_by   = Convert.ToString(user_id);
                    stock.modified_date = Convert.ToDateTime(DateTime.Now);

                    purchaseReturn.tbl_purchasereturndetails.Add(purchaseReturnDetails);
                }

                context.tbl_purchasereturn.Add(purchaseReturn);
                context.SaveChanges();
                string invoiceNumber = purchaseReturn.InvoiceNumber;
                ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('saved Successfully, You order number is " + invoiceNumber + "','True');", true);
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
        }
示例#4
0
        protected void Save()
        {
            try
            {
                tbl_sale sale = new tbl_sale();
                sale.company_id       = companyId;
                sale.branch_id        = branchId;
                sale.financialyear_id = financialYearId;
                sale.paymentmode_id   = Convert.ToInt32(ddlPaymentMode.SelectedValue);
                sale.status           = true;
                sale.party_id         = Convert.ToInt32(ddlVendor.SelectedValue);
                sale.InvoiceNumber    = txtSONo.Text;
                sale.sale_date        = DateTime.Parse(txtdate.Text, new CultureInfo("en-US"));
                sale.created_by       = User_id;
                sale.created_date     = DateTime.Now;

                //insert into Sale Payment Details
                tbl_SalePaymentDetails salePaymentDetails = new tbl_SalePaymentDetails();
                salePaymentDetails.TaxAmount      = Convert.ToDecimal(lblTaxAmount.Text);
                salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                salePaymentDetails.SubTotal       = Convert.ToDecimal(lblsubtotal.Text);
                salePaymentDetails.GrandTotal     = Convert.ToDecimal(lblGrandTotal.Text);
                salePaymentDetails.PaidAmnt       = Convert.ToDecimal(txtGivenAmt.Text);
                salePaymentDetails.GivenAmnt      = Convert.ToDecimal(txtGivenAmt.Text);
                salePaymentDetails.BalanceAmnt    = Convert.ToDecimal(txtBalanceAmt.Text);
                salePaymentDetails.FromTable      = "Sale";
                sale.tbl_SalePaymentDetails.Add(salePaymentDetails);

                for (int i = 0; i <= gvSalesdetails.Rows.Count - 1; i++)
                {
                    int         productId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[3].Text);
                    int         batchId   = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[11].Text);
                    tbl_product product   = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault();

                    //Add into sale Details table for each product
                    tbl_saledetails saleDetails = new tbl_saledetails();
                    saleDetails.product_id   = productId;
                    saleDetails.batch_id     = batchId;
                    saleDetails.tax_id       = product.tax_id;
                    saleDetails.unit_id      = product.unit_id;
                    saleDetails.tax_amt      = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[9].Text);
                    saleDetails.dicount_amt  = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text);
                    saleDetails.quantity     = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text);
                    saleDetails.amount       = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[10].Text);
                    saleDetails.created_by   = Convert.ToString(User_id);
                    saleDetails.created_date = Convert.ToDateTime(DateTime.Now);
                    saleDetails.status       = true;

                    //Enter Details In tbl_ActualsaleTaxAndPrice : to get the original Values at the time of sale Return
                    tbl_ActualSalesTaxAndPrice actualSale = new tbl_ActualSalesTaxAndPrice();
                    actualSale.product_id       = productId;
                    actualSale.status           = true;
                    actualSale.discount_percent = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[6].Text);
                    actualSale.tax_percent      = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[8].Text);
                    actualSale.sale_rate        = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[5].Text);
                    actualSale.discount_amnt    = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text);
                    actualSale.created_by       = Convert.ToString(User_id);
                    actualSale.created_date     = Convert.ToDateTime(DateTime.Now);

                    //Add into Actual sale Tax And Return Table
                    sale.tbl_ActualSalesTaxAndPrice.Add(actualSale);

                    //update the Stock against the product
                    tbl_stock stock = new tbl_stock();
                    stock               = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault();
                    stock.qty           = stock.qty - Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text);
                    stock.modified_by   = Convert.ToString(User_id);
                    stock.modified_date = Convert.ToDateTime(DateTime.Now);

                    sale.tbl_saledetails.Add(saleDetails);
                }

                context.tbl_sale.Add(sale);
                context.SaveChanges();
                Session["sale_id"] = sale.sale_id;
                string order = sale.InvoiceNumber;
                ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true);
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
        }
示例#5
0
        //Methods------------------
        protected void Save()
        {
            try
            {
                //added by ather for file attachment url
                string  path       = "~/Uploads/AttachedFiles/Purchase/"; //path without filename to save file
                bool    fileupMsg  = uploadFile(fuAttacheFile, path, "");
                decimal balanceAmt = 0;                                   // Convert.ToDecimal(txtBalanceAmt.Text);
                decimal paidAmnt   = 0;

                if (!string.IsNullOrEmpty(txtPaidAmt.Text))
                {
                    paidAmnt = Convert.ToDecimal(txtPaidAmt.Text);
                }

                if (!string.IsNullOrEmpty(txtBalanceAmt.Text))
                {
                    balanceAmt = Convert.ToDecimal(txtBalanceAmt.Text);
                }


                tbl_purchase purchase = new tbl_purchase();
                if (fileupMsg)
                {
                    path = path + Path.GetFileName(fuAttacheFile.PostedFile.FileName); //path with filename to save in DB
                    purchase.attachmentUrl = path;
                }
                purchase.company_id       = companyId;
                purchase.branch_id        = branchId;
                purchase.financialyear_id = financialYearId;
                purchase.InvoiceNumber    = lblInvoice.Text;

                purchase.PaymentMode_id = Convert.ToInt32(ddlPaymentMode.SelectedValue);
                purchase.status         = true;
                purchase.party_id       = Convert.ToInt32(ddlVendor.SelectedValue);
                purchase.Po_Date        = DateTime.ParseExact(txtdate.Text, "dd/MM/yyyy", new CultureInfo("en-US"));
                purchase.po_no          = txtPONo.Text;
                purchase.Note           = txtNotePurchase.Text;
                purchase.OtherExpLabel  = txtOtherExpLabel.Text;
                purchase.other_expenses = Convert.ToDecimal(txtotherexpence.Text);

                purchase.created_by   = user_id;
                purchase.created_date = DateTime.Now;


                //insert into Purchase Payment Details
                tbl_PurchasePaymentDetials purchasePaymentDetail = new tbl_PurchasePaymentDetials();
                purchasePaymentDetail.TaxAmount      = Convert.ToDecimal(lblTaxAmount.Text);
                purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                purchasePaymentDetail.SubTotal       = Convert.ToDecimal(lblsubtotal.Text);
                purchasePaymentDetail.GrandTotal     = Convert.ToDecimal(lblGrandTotal.Text);
                purchasePaymentDetail.PaidAmnt       = paidAmnt;
                purchasePaymentDetail.GivenAmnt      = paidAmnt;
                purchasePaymentDetail.BalanceAmnt    = balanceAmt;
                purchasePaymentDetail.CreatedDate    = DateTime.Now;
                purchasePaymentDetail.CreatedBy      = user_id;
                purchasePaymentDetail.FromTable      = "Purchase";

                purchasePaymentDetail.OtherExpLabel = txtOtherExpLabel.Text;
                purchasePaymentDetail.OtherExp      = Convert.ToDecimal(txtotherexpence.Text);

                //string otherExp = txtotherexpence.Text;
                //if (otherExp.Contains("-"))
                //{
                //    var calculatedDiscount = Convert.ToDecimal(lblDiscountAmt.Text);
                //    var overAllDisc = Convert.ToDecimal(otherExp.Substring(otherExp.LastIndexOf('-') + 0));
                //    var totalDiscount = calculatedDiscount - overAllDisc;

                //    purchasePaymentDetail.DiscountAmount = totalDiscount;
                //}
                //else
                //{
                //    purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                //}


                purchasePaymentDetail.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                purchase.tbl_PurchasePaymentDetials.Add(purchasePaymentDetail);


                for (int i = 0; i <= gvpurchasedetails.Rows.Count - 1; i++)
                {
                    int         productId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[2].Text);
                    int         batchId   = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[4].Text);
                    tbl_product product   = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault();
                    var         qty       = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                    //Add into Purchase Details table for each product
                    tbl_purchasedetails purchaseDetails = new tbl_purchasedetails();
                    purchaseDetails.product_id = productId;
                    purchaseDetails.batch_id   = batchId;
                    // purchaseDetails.tax_id = product.tax_id;
                    purchaseDetails.unit_id      = product.unit_id;
                    purchaseDetails.tax_amt      = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[13].Text);
                    purchaseDetails.dicount_amt  = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text);
                    purchaseDetails.quantity     = qty;
                    purchaseDetails.amount       = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[14].Text);
                    purchaseDetails.created_by   = Convert.ToString(user_id);
                    purchaseDetails.created_date = DateTime.Now;
                    purchaseDetails.status       = true;

                    var groupId = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[10].Text);

                    DataTable taxgroupTypes = helper.LINQToDataTable(context.SelectProductTaxGroup(groupId, productId, qty));
                    ViewState["TotalTaxPercent"] = null;
                    for (int j = 0; j <= taxgroupTypes.Rows.Count - 1; j++)
                    {
                        ViewState["TotalTaxPercent"] = taxgroupTypes.Rows[j].Field <decimal>("totalTaxPercetage");
                    }

                    //insert into tax group purchase
                    tbl_purchasetaxgroup purchaseTaxGroup = new tbl_purchasetaxgroup();
                    purchaseTaxGroup.group_id           = groupId;
                    purchaseTaxGroup.product_id         = productId;
                    purchaseTaxGroup.batchId            = batchId;
                    purchaseTaxGroup.totalTaxPercentage = (Decimal)ViewState["TotalTaxPercent"];
                    purchaseTaxGroup.group_name         = gvpurchasedetails.Rows[i].Cells[11].Text;
                    //Get the Tax type saved from db
                    //insert into tax group detailes
                    // var taxGroupTypes = context.tbl_productTaxGroup.Join(context.tbl_taxgroup, t => t.group_id, pt => pt.group_id, (t, pt) => new { t.group_id, pt.group_name, t.product_id }).Where(t => t.product_id == productId).ToList();


                    for (int j = 0; j <= taxgroupTypes.Rows.Count - 1; j++)
                    {
                        tbl_purchasetaxgroupdetails purchaseTaxDetails = new tbl_purchasetaxgroupdetails();
                        purchaseTaxDetails.type_id        = taxgroupTypes.Rows[j].Field <int>("type_id");
                        purchaseTaxDetails.tax_percentage = taxgroupTypes.Rows[j].Field <decimal>("tax_percentage");
                        purchaseTaxGroup.tbl_purchasetaxgroupdetails.Add(purchaseTaxDetails);
                    }

                    purchase.tbl_purchasetaxgroup.Add(purchaseTaxGroup);
                    //Enter Details In tbl_ActualPurchaseTaxAndPrice : to get the original Values at the time of Purchase Return
                    tbl_ActualPurchaseTaxAndPrice actualPurchase = new tbl_ActualPurchaseTaxAndPrice();
                    actualPurchase.product_id = productId;
                    actualPurchase.status     = true;
                    //actualPurchase.tax_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[10].Text);
                    actualPurchase.purchase_rate    = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[6].Text);
                    actualPurchase.discount_percent = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[8].Text);
                    actualPurchase.discount_amnt    = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[9].Text);
                    actualPurchase.batch_id         = batchId;
                    actualPurchase.sale_price       = Convert.ToDecimal(gvpurchasedetails.Rows[i].Cells[7].Text);
                    actualPurchase.created_by       = Convert.ToString(user_id);
                    actualPurchase.created_date     = DateTime.Now;

                    //Add into Actual Purchase Tax And Return Table
                    purchase.tbl_ActualPurchaseTaxAndPrice.Add(actualPurchase);


                    //Add Stock if not exist or update the Stock against the product
                    tbl_stock stock = new tbl_stock();
                    if (!IsProductStockExists(companyId, branchId, productId, batchId))
                    {
                        stock.company_id   = companyId;
                        stock.branch_id    = branchId;
                        stock.product_id   = productId;
                        stock.batch_id     = batchId;
                        stock.qty          = Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                        stock.status       = true;
                        stock.created_by   = Convert.ToString(user_id);
                        stock.created_date = DateTime.Now;
                        context.tbl_stock.Add(stock);
                    }
                    else
                    {
                        stock               = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault();
                        stock.qty           = stock.qty + Convert.ToInt32(gvpurchasedetails.Rows[i].Cells[5].Text);
                        stock.modified_by   = Convert.ToString(user_id);
                        stock.modified_date = DateTime.Now;
                    }
                    purchase.tbl_purchasedetails.Add(purchaseDetails);
                }


                context.tbl_purchase.Add(purchase);
                context.SaveChanges();
                string order = purchase.InvoiceNumber;
                Session["p_id"] = purchase.purchase_id;
                ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true);
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
        }
示例#6
0
        protected void Save()
        {
            try
            {                                                         //added by ather for file attachment url
                string  path       = "~/Uploads/AttachedFiles/Sale/"; //path without filename to save file
                bool    fileupMsg  = uploadFile(fuAttacheFile, path, "");
                decimal balanceAmt = 0;                               // Convert.ToDecimal(txtBalanceAmt.Text);
                decimal paidAmnt   = 0;

                if (!string.IsNullOrEmpty(txtGivenAmt.Text))
                {
                    paidAmnt = Convert.ToDecimal(txtGivenAmt.Text);
                }
                if (!string.IsNullOrEmpty(txtBalanceAmt.Text))
                {
                    balanceAmt = Convert.ToDecimal(txtBalanceAmt.Text);
                }
                tbl_sale sale = new tbl_sale();
                if (fileupMsg)
                {
                    path = path + Path.GetFileName(fuAttacheFile.PostedFile.FileName); //path with filename to save in DB
                    sale.attachmentUrl = path;
                }
                sale.company_id       = companyId;
                sale.branch_id        = branchId;
                sale.financialyear_id = financialYearId;
                sale.paymentmode_id   = Convert.ToInt32(ddlPaymentMode.SelectedValue);
                sale.status           = true;
                sale.party_id         = Convert.ToInt32(ddlVendor.SelectedValue);
                sale.InvoiceNumber    = txtSONo.Text;
                sale.sale_date        = DateTime.Parse(txtdate.Text, new CultureInfo("en-US"));
                sale.created_by       = User_id;
                sale.created_date     = DateTime.Now;
                sale.Note             = txtSaleNote.Text;
                //sale.OtherExpLabel = txtOtherExpLabel.Text;
                //sale.other_expenses = Convert.ToDecimal(txtotherexpence.Text);

                //insert into Sale Payment Details
                tbl_SalePaymentDetails salePaymentDetails = new tbl_SalePaymentDetails();
                salePaymentDetails.TaxAmount   = Convert.ToDecimal(lblTaxAmount.Text);
                salePaymentDetails.SubTotal    = Convert.ToDecimal(lblsubtotal.Text);
                salePaymentDetails.GrandTotal  = Convert.ToDecimal(lblGrandTotal.Text);
                salePaymentDetails.PaidAmnt    = paidAmnt;
                salePaymentDetails.GivenAmnt   = paidAmnt;
                salePaymentDetails.BalanceAmnt = balanceAmt;
                salePaymentDetails.FromTable   = "Sale";
                salePaymentDetails.CreatedBy   = User_id;
                salePaymentDetails.CreatedDate = DateTime.Now;


                salePaymentDetails.OtherExpLabel = txtOtherExpLabel.Text;
                salePaymentDetails.OtherExp      = Convert.ToDecimal(txtotherexpence.Text);

                //string otherExp = txtotherexpence.Text;
                //if (otherExp.Contains("-"))
                //{
                //    var calculatedDiscount = Convert.ToDecimal(lblDiscountAmt.Text);
                //    var overAllDisc = Convert.ToDecimal(otherExp.Substring(otherExp.LastIndexOf('-') + 0));
                //    var totalDiscount = calculatedDiscount - overAllDisc;

                //    salePaymentDetails.DiscountAmount = totalDiscount;
                //}
                //else
                //{
                //    salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                //}

                salePaymentDetails.DiscountAmount = Convert.ToDecimal(lblDiscountAmt.Text);
                sale.tbl_SalePaymentDetails.Add(salePaymentDetails);

                for (int i = 0; i <= gvSalesdetails.Rows.Count - 1; i++)
                {
                    int         productId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[3].Text);
                    int         batchId   = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[8].Text);
                    decimal     qty       = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[4].Text);
                    tbl_product product   = context.tbl_product.Where(w => w.product_id == productId).FirstOrDefault();

                    //Add into sale Details table for each product
                    tbl_saledetails saleDetails = new tbl_saledetails();
                    saleDetails.product_id   = productId;
                    saleDetails.batch_id     = batchId;
                    saleDetails.unit_id      = product.unit_id;
                    saleDetails.tax_amt      = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[10].Text);
                    saleDetails.dicount_amt  = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text);
                    saleDetails.quantity     = qty;
                    saleDetails.amount       = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[11].Text);
                    saleDetails.created_by   = Convert.ToString(User_id);
                    saleDetails.created_date = Convert.ToDateTime(DateTime.Now);
                    saleDetails.status       = true;


                    int groupId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[12].Text);
                    //var PurchasegroupId = Convert.ToInt32(gvSalesdetails.Rows[i].Cells[10].Text);

                    DataTable taxgroupTypes1 = helper.LINQToDataTable(context.SelectPurcahseProductTaxGroup(batchId, productId, qty, groupId));
                    ViewState["TotalTaxPercent"] = null;
                    for (int j = 0; j <= taxgroupTypes1.Rows.Count - 1; j++)
                    {
                        ViewState["TotalTaxPercent"] = taxgroupTypes1.Rows[j].Field <decimal>("totalTaxPercetage");
                    }
                    //insert into tax group Sale
                    tbl_saleTaxGroup saleTaxGroup = new tbl_saleTaxGroup();
                    saleTaxGroup.group_id           = groupId;
                    saleTaxGroup.product_id         = productId;
                    saleTaxGroup.totalTaxPercentage = (Decimal)ViewState["TotalTaxPercent"];
                    saleTaxGroup.group_name         = gvSalesdetails.Rows[i].Cells[9].Text;
                    sale.tbl_saleTaxGroup.Add(saleTaxGroup);

                    //Get the Tax type saved from db
                    //insert into tax group detailes


                    for (int j = 0; j <= taxgroupTypes1.Rows.Count - 1; j++)
                    {
                        tbl_saleTaxGroupDetailes saleTaxDetails = new tbl_saleTaxGroupDetailes();
                        saleTaxDetails.type_id        = taxgroupTypes1.Rows[j].Field <int>("type_id");
                        saleTaxDetails.tax_percentage = taxgroupTypes1.Rows[j].Field <decimal>("tax_percentage");
                        saleTaxGroup.tbl_saleTaxGroupDetailes.Add(saleTaxDetails);
                    }

                    //Enter Details In tbl_ActualsaleTaxAndPrice : to get the original Values at the time of sale Return
                    tbl_ActualSalesTaxAndPrice actualSale = new tbl_ActualSalesTaxAndPrice();
                    actualSale.product_id       = productId;
                    actualSale.status           = true;
                    actualSale.discount_percent = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[6].Text);
                    actualSale.sale_rate        = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[5].Text);
                    actualSale.discount_amnt    = Convert.ToDecimal(gvSalesdetails.Rows[i].Cells[7].Text);
                    actualSale.created_by       = Convert.ToString(User_id);
                    actualSale.created_date     = Convert.ToDateTime(DateTime.Now);
                    //Add into Actual sale Tax And Return Table
                    sale.tbl_ActualSalesTaxAndPrice.Add(actualSale);

                    //update the Stock against the product
                    tbl_stock stock = new tbl_stock();
                    stock               = context.tbl_stock.Where(w => w.company_id == companyId && w.branch_id == branchId && w.product_id == productId && w.batch_id == batchId).FirstOrDefault();
                    stock.qty           = stock.qty - Convert.ToInt32(gvSalesdetails.Rows[i].Cells[4].Text);
                    stock.modified_by   = Convert.ToString(User_id);
                    stock.modified_date = Convert.ToDateTime(DateTime.Now);

                    sale.tbl_saledetails.Add(saleDetails);
                }

                context.tbl_sale.Add(sale);
                context.SaveChanges();
                Session["sale_id"] = sale.sale_id;
                string order = sale.InvoiceNumber;
                ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openalert('Saved successfully, Your order number is " + order + "');", true);
            }
            catch (Exception ex)
            {
                ErrorLog.saveerror(ex);
            }
        }