public JsonResult AcknoledgementData(TransportAgencyandFareSetupVM trAcknowledge) { //int GRNo; //var a = db.POSMReceives.Max(p => p.GRNO); //GRNo = Convert.ToInt32(a + 1); bool status = false; string mes = ""; if (ModelState.IsValid) { try { TransportAgencyandFareSetup v = db.TransportAgencyandFareSetups.SingleOrDefault(x => x.ChallanNumber == trAcknowledge.ChallanNumber); v.VechileNo = trAcknowledge.VechileNo; v.AcknowledgementDate = trAcknowledge.AcknowledgementDate; v.Status = "Yes"; v.ActualAcknowledgementDate = System.DateTime.Now; v.UpdatedBy = User.Identity.Name; v.UpdatedDate = System.DateTime.Now; v.EmptyReturn = trAcknowledge.EmptyReturn; db.Entry(v).State = EntityState.Modified; db.SaveChanges(); status = true; return(new JsonResult { Data = new { status = status, mes = mes } }); } catch (Exception ex) { return(Json(new { status = "error", message = "Not Updated" })); //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 ActionResult SaveData(StockVM S) { 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(); // var PTID = (from x in db.OrderBankSummaries select x.SalesOrderNO).DefaultIfEmpty(610000000).Max(); // PIDMax = (PTID + 1); string s1 = w.WorkStationID.ToString(); string s2 = string.Concat(s1 + "0000000"); string s3 = string.Concat(s1 + Convert.ToString(DateTime.Now.Year) + "000"); string plantfl = wn.PlantFlag; int batchno = Convert.ToInt32(s3); int Trno = Convert.ToInt32(s2); bool status = true; string mes = ""; int PIDMax; var PTID = (from x in db.ProductTransactions where x.WarehouseID == wn.WarehouseID select x.TransactionNo).DefaultIfEmpty(Trno).Max(); PIDMax = (PTID + 1); int v = PIDMax; if (ModelState.IsValid) { try { using (PEPSIEntities dc = new PEPSIEntities()) { CommonChk ck = new CommonChk(); ProductTransaction dm = new ProductTransaction(); { // Here Id Primary Key of DB table auto increase //var PTID = db.ProductTransactions.DefaultIfEmpty(100).Max(p => p.TransactionNo); dm.TransactionTypeID = S.TransactionTypeID; dm.TransactionNo = PIDMax;// dm.WarehouseID = S.WarehouseID; dm.FromWarehouse = S.WarehouseID; dm.ToWarehouse = S.ToWarehouse; dm.TransactionDate = DateTime.Today; dm.ReferenceNo = S.ReferenceNo; dm.Remarks = S.Remarks; if (S.TransactionTypeID != 1) { if (S.TransactionTypeID == 1) { dm.Status = "T"; } if (S.TransactionTypeID == 6) { dm.Status = "D"; } if (S.TransactionTypeID == 10) { dm.Status = "B"; } if (S.TransactionTypeID == 11) { dm.Status = "W"; } } else { dm.Status = "A"; } //cuser = User.Identity.Name dm.CreatedBy = User.Identity.Name; dm.CreatedDate = DateTime.Now; dm.StoreLocation = S.StoreLocation; } dc.ProductTransactions.Add(dm); // Transfer Note if (S.TransactionTypeID == 2) { ProductTransferNote ptn = new ProductTransferNote(); { var PTNoteID = (from x in db.ProductTransferNotes where x.WarehouseID == w.WorkStationID select x.SLNo).DefaultIfEmpty(1).Max(); int TrNoteId = Convert.ToInt32((PTNoteID)) + 1; ptn.WarehouseID = S.WarehouseID; ptn.TransactionNo = PIDMax; ptn.VehicleID = S.VehicleID; if (S.VehicleID == 1) { ptn.DriverID = 0; } else { ptn.DriverID = S.DriverID; } ptn.Remarks = S.Remarks; ptn.SLNo = TrNoteId; ptn.CreateBy = User.Identity.Name; ptn.CreateDate = DateTime.Now; } dc.ProductTransferNotes.Add(ptn); } // Agency Fare Amount if (S.VehicleID == 1 && S.TransactionTypeID == 2) { TransportAgencyandFareSetup tf = new TransportAgencyandFareSetup(); { tf.WarehouseID = S.WarehouseID; tf.TAID = (int)S.TAID; tf.ChallanNumber = PIDMax; tf.ChallanDate = DateTime.Today; tf.CustomerName = ck.GetCustomerName((int)S.ToWarehouse, "N"); tf.Address = ck.GetCustomerName((int)S.ToWarehouse, "N"); tf.VechileNo = S.VehicleID.ToString(); tf.FareAmnt = (decimal)S.FareAmnt; tf.Remarks = "Hired Truck"; tf.TotalCases = S.TotCase; tf.Status = "No"; tf.EnteredBy = User.Identity.Name; tf.EnteredDate = System.DateTime.Now; } dc.TransportAgencyandFareSetups.Add(tf); } if (S.TransactionTypeID == 2) { foreach (var j in S.ProdTrDtl) { //checking stock balace if (ck.stockchkcs(j.ProductID, S.WarehouseID, (int)j.Quantity) == true) { //status = false; } else { status = false; }; } ; } if (status == true) { foreach (var i in S.ProdTrDtl) { var CF = (from x in dc.Products where x.ProductID == i.ProductID select x).FirstOrDefault(); var batch = (from x in dc.StockBatches where x.ProductID == i.ProductID && x.WarehouseID == S.WarehouseID select x.BatchNo).DefaultIfEmpty(batchno).Max() + 1; ProductTransactionDetail dmd = new ProductTransactionDetail(); dmd.ProductID = i.ProductID; // Not Null dmd.WarehouseID = S.WarehouseID; dmd.TransactionNo = PIDMax; dmd.LineNoPlant = i.LineNoPlant; if (S.TransactionTypeID != 1) { dmd.BatchNo = i.BatchNo; } else { dmd.BatchNo = batch; } if (plantfl == "Y") { int plant = (int)wn.PlantNo; dmd.PlantNo = plant; } dmd.ManufactureDate = i.ManufactureDate; //DateTime d = Convert.ToDateTime(i.ManufactureDate); if (CF.Expirydays == null) { dmd.ExpiryDate = i.ManufactureDate; } else { dmd.ExpiryDate = Convert.ToDateTime(i.ManufactureDate).AddDays((int)CF.Expirydays);// + 10;// (int)CF.Expirydays; //i.ExpiryDate; } dmd.Quantity = (i.Quantity); dmd.EmptyBottleQuantity = (i.EmptyBottleQuantity); dmd.PlasticBoxQuantity = i.PlasticBoxQuantity; dmd.BurstBottleQuantity = (i.BurstBottleQuantity); dmd.BreakageBottleQuantity = (i.BreakageBottleQuantity); //TCases = TCases + i.Quantity; dc.ProductTransactionDetails.Add(dmd); // For Batch StockBatch sb = new StockBatch(); sb.ProductID = i.ProductID; sb.WarehouseID = S.WarehouseID; //sb.BatchNo = batch; if (S.TransactionTypeID != 1) { var t = db.StockBatches.Where(x => x.WarehouseID == S.WarehouseID && x.ProductID == i.ProductID && x.BatchNo == i.BatchNo).FirstOrDefault(); sb.BatchRefNo = t.BatchRefNo; sb.ManufacturDate = t.ManufacturDate; sb.ExpiryDate = t.ExpiryDate; sb.PlantLineNo = t.PlantLineNo; sb.BatchNo = (int)i.BatchNo; // Add sb.PlantNo = t.PlantNo; if (S.TransactionTypeID == 2) { sb.Status = "T"; } if (S.TransactionTypeID == 6) { sb.Status = "D"; } if (S.TransactionTypeID == 10) { sb.Status = "B"; } if (S.TransactionTypeID == 11) { sb.Status = "W"; } } else { sb.ManufacturDate = (DateTime)i.ManufactureDate; sb.ExpiryDate = Convert.ToDateTime(i.ManufactureDate).AddDays((int)CF.Expirydays); //(DateTime)i.ExpiryDate; sb.PlantLineNo = (int)i.LineNoPlant; sb.PlantNo = i.PlantNo; sb.BatchRefNo = i.BatchNo; sb.BatchNo = batch; // Add sb.WarehouseLocationCode = S.StoreLocation; sb.Status = "A"; } sb.IssueQuantity = (decimal)i.Quantity; sb.ReceivedQty = i.Quantity; dc.StockBatches.Add(sb); // Add stock batch detail for transaction history StockBatchDetail sbd = new StockBatchDetail(); sbd.WarehouseID = S.WarehouseID; sbd.ProductID = i.ProductID; sbd.TransactionNo = PIDMax; sbd.Quantity = i.Quantity; sbd.BurstBottleQuantity = i.BurstBottleQuantity; sbd.BreakageBottleQuantity = i.BreakageBottleQuantity; sbd.PlasticBoxQuantity = (int)i.PlasticBoxQuantity; sbd.TransactionDate = DateTime.Today; sbd.CreateBy = User.Identity.Name; sbd.CreateDate = DateTime.Now; if (S.TransactionTypeID == 2) { sbd.BatchNo = i.BatchNo; sbd.TransactionType = "Product Transfer"; } else if (S.TransactionTypeID == 10) { sbd.BatchNo = i.BatchNo; sbd.TransactionType = "Warehouse Burst"; } else if (S.TransactionTypeID == 11) { sbd.BatchNo = i.BatchNo; sbd.TransactionType = "Write Off"; } else if (S.TransactionTypeID == 6) { sbd.BatchNo = i.BatchNo; sbd.TransactionType = "Adjustment"; } else { sbd.TransactionType = "Product Received"; sbd.BatchNo = batch; } dc.StockBatchDetails.Add(sbd); } } //db.SaveChanges(); // dc.SaveChanges(); foreach (var i in S.ProdTrDtl) { var CF = (from x in dc.Products where x.ProductID == i.ProductID select x).FirstOrDefault(); try { if (S.TransactionTypeID == 1) { var productupdate = dc.spProductBalanceUpdate(i.ProductID, S.WarehouseID, (int)i.Quantity, // change i.BurstBottleQuantity, i.BreakageBottleQuantity, (int)i.PlasticBoxQuantity, //change i.EmptyBottleQuantity); } if (S.TransactionTypeID != 1 && status == true) { //Deduct Stock var productupdate = dc.spProductBalanceDecrease(i.ProductID, S.WarehouseID, (int)i.Quantity, //change i.BurstBottleQuantity, i.BreakageBottleQuantity, (int)i.PlasticBoxQuantity, i.EmptyBottleQuantity); } } catch (Exception ex) { throw ex; } } if (status == true) { dc.SaveChanges(); status = true; dc.Dispose(); } } // return new JsonResult { Data = new { status = status, mes = mes } }; } catch (Exception ex) { throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes, v = v } }); //, v = v } }; }