public ActionResult saveQRCheckout(int slNumber) { bool status = false; string mes = ""; try { TransportQRData tqrD = new TransportQRData(); { TransportQRData qd = db.TransportQRDatas.SingleOrDefault(x => x.SLNO == slNumber); qd.CheckoutDateTime = System.DateTime.Now; qd.ExitInfoEnteredBy = User.Identity.Name; db.Entry(qd).State = EntityState.Modified; } db.SaveChanges(); status = true; //return Json(status= status, mes = mes, JsonRequestBehavior.AllowGet); return(Json(new { status = status, mes = mes, MaxJsonLength = 10000000, JsonRequestBehavior.AllowGet })); } catch (Exception ex) { return(Json(new { status = "error", message = "Problem to update checkout data!!" })); } }
public ActionResult generateQR(string t1, string t2, TransportQRdataVM trqrvm) { bool status = false; string mes = ""; try { GenerateQrcode(t1, t2); TransportQRData tqrD = new TransportQRData(); { byte[] image = System.IO.File.ReadAllBytes(t2); tqrD.Type = trqrvm.Type; tqrD.VehicleType = trqrvm.VehicleType; tqrD.QRSLNo = trqrvm.QRSLNo; tqrD.SLCount = trqrvm.SLCount; tqrD.QRGeneratingDate = DateTime.Now; tqrD.AgencyID = trqrvm.AgencyID; tqrD.VehicleNumber = trqrvm.VehicleNumber; tqrD.DriverName = trqrvm.DriverName; tqrD.DriverMobileNumber = trqrvm.DriverMobileNumber; tqrD.TruckCapacity = trqrvm.TruckCapacity; tqrD.EntryDateTime = DateTime.Now; tqrD.QRImageIn = image; tqrD.WareHouseID = trqrvm.WareHouseID; tqrD.EnteredBy = User.Identity.Name; } db.TransportQRDatas.Add(tqrD); db.SaveChanges(); status = true; //return Json(status= status, mes = mes, JsonRequestBehavior.AllowGet); return(Json(new { status = status, mes = mes, MaxJsonLength = 10000000, JsonRequestBehavior.AllowGet })); } catch (Exception ex) { return(Json(new { status = "error", message = "Product ID Not Found" })); } }
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 CreateLoadSheet(LoadSheetVM A) { 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 = true; string mes = ""; // int maxsl = 0; decimal unitprice = 0; string pstatus = ""; string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "8000000"); int OrderNo = Convert.ToInt32(s2); var orderID = (from n in db.Orders where n.WarehouseID == w.WorkStationID select n.OrderID).DefaultIfEmpty(OrderNo).Max(); //var maxorderid = (from n in db.Orders // where n.OrderID == (db.Orders.Max(xo => xo.OrderID)) // select new { n.OrderID }).FirstOrDefault(); var customerData = (from i in db.Customers where (i.CustomerID == A.CustomerID) select i).FirstOrDefault(); var mindeliverychallan = db.Orders .Where(p => p.WarehouseID == A.WarehouseID) // not consider salesorderno p.SalesOrderNo == A.SalesOrderNo && .Min(p => p.ChallanNumber); //var maxsl = db.Orders // .Where(p => p.WarehouseID == A.WarehouseID) // .Max(p => p.OrderID); int orderno = orderID + 1; int v = orderno; // Checking challan negetive if (mindeliverychallan >= 0) { mindeliverychallan = -1; } else { mindeliverychallan = mindeliverychallan - 1; } if (A.VehicleID == 1) { A.DriverID = 0; } if (ModelState.IsValid) { // try // { using (PEPSIEntities dc = new PEPSIEntities()) { var getorderdate = dc.OrderBankSummaries.Where(x => x.WarehouseID == A.WarehouseID && x.SalesOrderNO == A.SalesOrderNo).FirstOrDefault(); Order dbo = new Order { //Add orders table //Here Id Primary Key of DB table auto increase // SLNo = maxsl, SalesOrderNo = A.SalesOrderNo, //CustomerExecutive = (A.CustomerExecutiveID), OrderID = orderno,//A.OrderID, //OrderDate = A.OrderDate,//DateTime.Today, OrderDate = getorderdate.SalesOrderDate, WarehouseID = A.WarehouseID, DriverID = (int)A.DriverID, CustomerID = A.CustomerID, VehicleID = A.VehicleID, SalesPersonID = customerData.SalesPersonID, //Trip = 0, //SalesAmount = 0, //SecurityAmount = 0, //RebateAmount = 0, //AgencyCommission = 0, Trip = 1, OrderTypeID = A.OrderTypeID, ProductRateID = customerData.ProductRateID, CustomerExecutiveID = customerData.CustomerExecutiveID,// A.CustomerExecutiveID, LoadSheetRemarks = A.LoadSheetRemarks, Delivered = "N", Cash = "N", IsCashSettlementPrepared = "N", Transit = "N", Promotional = "N", InvoiceFromVATInvoiceNumber = "N", VATChallanRequired = "Y", ReadyForDelivery = "Y", AdvanceOrder = "N", //RebateWillBeGivenWithOrder = A.RebateWillBeGivenWithOrder, //SSMA_TimeStamp =Convert.ToByte(DateTime.Now), // SSMA_TimeStamp = null, CreateBy = User.Identity.Name, CreateDate = System.DateTime.Now }; dc.Orders.Add(dbo); // status = true; CommonChk c = new CommonChk(); foreach (var j in A.orderdetail) { //checking stock balace if (c.stockchk(j.ProductID, A.WarehouseID, (int)j.AlternateQuantity) == true) { //status = false; } else { status = false; }; } ; if (status == true) { foreach (var i in A.orderdetail) { // Add order detail OrderDetail dod = new OrderDetail(); // var d = (from x in db.spGetSalesOrder(A.SalesOrderNo) where x.ProductID == i.ProductID select x).FirstOrDefault(); var d = (from n in db.spGetSalesOrderNewProduct(A.SalesOrderNo, i.ProductID) where n.CustomerID == A.CustomerID select n).FirstOrDefault(); var batch = (from x in db.StockBatches where x.ProductID == i.ProductID && x.WarehouseID == A.WarehouseID && x.Status == "A" select x).FirstOrDefault(); // Id Primary key Auto generate var q = (from x in db.Products where x.ProductID == i.ProductID select x).FirstOrDefault(); // unitprice = q.UnitPrice; int s = q.ConversionFactor; decimal qt = Math.Round((decimal)(i.AlternateQuantity) * s, 2); decimal rqty = Math.Round((decimal)(i.AlternateRebateQuantity) * s, 2); int quantity = (Convert.ToInt32(Math.Round(qt)) % s); int casesqty = (Convert.ToInt32(Math.Round(qt)) / s); int rebateqty = (Convert.ToInt32(Math.Round(rqty)) % s); int rebatecase = (Convert.ToInt32(Math.Round(rqty)) / s); int totbookedqty = (int)qt + (int)rqty; dod.WarehouseID = A.WarehouseID; dod.OrderID = orderno;// A.OrderID; dod.ProductID = i.ProductID; //dod.Quantity = i.Quantity; dod.SchemeID = (int)i.SchemeID; dod.Quantity = quantity; dod.AlternateQuantity = casesqty; dod.RebateQuantity = rebateqty; dod.AlternateRebateQuantity = rebatecase; dod.AgencyCommission = d.AgencyCommission; dod.AlternateAgencyCommission = d.AlternateAgencyCommission; dod.UnitPrice = d.UnitPrice; dod.AlternateUnitPrice = d.AlternateUnitPrice; dod.SecurityDeposit = d.SecurityDeposit; dod.AlternateSecurityDeposit = d.AlternateSecurityDeposit; dod.PlasticBoxQuantity = (int)i.PlasticBoxQuantity; dod.PlasticBoxSecurity = d.PlasticBoxSecurity; dod.BatchNo = batch.BatchNo; dod.MfgDate = batch.ManufacturDate; dod.ExpDate = batch.ExpiryDate; dod.MRPRate = d.MRPRate; dc.OrderDetails.Add(dod); //Add scheme infomation OrderSchemeDetail os = new OrderSchemeDetail(); os.OrderID = orderno;// A.OrderID; os.ProductID = i.ProductID; os.SchemeID = (int)i.SchemeID; os.WarehouseID = A.WarehouseID; dc.OrderSchemeDetails.Add(os); // Booked Product var bookedproduct = db.spStockBookedandBookedFree( i.ProductID, A.WarehouseID, totbookedqty, "B"); } } //db.SaveChanges(); // status = true; if (status == true) { //update if (A.OrderTypeID == 1) { pstatus = "C"; } else { pstatus = "P"; } var ob = db.spOrderBankSumUpdate(A.SalesOrderNo, A.WarehouseID, pstatus); //Where(x => x.SalesOrderNO == A.SalesOrderNo && x.WarehouseID == A.WarehouseID && x.CustomerID == A.CustomerID).FirstOrDefault(); var bookamtupdate = db.spCustomerBalanceUpdate(A.CustomerID, "B", A.SalesAmount); // db.Entry(ob).State = EntityState.Modified; //Transport QR Data //Ad QR LoadSheet Timing //Add scheme infomation try { TransportQRData qd = db.TransportQRDatas.SingleOrDefault(x => x.SLNO == A.QRSL); qd.LoadingDateTime = System.DateTime.Now; qd.SalesOrderNo = orderno; dc.Entry(qd).State = EntityState.Modified; } catch (Exception ex) { } dc.SaveChanges(); status = true; dc.Dispose(); } else { status = false; v = 0000; } } } // catch (Exception ex) // { // return new JsonResult { Data = new { status = false, mes = "NO Save", v = v } }; // return JsonResult { Data = new { status = "error", message = "Not Found" }}; //} return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); }