public JsonResult SavePOSMReceiveLater(POSMReceiveVM posmnew, int Chno) { int grNumber; 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(); string s1 = wn.WarehouseID.ToString(); string s2 = string.Concat(s1 + "000000"); int GRNo = Convert.ToInt32(s2); var maxGRNo = (from n in db.POSMReceives where n.WarehouseID == wn.WarehouseID select n.GRNO).DefaultIfEmpty(GRNo).Max(); //var V = db.Payments.Where(p => p.WarehouseID == w.WarehouseID).Select(p => p.MoneyReceiptNo).DefaultIfEmpty(100000).Max(); grNumber = Convert.ToInt32(maxGRNo + 1); bool status = false; string mes = ""; if (ModelState.IsValid) { try { foreach (var v in posmnew.PODetails) { POSMReceive pr = new POSMReceive(); { pr.GRNO = grNumber; pr.WarehouseID = wn.WarehouseID; pr.ReceivingDate = System.DateTime.Now; pr.SchemeID = v.SchemeID; pr.SupplierID = v.SupplierID; // pr.SuppRefNo = 0; //pr.SupplierRefDate = v.SupplierRefDate; pr.POSItem = v.POSItem; pr.Description = "From Other"; pr.ReceivedQty = v.ReceivedQty; pr.UnitPrice = 0; // pr.WarrentyPeriod = v.WarrentyPeriod; // pr.WarrentyType = v.WarrentyType; pr.RcvBy = User.Identity.Name; pr.EntryDate = System.DateTime.Now; db.POSMReceives.Add(pr); } POSMRecIss posmreceiveissueTable = new POSMRecIss(); { posmreceiveissueTable.GRChNo = grNumber; posmreceiveissueTable.SupplierID = v.SupplierID; posmreceiveissueTable.WarehouseID = wn.WarehouseID; posmreceiveissueTable.Date = System.DateTime.Now; posmreceiveissueTable.ItemID = v.POSItem; posmreceiveissueTable.SchemeID = v.SchemeID; posmreceiveissueTable.ReceivedQty = v.ReceivedQty; //posmreceiveissueTable.RcvRate = v.UnitPrice; posmreceiveissueTable.IssuedQty = 0; posmreceiveissueTable.IssuRate = 0; posmreceiveissueTable.FreshProductReturn = 0; posmreceiveissueTable.DefectiveProductReturn = 0; posmreceiveissueTable.DestroyedProduct = 0; posmreceiveissueTable.EnteredBy = User.Identity.Name; posmreceiveissueTable.EntryDate = System.DateTime.Now; db.POSMRecIsses.Add(posmreceiveissueTable); } POSMStock p = db.POSMStocks.SingleOrDefault(x => x.WarehouseId == wn.WarehouseID && x.POSMItemID == v.POSItem); p.OnHandQty = p.OnHandQty + v.ReceivedQty; p.ReceivedQty = p.ReceivedQty + v.ReceivedQty; db.Entry(p).State = EntityState.Modified; POSMIssue q = db.POSMIssues.SingleOrDefault(x => x.POSMChallanNo == Chno && x.POSItemID == v.POSItem); q.Status = "Received"; q.IssueReceivedDate = System.DateTime.Now; } db.SaveChanges(); status = true; return(new JsonResult { Data = new { status = status, mes = mes } }); } catch (Exception ex) { return(Json(new { status = "error", message = "Product ID Not Found" })); //throw ex; } } else { status = false; } return(new JsonResult { Data = new { status = status, mes = mes } }); //, v = v } }; }
public JsonResult SavePOSMIssue(POSMIssueVM posmnew) { //int chNumber; //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(); //string s1 = wn.WarehouseID.ToString(); //string s2 = string.Concat(s1 + "300000"); //int CHNo = Convert.ToInt32(s2); //var maxCHNo = (from n in db.POSMIssues where n.FromWarehouse == wn.WarehouseID select n.GRNO).DefaultIfEmpty(CHNo).Max(); ////var V = db.Payments.Where(p => p.WarehouseID == w.WarehouseID).Select(p => p.MoneyReceiptNo).DefaultIfEmpty(100000).Max(); //chNumber = Convert.ToInt32(maxCHNo + 1); bool status = false; string mes = ""; //if (ModelState.IsValid) //{ try { foreach (var v in posmnew.PODetails) { POSMIssue pi = new POSMIssue(); { pi.POSMChallanNo = v.POSMChallanNo; pi.FromWarehouse = v.FromWarehouse; pi.IssuingDate = v.IssuingDate;//System.DateTime.Now; pi.IssueTypeID = v.IssueTypeID; if (v.DistributorID == null) { pi.DistributorID = 0; } else { pi.DistributorID = v.DistributorID; } pi.RefDChallan = v.RefDChallan; if (v.WareHousID == null) { pi.WareHousID = 0; } else { pi.WareHousID = v.WareHousID; } pi.TransferNote = v.TransferNote; if (v.VehicleID == null) { pi.VehicleID = 0; } else { pi.VehicleID = v.VehicleID; } if (v.DriverID == null) { pi.DriverID = 0; } else { pi.DriverID = v.DriverID; } pi.POSItemID = v.POSItemID; if (v.SchemeID == null) { pi.SchemeID = 0; } else { pi.SchemeID = v.SchemeID; } pi.SchemeID = v.SchemeID; pi.IssuedQty = v.IssuedQty; pi.IssuingUnitPrice = 0; //v.IssuingUnitPrice; //Status if (v.IssueTypeID != 3) { pi.Status = "DrIssued"; } else { pi.Status = "Pending"; } pi.IssuedBy = User.Identity.Name; pi.EntryDate = System.DateTime.Now; //pi.IssueReceivedDate =; db.POSMIssues.Add(pi); } POSMRecIss posmreceiveissueTable = new POSMRecIss(); { posmreceiveissueTable.GRChNo = v.POSMChallanNo; posmreceiveissueTable.SupplierID = 0; posmreceiveissueTable.WarehouseID = v.FromWarehouse; posmreceiveissueTable.Date = v.IssuingDate; posmreceiveissueTable.ItemID = v.POSItemID; posmreceiveissueTable.SchemeID = v.SchemeID; posmreceiveissueTable.ReceivedQty = 0; posmreceiveissueTable.RcvRate = 0; posmreceiveissueTable.IssuedQty = v.IssuedQty; posmreceiveissueTable.IssuRate = 0; posmreceiveissueTable.FreshProductReturn = 0; posmreceiveissueTable.DefectiveProductReturn = 0; posmreceiveissueTable.DestroyedProduct = 0; posmreceiveissueTable.EnteredBy = User.Identity.Name; posmreceiveissueTable.EntryDate = System.DateTime.Now; db.POSMRecIsses.Add(posmreceiveissueTable); } POSMStock p = db.POSMStocks.SingleOrDefault(x => x.POSMItemID == v.POSItemID && x.WarehouseId == v.FromWarehouse); p.OnHandQty = p.OnHandQty - v.IssuedQty; p.IssuedQty = p.IssuedQty + v.IssuedQty; db.Entry(p).State = EntityState.Modified; } //Deduct from stock //DeliveryControl v = db.DeliveryControls.SingleOrDefault(x => x.CustomerID == DCM.CustomerID && x.IsActive == true); //v.RcvlAmnt = DCM.RcvlAmnt; //v.IsRcvlEDate = DCM.IsRcvlEDate.Date; //v.Remarks = DCM.Remarks; //v.IsBGurated = DCM.IsBGurated; //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 = "Product ID Not Found" })); //throw ex; } // } //else //{ // status = false; //} // return new JsonResult { Data = new { status = status, mes = mes } };//, v = v } }; }