public JsonResult AddPaymentData(PaymentTransactionVM paymentsystem) { int mrNumber; int v; bool status = false; string mes = ""; if (ModelState.IsValid) { try { Payment pm = new Payment(); { //db.Transactions.Where(w => w.AccountId == accountInstance.Id && w.IsCancelled == false && w.TransactionTypeId == 2 && w.Date.Year >= 2015) // .Select(t => t.Id) // .DefaultIfEmpty(-1) // .Max() var wa = (from y in db.UserLogins where y.UserID.ToString() == User.Identity.Name select new { y.WorkStationID }).FirstOrDefault(); var wn = db.Warehouses.Where(x => x.WarehouseID == wa.WorkStationID).FirstOrDefault(); var w = db.Customers.Where(x => x.CustomerID == paymentsystem.CustomerID).FirstOrDefault(); string s1 = w.WarehouseID.ToString(); string s2 = string.Concat(s1 + "0000000"); int MRNo = Convert.ToInt32(s2); var maxMrNO = (from n in db.Payments where n.WarehouseID == wn.WarehouseID select n.MoneyReceiptNo).DefaultIfEmpty(MRNo).Max(); //var V = db.Payments.Where(p => p.WarehouseID == w.WarehouseID).Select(p => p.MoneyReceiptNo).DefaultIfEmpty(100000).Max(); mrNumber = (maxMrNO + 1); pm.CustomerID = paymentsystem.CustomerID; pm.PaymentTransactionType = paymentsystem.PaymentTransactionType; pm.PaymentDate = DateTime.Now.Date; pm.PaymentReceived = paymentsystem.PaymentReceived; pm.PaymentModeID = paymentsystem.PaymentModeID; pm.ActualPaymentEntryDate = DateTime.Now; pm.PaymentNote = paymentsystem.PaymentNote; pm.MoneyReceiptNo = mrNumber; pm.BankBranchID = paymentsystem.BankBranchID; pm.ChequeDDNo = paymentsystem.ChequeDDNo; pm.ChequeDate = paymentsystem.ChequeDate; pm.LocalBankBranchID = paymentsystem.LocalBankBranchID; //pm.DepositedByID = (int)User.Identity.Name;// paymentsystem.DepositedByID; pm.AdvanceAdjustment = false; pm.CreateBy = User.Identity.Name; pm.CreateDate = DateTime.Now; pm.ChallanNo = paymentsystem.ChallanNo; pm.BankID = paymentsystem.BankID; pm.BranchID = paymentsystem.BankBranchID; pm.LocalBranchID = paymentsystem.LocalBankBranchID; pm.WarehouseID = (int)w.WarehouseID; } db.Payments.Add(pm); CustomerLedgerDetail cld = new CustomerLedgerDetail(); { var w = db.Customers.Where(x => x.CustomerID == paymentsystem.CustomerID).FirstOrDefault(); cld.WarehouseID = (int)w.WarehouseID; cld.CustomerID = paymentsystem.CustomerID; cld.TransactionTypeID = 16; cld.TransactionDate = DateTime.Today; cld.TransactionNo = "PMT" + mrNumber.ToString(); cld.CrAmount = paymentsystem.PaymentReceived; cld.DrAmount = 0; cld.DebitCredit = "C"; cld.Narration = "Payment Value#" + paymentsystem.PaymentReceived + " for Customer" + cld.CustomerID; cld.CreateBy = User.Identity.Name; cld.CreateDate = System.DateTime.Now; } db.CustomerLedgerDetails.Add(cld); //var pmxPay = (from x in db.Customers where x.CustomerID == paymentsystem.CustomerID select x).FirstOrDefault(); //int cType = Convert.ToInt16(pmxPay.CustomerTypeID); //if (cType == 10) //{ PaymentDetail pd = new PaymentDetail(); { var w = db.Customers.Where(x => x.CustomerID == paymentsystem.CustomerID).FirstOrDefault(); // pd.WarehouseID = pd.CashSettlementID = 0; pd.MoneyReceiptNo = mrNumber; pd.WarehouseID = w.WarehouseID; pd.CashSettlementDate = DateTime.Now; } db.PaymentDetails.Add(pd); // Customer Balance Update var custbalance = db.spCustomerBalanceUpdate(paymentsystem.CustomerID, "P", paymentsystem.PaymentReceived); //{ // connection(); // con.Open(); // // S.WarehouseID = (int)S.ToWarehouse; // SqlCommand com = new SqlCommand("spCustomerBalanceUpdate", con); // com.CommandType = CommandType.StoredProcedure; // com.Parameters.AddWithValue("@PCustomerID", paymentsystem.CustomerID); // com.Parameters.AddWithValue("@PDrCr", "D"); // com.Parameters.AddWithValue("@PAmount", paymentsystem.PaymentReceived); // com.ExecuteNonQuery(); // con.Close(); //} db.SaveChanges(); status = true; return(new JsonResult { Data = new { status = status, mes = mes, v = mrNumber } }); } catch (Exception ex) { return(Json(new { status = "error", message = "Error Found" })); //throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes } }); //, v = v } }; }
public JsonResult SaveBGData(CustomerBGInfoVM A) { bool status = false; string mes = ""; string v = A.BGRefNo; int bgNo; bgNo = (from x in db.CustomerBGInfoes select x).Max(p => p.BankGuaranteeNo) + 1; var c = db.Customers.Where(t => t.CustomerID == A.CustomerID).FirstOrDefault(); if (ModelState.IsValid) { try { using (PEPSIEntities dc = new PEPSIEntities()) { CustomerBGInfo bg = new CustomerBGInfo(); { bg.CustomerID = A.CustomerID; bg.BankGuaranteeNo = bgNo; bg.BankName = A.BankName; bg.BGRefNo = A.BGRefNo; bg.ActualBGAmt = A.ActualBGAmt; bg.BGAmount = A.BGAmount; bg.IssueDate = A.IssueDate; bg.ExpiryDate = A.ExpiryDate; bg.BankBrName = A.BankBrName; bg.Status = "A"; bg.CreateBy = User.Identity.Name; bg.CreateDate = System.DateTime.Now; } dc.CustomerBGInfoes.Add(bg); CustomerLedgerDetail cl = new CustomerLedgerDetail(); { cl.WarehouseID = (int)c.WarehouseID; cl.TransactionNo = "BG" + bgNo; cl.TransactionTypeID = 18; cl.CustomerID = A.CustomerID; cl.DebitCredit = "C"; cl.CrAmount = A.BGAmount; cl.DrAmount = 0; cl.Narration = "Customer BG amount#" + A.BGAmount + "Against BG NO#" + A.BGRefNo; cl.RefNumber1 = A.BGRefNo; cl.TransactionDate = System.DateTime.Today; cl.CreateBy = User.Identity.Name; cl.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cl); // Update Customer Curr balance var d = db.spCustomerBalanceUpdate(A.CustomerID, "G", A.BGAmount); // Save All Data dc.SaveChanges(); status = true; dc.Dispose(); } } catch (Exception ex) { return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); //throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }
public ActionResult SaveReturn(ReturnmentVM R) { var w = (from y in db.UserLogins where y.UserID.ToString() == User.Identity.Name select new { y.WorkStationID }).FirstOrDefault(); var wn = db.Warehouses.Where(x => x.WarehouseID == w.WorkStationID).FirstOrDefault(); string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "3000000"); string s3 = string.Concat(s1 + "5000000"); int vRID = Convert.ToInt32(s2); int MaxCashID = Convert.ToInt32(s3); bool status = false; string mes = ""; //int = db.Returnments.Max(p=>p.ReturnmentID)+1; var V = (from x in db.Customers where x.CustomerID == R.CustomerID select x).FirstOrDefault(); var MvrID = (from n in db.Returnments where n.WarehouseID == w.WorkStationID select n.ReturnmentID).DefaultIfEmpty(vRID).Max(); int vrID = MvrID + 1; int v = vrID; var PTID = (from x in db.ProductTransactions where x.WarehouseID == w.WorkStationID select x.TransactionNo).Max(); int TrID = (PTID + 1); var maxCasettleId = (from n in db.CashSettlements where n.WarehouseID == w.WorkStationID select n.CashSettlementID).DefaultIfEmpty(MaxCashID).Max(); csID = Convert.ToInt32(maxCasettleId + 1); decimal securityAmt = 0; decimal securitywithRebate = 0; decimal diffamt = 0; decimal negload = 0; if (ModelState.IsValid) { using (PEPSIEntities dc = new PEPSIEntities()) { CommonChk cm = new CommonChk(); Returnment dbr = new Returnment { WarehouseID = R.WarehouseID, ReturnmentID = vrID, CustomerID = R.CustomerID, Reasons = R.Reasons, RefNumber = R.RefNumber, ReturnDate = DateTime.Today,//R.ReturnDate, ReturnTypeID = R.ReturnTypeID, ReturnGoodsQty = R.ReturnGoodsQty, InAmount = R.InAmount, AdjustedAmt = R.AdjustedAmt, CreateDate = DateTime.Now, CreateBy = User.Identity.Name }; dc.Returnments.Add(dbr); if (R.FareAmt > 0) { var CustName = (from x in db.Customers where x.CustomerID == R.CustomerID select x).FirstOrDefault(); TransportAgencyandFareSetup tf = new TransportAgencyandFareSetup(); { tf.WarehouseID = R.WarehouseID; tf.CustomerName = CustName.CustomerName.ToString(); tf.Address = CustName.CustomerAddress1; tf.TAID = (int)R.TAID; tf.ChallanNumber = vrID; tf.FareAmnt = (decimal)R.FareAmt; tf.VechileNo = R.VechileNo; tf.EnteredBy = User.Identity.Name; tf.EnteredDate = DateTime.Now; tf.ChallanDate = DateTime.Today; tf.TotalCases = R.ReturnGoodsQty; tf.Status = "No"; tf.Remarks = "Returned Hired Truck"; tf.EmptyReturn = "Yes"; } dc.TransportAgencyandFareSetups.Add(tf); } if (R.ReturnTypeID == 14) { foreach (var i in R.listreturndetail) { decimal countQtywithRebate = 0; int countQtywithRebatePlastic = 0; countQtywithRebate = (decimal)i.ReturnQty + (decimal)i.RebateQty; countQtywithRebatePlastic = (int)i.Packsize + (int)i.RebatePlastic; decimal xxx = cm.GetSecurityAmount((int)i.ProductID, (decimal)i.ReturnQty, (int)i.Packsize); decimal xx = cm.GetSecurityAmount((int)i.ProductID, countQtywithRebate, countQtywithRebatePlastic); securityAmt = securityAmt + xxx; securitywithRebate = securitywithRebate + xx; diffamt = securitywithRebate - securityAmt; } } decimal cramt = 0; decimal drinksamount = (decimal)R.InAmount - securityAmt; decimal cramtsub = (decimal)R.InAmount - (decimal)R.AdjustedAmt; // Unloadcharge is negetive decimal cramtadd = (decimal)R.InAmount + (decimal)R.AdjustedAmt; decimal totsecurityamount = securityAmt + diffamt; if (R.ReturnTypeID == 13) { cramt = cramtadd; securityAmt = (decimal)R.InAmount; } else { cramt = cramtsub; } if (R.ReturnTypeID != 13) // Not Empty Return { ProductTransaction dm = new ProductTransaction(); { dm.TransactionTypeID = R.ReturnTypeID; dm.TransactionNo = TrID;// dm.WarehouseID = R.WarehouseID; dm.FromWarehouse = R.WarehouseID; //dm.ToWarehouse = S.ToWarehouse; dm.TransactionDate = DateTime.Today; dm.ReferenceNo = vrID.ToString(); if (R.ReturnTypeID != 13) { dm.Status = "R"; } //else //{ // dm.Status = "A"; //} //cuser = User.Identity.Name dm.CreatedBy = User.Identity.Name; dm.CreatedDate = DateTime.Now; } dc.ProductTransactions.Add(dm); } // Customer Ledger if (R.ReturnTypeID != 12) { CustomerLedgerDetail cld = new CustomerLedgerDetail(); { cld.WarehouseID = R.WarehouseID; cld.CustomerID = (int)R.CustomerID; cld.TransactionNo = "RTN" + vrID.ToString(); cld.TransactionTypeID = R.ReturnTypeID; cld.RefNumber1 = R.RefNumber.ToString(); cld.TransactionDate = DateTime.Today; cld.CrAmount = cramt;//R.InAmount; cld.DrAmount = 0; cld.DebitCredit = "C"; cld.Narration = "Returnment Amount#" + cramt /*R.InAmount*/ + " to Customer" + cld.CustomerID; cld.CreateBy = User.Identity.Name; cld.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cld); var m = (from x in db.Customers where x.CustomerID == R.CustomerID select x).FirstOrDefault(); CashSettlement cs = new CashSettlement(); cs.WarehouseID = R.WarehouseID; cs.CustomerID = (int)R.CustomerID; cs.CashSettlementID = csID; cs.CashSettlementDate = DateTime.Today; cs.DeliveryChallanDate = DateTime.Today; cs.OrderID = vrID;// R.ReturnmentID; cs.DeliveryChallanNumbers = 0; cs.TransactionNo = vrID; cs.TotalAmount = cramt; cs.ReceivedAmount = cramt; cs.CustomerExecutiveID = m.CustomerExecutiveID; if (R.ReturnTypeID == 13) { cs.EmptyReturnLoadCharge = R.AdjustedAmt; cs.SecurityAmount = -R.InAmount; } else { // cs.FinishGoodsUnloadCharge = R.AdjustedAmt; cs.ReturnFGCharge = R.AdjustedAmt; cs.SecurityAmount = -totsecurityamount; } cs.CreateBy = User.Identity.Name; cs.CraeteDate = DateTime.Now; dc.CashSettlements.Add(cs); // var cb = db.spCustomerBalanceUpdate(R.CustomerID, "R", cramt/*R.InAmount*/); decimal vInvAmt = cramt - securityAmt; decimal vBookAmt = 0; decimal vCurBal = cramt + diffamt; if (R.ReturnTypeID == 14) { negload = -(decimal)R.AdjustedAmt; } else { negload = (decimal)R.AdjustedAmt; } decimal vChargeAmount = negload; decimal vSecurityAmt = securityAmt + diffamt;// securitywithRebate; decimal vRebate = 0; decimal vFare = (decimal)R.FareAmt; decimal VactuaInvAmount = vInvAmt - negload;// (decimal)R.AdjustedAmt; // without loaduloadcharge db.spUpdateDBsInvoiceValue( R.CustomerID, "S", vCurBal, vCurBal, VactuaInvAmount, vBookAmt, vSecurityAmt, vChargeAmount, vFare, vRebate, vrID ); } foreach (var i in R.listreturndetail) { var q = (from x in db.Products where x.ProductID == i.ProductID select x).FirstOrDefault(); int conf = q.ConversionFactor; decimal totpcqty = (decimal)i.ReturnQty * conf; int csqty = (Convert.ToInt32(Math.Round(totpcqty)) / conf); int pcqty = (Convert.ToInt32(Math.Round(totpcqty)) % conf); decimal totrebpcqty = (decimal)i.RebateQty * conf; int rebcsqty = (Convert.ToInt32(Math.Round(totrebpcqty)) / conf); int rebpcqty = (Convert.ToInt32(Math.Round(totrebpcqty)) % conf); if (R.ReturnTypeID != 13) { ProductTransactionDetail ptd = new ProductTransactionDetail(); decimal qty = (decimal)i.ReturnQty + (decimal)i.RebateQty; int s = q.ConversionFactor; // decimal qt = Math.Round((decimal)(i.ReturnQty) * s, 2); decimal qt = Math.Round((decimal)(qty) * s, 2); int pcquantity = (Convert.ToInt32(Math.Round(qt)) % s); int casesqty = (Convert.ToInt32(Math.Round(qt)) / s); ptd.WarehouseID = R.WarehouseID; ptd.TransactionNo = TrID; ptd.ProductID = (int)i.ProductID; ptd.Quantity = (int)qt;// (int)i.ReturnQty; ptd.PlasticBoxQuantity = (int)i.Packsize; ptd.BatchNo = i.BatchNo; dc.ProductTransactionDetails.Add(ptd); StockBatchDetail sbd = new StockBatchDetail(); sbd.WarehouseID = R.WarehouseID; sbd.TransactionNo = vrID; sbd.TransactionDate = System.DateTime.Today; sbd.ProductID = (int)i.ProductID; sbd.Quantity = (int)qt;// (int)i.ReturnQty; sbd.PlasticBoxQuantity = i.Packsize; sbd.TransactionType = "Return Product"; sbd.BatchNo = (int)i.BatchNo; sbd.CreateBy = User.Identity.Name; sbd.CreateDate = System.DateTime.Now; dc.StockBatchDetails.Add(sbd); if (R.ReturnTypeID == 14) { var peb = db.spProductBalanceUpdate(i.ProductID, R.WarehouseID, (int)qt, 0, 0, 0, 0);// (int)i.ReturnQty); } ; } ; ReturnmentDetail rd = new ReturnmentDetail(); rd.WarehouseID = R.WarehouseID; rd.ReturnmentID = vrID;// R.ReturnmentID; rd.ProductID = i.ProductID; rd.ReturnQty = i.ReturnQty; rd.Amount = i.Amount; rd.Packsize = i.Packsize; rd.BatchNo = i.BatchNo; rd.RebateQty = i.RebateQty; rd.RebatePlastic = i.RebatePlastic; rd.SchemeID = i.SchemeID; dc.ReturnmentDetails.Add(rd); if (R.ReturnTypeID != 12) { CashSettlementDetail cd = new CashSettlementDetail(); var ratedata = db.ProductRateDetails.Where(x => x.ProductRateID == V.ProductRateID && x.ProductID == i.ProductID).FirstOrDefault(); // double xva = .2; cd.WarehouseID = R.WarehouseID; cd.CashSettlementID = csID; cd.AlternateReturnedFilledQuantity = (int)i.RebateQty; cd.ProductID = (int)i.ProductID; cd.UnitPrice = ratedata.UnitPrice; cd.AlternateAgencyCommission = ratedata.AlternateAgencyCommission; cd.AlternateUnitPrice = ratedata.AlternateUnitPrice; cd.MRPRate = ratedata.MRPRate; cd.AlternateRebateAmount = 0; cd.AlternateGrossSalesAmount = 0; cd.VATAmount = 0; cd.SchemeID = (int)i.SchemeID; cd.ReturnedPlasticBoxSecurity = 0;// (decimal)i.Amount* (decimal)xva; //cd.UnitPrice = if (R.ReturnTypeID == 13) { //cd.ReturnedAlternateSecurityDeposit = (decimal)i.Amount; cd.ReturnedQuantity = pcqty; cd.AlternateReturnedQuantity = csqty; cd.ReturnedPlasticBoxQuantity = (int)i.Packsize; cd.ReturnedSecurityDeposit = q.SecurityDeposit; cd.ReturnedAlternateSecurityDeposit = q.AlternateSecurityDeposit; cd.ReturnedPlasticBoxSecurity = q.PlasticBoxSecurity; } else { cd.AlternateReturnedFilledQuantity = csqty; // (int)i.ReturnQty; cd.ReturnedFilledQuantity = pcqty; cd.AlternateReturnedRebateQuantity = rebcsqty; // (int)i.RebateQty; cd.ReturnedRebateQuantity = rebpcqty; cd.ReturnedPlasticBoxQuantity = (int)i.Packsize + (int)i.RebatePlastic; cd.ReturnedSecurityDeposit = q.SecurityDeposit; cd.ReturnedAlternateSecurityDeposit = q.AlternateSecurityDeposit; cd.ReturnedPlasticBoxSecurity = q.PlasticBoxSecurity; } dc.CashSettlementDetails.Add(cd); } //if (R.ReturnTypeID == 14) //{ // var pb = db.spProductBalanceUpdate(i.ProductID, R.WarehouseID, (int)i.ReturnQty, 0, 0, 0, 0); //} } ; dc.SaveChanges(); status = true; dc.Dispose(); } ModelState.Clear(); } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }
public JsonResult AddInvoiceData(InvoiceVM Inv) { var w = (from yt in db.UserLogins where yt.UserID.ToString() == User.Identity.Name select new { yt.WorkStationID }).FirstOrDefault(); var wn = db.Warehouses.Where(t => t.WarehouseID == w.WorkStationID).FirstOrDefault(); bool status = false; string mes = ""; string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "6000000"); string s3 = string.Concat(s1 + "5000000"); int MaxChallanNo = Convert.ToInt32(s2); int MaxCashID = Convert.ToInt32(s3); var maxchno = (from n in db.Orders where n.WarehouseID == w.WorkStationID select n.ChallanNumber).DefaultIfEmpty(MaxChallanNo).Max(); var maxCasettleId = (from n in db.CashSettlements where n.WarehouseID == w.WorkStationID select n.CashSettlementID).DefaultIfEmpty(MaxCashID).Max(); var maxprodtr = (from j in db.ProductTransactions where j.WarehouseID == w.WorkStationID select j.TransactionNo).Max() + 1; chNumber = Convert.ToInt32(maxchno + 1); csID = Convert.ToInt32(maxCasettleId + 1); int v = chNumber; if (ModelState.IsValid) { try { using (PEPSIEntities dc = new PEPSIEntities()) { // var V = db.Orders.Max(p => p.ChallanNumber); CommonChk cm = new CommonChk(); { if (cm.chkDuplicateChallan(Inv.OrderID) == true) { //status = false; var vr = db.Orders.SingleOrDefault(x => x.OrderID == Inv.OrderID); CashSettlement cs = new CashSettlement(); { // var vr = db.Orders.SingleOrDefault(x => x.OrderID == Inv.OrderID); cs.CashSettlementID = csID; cs.SalesPersonID = vr.SalesPersonID; cs.DeliveryChallanDate = DateTime.Today; //vr.DeliveryChallanDate; cs.CustomerID = vr.CustomerID; cs.DeliveryChallanNumbers = chNumber; // Convert.ToInt32(vr.ChallanNumber)+1; cs.WarehouseID = vr.WarehouseID; cs.VehicleID = vr.VehicleID; cs.CashSettlementDate = DateTime.Today; cs.RebateWillBeGivenWithOrder = vr.RebateWillBeGivenWithOrder; cs.SpecialNoteFromOrder = vr.SpecialNote; cs.SpecialInstruction = Inv.SpecialNote; cs.OrderID = vr.OrderID; cs.ProductRateID = vr.ProductRateID; cs.DayendFinished = "N"; cs.DayendDay = DateTime.Now; cs.OrderTypeID = vr.OrderTypeID; cs.CustomerExecutiveID = vr.CustomerExecutiveID; cs.DriverID = vr.DriverID; cs.Promotional = vr.Promotional; cs.CheckedByShipping = "Y"; cs.AgencyCommission = Inv.AgencyCommission; // vr.AgencyCommission; cs.TotalSpecialCharges = vr.SpecialCharge1Amount; cs.SecurityAmount = Inv.SecurityAmount; //vr cs.DrinksAmount = (Inv.SalesAmount - Inv.AgencyCommission); //(vr.SalesAmount - vr.AgencyCommission); cs.FinishGoodsUnloadCharge = Inv.FinishGoodsUnloadCharge; //vr cs.CreateBy = User.Identity.Name; cs.CraeteDate = DateTime.Now; // dc.CashSettlements.Add(cs); } dc.CashSettlements.Add(cs); // Product Transaction ProductTransaction pt = new ProductTransaction(); { pt.WarehouseID = Inv.WarehouseID; pt.TransactionNo = maxprodtr; pt.TransactionDate = DateTime.Today; pt.TransactionTypeID = 7; pt.FromWarehouse = Inv.WarehouseID; pt.ReferenceNo = csID.ToString(); pt.Remarks = Inv.SpecialNote; pt.Status = "I"; pt.CreatedBy = User.Identity.Name; pt.CreatedDate = DateTime.Now; } dc.ProductTransactions.Add(pt); // Helper InvoiceHelper pm = new InvoiceHelper(); { pm.OrderID = Inv.OrderID; pm.HelperID1 = Inv.Helper1; pm.HelperID2 = Inv.Helper2; pm.HelperID3 = Inv.Helper2; dc.InvoiceHelpers.Add(pm); } // Customer Ledger CustomerLedgerDetail cld = new CustomerLedgerDetail(); { cld.WarehouseID = vr.WarehouseID; cld.CustomerID = vr.CustomerID; cld.TransactionNo = "INV" + csID.ToString(); cld.CrAmount = 0; cld.TransactionTypeID = 15; cld.TransactionDate = DateTime.Today; cld.RefNumber1 = csID.ToString(); cld.DrAmount = (Inv.SalesAmount + Inv.SecurityAmount) - (Inv.AgencyCommission + (decimal)Inv.FinishGoodsUnloadCharge);// (Inv.SalesAmount - Inv.AgencyCommission); //(vr.SalesAmount - vr.AgencyCommission); cld.DebitCredit = "D"; cld.Narration = "Invoice Value#" + cld.DrAmount + " for Customer" + cld.CustomerID; cld.CreateBy = User.Identity.Name; cld.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cld); // update Customer Ledgermaster // Farid Correction 03dec2018 //decimal amountofdr = (Inv.SalesAmount - Inv.AgencyCommission); //decimal bokamt = amountofdr + Inv.SecurityAmount; //var clmbf = db.spCustomerBalanceUpdate(vr.CustomerID, "F", bokamt); //var clm = db.spCustomerBalanceUpdate(vr.CustomerID, "I", amountofdr); //var security = db.spCustomerBalanceUpdate(vr.CustomerID, "S", Inv.SecurityAmount); //decimal vInvAmt = (Inv.SalesAmount - Inv.AgencyCommission)- (decimal)Inv.FinishGoodsUnloadCharge; decimal vInvAmt = Inv.SalesAmount - (Inv.AgencyCommission); //(decimal)Inv.FinishGoodsUnloadCharge decimal vBookAmt = Inv.SalesAmount + Inv.SecurityAmount - Inv.AgencyCommission; decimal vCurBal = (Inv.SalesAmount + Inv.SecurityAmount) - (Inv.AgencyCommission + (decimal)Inv.FinishGoodsUnloadCharge); decimal vChargeAmount = (decimal)Inv.FinishGoodsUnloadCharge; decimal vSecurityAmt = Inv.SecurityAmount; decimal vRebateAmt = 0; if (Inv.RebateAmount > 0) { decimal vRebate = (Inv.RebateAmount); vRebateAmt = vRebate; } else { decimal vRebate = Inv.RebateAmount; vRebateAmt = vRebate; } decimal vFare = Inv.FareAmnt; db.spUpdateDBsInvoiceValue( vr.CustomerID, "I", vCurBal, vCurBal, vInvAmt, vBookAmt, vSecurityAmt, vChargeAmount, vFare, vRebateAmt, chNumber ); // Farid Correction // var clm = db.spCustomerBalanceUpdate(vr.CustomerID, "I", bokamt);// with sequirity amount // Add Fare Amount if (Inv.VehicleID == 1) { //need to adjust without var cus = cm.GetCustomerName(vr.CustomerID, "C"); var cusAdd = db.Customers.Where(x => x.CustomerID == vr.CustomerID).FirstOrDefault(); var c = db.spInsertHireTruckFare(Inv.WarehouseID, chNumber, Inv.TAID, DateTime.Today, cus, cusAdd.CustomerAddress1, Inv.VechileNo, Inv.FareAmnt, 0, Inv.TotalCases, "No", User.Identity.Name, DateTime.Now, "Hired Truck"); } var ODetails = db.OrderDetails.Where(x => x.WarehouseID == Inv.WarehouseID && x.OrderID == Inv.OrderID); foreach (var z in ODetails.ToList()) { CashSettlementDetail csd = new CashSettlementDetail() { WarehouseID = Inv.WarehouseID, CashSettlementID = csID, ProductID = z.ProductID, SchemeID = (int)z.SchemeID, UnitPrice = (decimal)z.UnitPrice, AlternateUnitPrice = (decimal)z.AlternateUnitPrice, Quantity = (int)z.Quantity, AlternateQuantity = (int)z.AlternateQuantity, PlasticBoxQuantity = (int)z.PlasticBoxQuantity, RebateQuantity = (int)z.RebateQuantity, AlternateRebateQuantity = (int)z.AlternateRebateQuantity, AgencyCommission = (decimal)z.AgencyCommission, AlternateAgencyCommission = (decimal)z.AlternateAgencyCommission, SecurityDeposit = (decimal)z.SecurityDeposit, AlternateSecurityDeposit = (decimal)z.AlternateSecurityDeposit, PlasticBoxSecurity = (decimal)z.PlasticBoxSecurity, MRPRate = z.MRPRate }; dc.CashSettlementDetails.Add(csd); var totpc = (from x in db.Products where x.ProductID == z.ProductID select x).FirstOrDefault(); int TotQty = (int)(z.Quantity + ((z.AlternateQuantity + z.AlternateRebateQuantity) * totpc.ConversionFactor) + z.RebateQuantity); StockBatchDetail sbd = new StockBatchDetail() { WarehouseID = Inv.WarehouseID, TransactionNo = csID, TransactionDate = System.DateTime.Today, ProductID = z.ProductID, Quantity = TotQty,//(int)z.AlternateQuantity for rebate and case to pcs, PlasticBoxQuantity = z.PlasticBoxQuantity, TransactionType = "Invoice Creation", BatchNo = (int)z.BatchNo, CreateBy = User.Identity.Name, CreateDate = System.DateTime.Now, }; dc.StockBatchDetails.Add(sbd); //var cc = (int)z.Quantity; //var xxx = (int)z.PlasticBoxQuantity; //var cc = CommonChk // CommonChk cm = new CommonChk(); //int qty = cm.CasetoPcs(z.ProductID, (int)z.AlternateQuantity); // off for rebate int qty = TotQty; //int qty = cm.CasetoPcs(z.ProductID, TotQty); Farid Correction ProductTransactionDetail ptd = new ProductTransactionDetail(); { ptd.TransactionNo = maxprodtr; ptd.WarehouseID = Inv.WarehouseID; ptd.ProductID = z.ProductID; ptd.Quantity = qty;// (int)z.AlternateQuantity; ptd.PlasticBoxQuantity = (int)z.PlasticBoxQuantity; //BatchNo = z.BatchNo, //ExpiryDate = z.ExpDate, //ManufactureDate = z.MfgDate, ptd.EmptyBottleQuantity = 0; ptd.BurstBottleQuantity = 0; ptd.BreakageBottleQuantity = 0; dc.ProductTransactionDetails.Add(ptd); }; // Product Stock Maintaince // int allProductsQty; //var Pr = (from x in db.Products where x.ProductID == z.ProductID select x).FirstOrDefault(); // allProductsQty = (int)(z.Quantity + ((z.AlternateQuantity + z.AlternateRebateQuantity) * Pr.ConversionFactor) + z.RebateQuantity); // SqlCommand com = new SqlCommand("spProductBalanceDecrease", con); // off for holding stock against loadsheet //var decreaseprodbal = db.spProductBalanceDecrease(z.ProductID, // vr.WarehouseID, // qty, // 0, // 0, // 0, // 0); var decreaseprodbal = db.spStockBookedandBookedFree(z.ProductID, vr.WarehouseID, qty, "D"); } // Update Order var upby = User.Identity.Name; var orderdata = db.spOrderUpdateAfterInvoice( Inv.WarehouseID, Inv.OrderID, "Y", DateTime.Today, Inv.SalesAmount, Inv.SecurityAmount, Inv.RebateAmount, Inv.AgencyCommission, chNumber, upby, csID, "Y", Inv.FinishGoodsUnloadCharge, upby, DateTime.Now, Inv.AdvanceOrder ); // con.Close(); //Transport QR Data Tauhid //salesOrderNo will be OrderDate try { var getSONo = (from x in db.Orders where x.OrderID == Inv.OrderID select x).FirstOrDefault(); SalesOrdNo = Convert.ToInt32(getSONo.OrderID); TransportQRData qd = db.TransportQRDatas.SingleOrDefault(x => x.SalesOrderNo == SalesOrdNo); qd.InvoiceDateTime = System.DateTime.Now; qd.DeliveryChallanNumber = chNumber; dc.Entry(qd).State = EntityState.Modified; } catch (Exception ex) { } dc.SaveChanges(); //Invoice Print var getSNo = (from x in db.Orders where x.ChallanNumber == chNumber select x).FirstOrDefault(); SalesOrdNo = Convert.ToInt32(getSNo.SalesOrderNo); // SalesOrdNo = (int)Inv.SalesOrderNo; //if (SalesOrdNo!=null) //{ // return RedirectToAction("Invoce", "OrderReport"); //} status = true; //int v = chNumber; Dispose(); // status = true; //return new JsonResult { Data = new { status = status, mes = mes } }; } else { status = false; v = 0; } } } } catch (Exception ex) { throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v, SNo = SalesOrdNo } }); //return RedirectToAction("Invoice", "ReprintController", new { @InvNo = v }); }
public ActionResult ReplaceSave(ReplacementMasterVM D) { bool status = false; string mes = ""; var w = (from y in db.UserLogins where y.UserID.ToString() == User.Identity.Name select new { y.WorkStationID }).FirstOrDefault(); var wn = db.Warehouses.Where(x => x.WarehouseID == w.WorkStationID).FirstOrDefault(); string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "2000000"); int returnNo = Convert.ToInt32(s2); var maxreturnNO = (from n in db.ReplaceMasters where n.WarehouseID == w.WorkStationID select n.ReplaceNo).DefaultIfEmpty(returnNo).Max(); var maxrNo = maxreturnNO + 1; int v = maxrNo; if (ModelState.IsValid) { using (PEPSIEntities dc = new PEPSIEntities()) { ReplaceMaster dbo = new ReplaceMaster(); { dbo.ReplaceNo = maxrNo; dbo.WarehouseID = D.WarehouseID; dbo.CustomerID = D.CustomerID; dbo.TransactionDate = DateTime.Today; dbo.ProcessfromDate = D.ProcessfromDate; dbo.ProcessToDate = D.ProcessToDate; dbo.ReferenceNo = D.ReferenceNo; dbo.TotReturnAmt = D.TotReturnAmt; dbo.TotSalesAmt = D.TotSalesAmt; dbo.TotPayableAmt = D.TotPayableAmt; dbo.CalculationID = D.CalculationID; dbo.Remarks = D.Remarks; dbo.Status = "P"; dbo.CreateDate = DateTime.Now; dbo.CreateBy = User.Identity.Name; }; dc.ReplaceMasters.Add(dbo); CustomerLedgerDetail cld = new CustomerLedgerDetail(); { cld.WarehouseID = D.WarehouseID; cld.CustomerID = D.CustomerID; cld.TransactionNo = "PAY" + maxrNo.ToString(); cld.TransactionTypeID = 12; cld.RefNumber1 = D.ReferenceNo.ToString(); cld.TransactionDate = DateTime.Today; cld.CrAmount = D.TotPayableAmt; cld.DrAmount = 0; cld.DebitCredit = "C"; cld.Narration = "ReplacePayable Creation Amount#" + D.TotPayableAmt + " to Customer" + cld.CustomerID; cld.CreateBy = User.Identity.Name; cld.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cld); foreach (var i in D.replacedetail) { ReplaceDetail obd = new ReplaceDetail(); obd.WarehouseID = D.WarehouseID; obd.ReplacementNo = maxrNo; obd.ReturnID = i.ReturnID; obd.ProductID = i.ProductID; obd.AlternateQuantity = i.AlternateQuantity; obd.PlasticBoxQuantity = i.PlasticBoxQuantity; obd.SubTotAmount = i.SubTotAmount; dc.ReplaceDetails.Add(obd); var updatereturn = db.spRelaceDataUpdate(i.ReturnID, D.WarehouseID, "", D.CustomerID, "R", User.Identity.Name, DateTime.Now); } var custReplacePayable = db.spCustomerBalanceUpdate(D.CustomerID, "T", D.TotPayableAmt); dc.SaveChanges(); status = true; dc.Dispose(); } ModelState.Clear(); } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }
public ActionResult DisburseSave(ReplaceDisburseVM D) { bool status = false; string mes = ""; var w = (from y in db.UserLogins where y.UserID.ToString() == User.Identity.Name select new { y.WorkStationID }).FirstOrDefault(); var wn = db.Warehouses.Where(x => x.WarehouseID == w.WorkStationID).FirstOrDefault(); string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "4000000"); int replaceDisNo = Convert.ToInt32(s2); var maxreplaceNO = (from n in db.ReplaceDisburseMasters where n.WarehouseID == w.WorkStationID select n.ReplaceDisburseID).DefaultIfEmpty(replaceDisNo).Max(); var maxrNo = maxreplaceNO + 1; int v = maxrNo; var maxprodtr = (from j in db.ProductTransactions where j.WarehouseID == w.WorkStationID select j.TransactionNo).Max() + 1; var customerData = (from i in db.Customers where (i.CustomerID == D.CustomerID) select i).FirstOrDefault(); if (ModelState.IsValid) { using (PEPSIEntities dc = new PEPSIEntities()) { CommonChk cm = new CommonChk(); ReplaceDisburseMaster dbo = new ReplaceDisburseMaster(); { dbo.ReplaceDisburseID = maxrNo; dbo.WarehouseID = D.WarehouseID; dbo.CustomerID = D.CustomerID; dbo.TransactionDate = DateTime.Today; dbo.DriverID = D.DriverID; dbo.VehicleID = D.VehicleID; dbo.ReplaceRefNo = D.ReplaceRefNo; dbo.TotDisburseAmt = D.TotDisburseAmt; dbo.RemainingAmt = D.RemainingAmt; dbo.LoadSheetNo = D.LoadSheetNo; dbo.TotCase = D.TotCase; dbo.TotBox = D.TotBox; dbo.VehicleID = D.VehicleID; dbo.Remarks = D.Remarks + "," + D.VehicleID; dbo.CreateDate = DateTime.Now; dbo.CreateBy = User.Identity.Name; }; dc.ReplaceDisburseMasters.Add(dbo); CustomerLedgerDetail cld = new CustomerLedgerDetail(); { cld.WarehouseID = D.WarehouseID; cld.CustomerID = D.CustomerID; cld.TransactionNo = "DIS" + maxrNo.ToString(); cld.TransactionTypeID = 19; cld.RefNumber1 = D.ReplaceDisburseID.ToString(); cld.TransactionDate = DateTime.Today; cld.CrAmount = 0; cld.DrAmount = D.TotDisburseAmt; cld.DebitCredit = "D"; cld.Narration = "ReplaceDisburse Amount#" + D.TotDisburseAmt + " to Customer" + cld.CustomerID; cld.CreateBy = User.Identity.Name; cld.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cld); ProductTransaction pt = new ProductTransaction(); { pt.WarehouseID = D.WarehouseID; pt.TransactionNo = maxprodtr; pt.TransactionDate = DateTime.Today; pt.TransactionTypeID = 4; pt.FromWarehouse = D.WarehouseID; pt.ReferenceNo = maxrNo.ToString(); //pt.Remarks = pt.Status = "D"; pt.CreatedBy = User.Identity.Name; pt.CreatedDate = DateTime.Now; } dc.ProductTransactions.Add(pt); foreach (var i in D.disbursedetail) { var iBatch = (from s in db.StockBatches where s.WarehouseID == D.WarehouseID && s.ProductID == i.ProductID && s.Status == "A" select s).FirstOrDefault(); int qty = cm.CasetoPcs(i.ProductID, (decimal)i.CaseQty); ReplaceDisburseDetail obd = new ReplaceDisburseDetail(); { var vr = db.ProductRateDetails.Where(x => x.ProductID == i.ProductID && x.ProductRateID == customerData.ProductRateID).FirstOrDefault(); obd.WarehouseID = D.WarehouseID; obd.ReplaceDisburseID = maxrNo; obd.CustomerID = D.CustomerID; obd.ProductID = i.ProductID; obd.CaseQty = i.CaseQty; obd.BoxQty = i.BoxQty; obd.BatchNo = i.BatchNo; obd.ManufactureDate = iBatch.ManufacturDate; obd.UnitPrice = vr.UnitPrice; obd.AlternateUnitPrice = vr.AlternateUnitPrice; obd.TotAmount = i.TotAmount; dc.ReplaceDisburseDetails.Add(obd); } StockBatchDetail sbd = new StockBatchDetail() { WarehouseID = D.WarehouseID, TransactionNo = maxprodtr, TransactionDate = System.DateTime.Today, ProductID = i.ProductID, Quantity = (int)i.CaseQty, PlasticBoxQuantity = (int)i.BoxQty, TransactionType = "Replace Disburse", BatchNo = i.BatchNo, CreateBy = User.Identity.Name, CreateDate = System.DateTime.Now, }; dc.StockBatchDetails.Add(sbd); ProductTransactionDetail ptd = new ProductTransactionDetail(); { ptd.TransactionNo = maxprodtr; ptd.WarehouseID = D.WarehouseID; ptd.ProductID = i.ProductID; ptd.Quantity = qty; ptd.PlasticBoxQuantity = (int)i.BoxQty; ptd.EmptyBottleQuantity = 0; ptd.BurstBottleQuantity = 0; ptd.BreakageBottleQuantity = 0; dc.ProductTransactionDetails.Add(ptd); }; //int allProductsQty; // var Pr = (from x in db.Products where x.ProductID == i.ProductID select x).FirstOrDefault(); // allProductsQty = (int)(i.Quantity + ((z.AlternateQuantity + z.AlternateRebateQuantity) * Pr.ConversionFactor) + z.RebateQuantity); var decreaseprodbal = db.spProductBalanceDecrease(i.ProductID, D.WarehouseID, qty, 0, 0, (int)i.BoxQty, 0); } //{ //var replace = (from r in db.ReplaceMasters where r.WarehouseID == D.WarehouseID && r.ReplaceNo == D.ReplaceRefNo select r).FirstOrDefault(); //replace.Status = "R"; //} var custReplacePayable = db.spCustomerBalanceUpdate(D.CustomerID, "A", D.TotDisburseAmt); var updatereplace = db.spRelaceDataUpdate(D.ReplaceRefNo, D.WarehouseID, "C", D.CustomerID, "M", User.Identity.Name, DateTime.Now); dc.SaveChanges(); status = true; dc.Dispose(); } ModelState.Clear(); } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }
public JsonResult SaveCLData(CustomerCreditLimitVM A) { bool status = false; string mes = ""; string v = A.CLNo; int clNo; clNo = (from x in db.CustomerCreditLimits select x).Max(p => p.CLRefNo) + 1; var c = db.Customers.Where(t => t.CustomerID == A.CustomerID).FirstOrDefault(); if (ModelState.IsValid) { try { using (PEPSIEntities dc = new PEPSIEntities()) { CustomerCreditLimit clm = new CustomerCreditLimit(); { clm.CustomerID = A.CustomerID; clm.CLRefNo = clNo; clm.CLNo = A.CLNo; clm.ApproveBy = A.ApproveBy; clm.ApproveDate = A.ApproveDate; clm.ActivateDate = A.ActivateDate; clm.IssueDate = A.IssueDate; clm.ExpiryDate = A.ExpiryDate; clm.CLAmount = A.CLAmount; clm.Status = "A"; clm.CreateBy = User.Identity.Name; clm.CreateDate = System.DateTime.Now; } dc.CustomerCreditLimits.Add(clm); CustomerLedgerDetail cl = new CustomerLedgerDetail(); { cl.WarehouseID = (int)c.WarehouseID; cl.TransactionNo = "CL" + clNo; cl.TransactionTypeID = 17; cl.CustomerID = A.CustomerID; cl.DebitCredit = "C"; cl.CrAmount = A.CLAmount; cl.DrAmount = 0; cl.Narration = "Credit limit amount#" + A.CLAmount + "Against CLRef#" + A.CLNo; cl.RefNumber1 = A.CLNo; cl.TransactionDate = System.DateTime.Today; cl.CreateBy = User.Identity.Name; cl.CreateDate = System.DateTime.Now; } dc.CustomerLedgerDetails.Add(cl); // Update Customer Curr balance var d = db.spCustomerBalanceUpdate(A.CustomerID, "L", A.CLAmount); // Save All Data dc.SaveChanges(); status = true; dc.Dispose(); } } catch (Exception ex) { return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); //throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }