// GET: PMCReceipientVerify/Details/5 public ActionResult PMCReceipientVerify(int FKId = 0) { if (Session["User"] == null) { return(RedirectToAction("Login", "Home")); } PMCReceipientVerificationModel objEntity = new PMCReceipientVerificationModel(); if (FKId > 0) { List <PMCReceipientVerificationModel> entitys = (List <PMCReceipientVerificationModel>)TempData["PMCReceipientVerificationModels"]; TempData.Keep(); objEntity = entitys.Where(w => w.PickRawMtrlFKId == FKId).FirstOrDefault(); //List<SelectListItem> Reasons = objEntity.ReasonTypes.Select(x => new SelectListItem() //{ // Value = x.ReasonCode, // assumes Id is not already typeof string // Text = x.ReasonDesc //}).ToList(); ViewBag.ReasonTypes = new SelectList(objEntity.ReasonTypes, "ReasonCode", "ReasonDesc"); } else { ViewBag.Status = "Id is null!"; } return(View(objEntity)); }
public ActionResult PMCReceipientVerify(PMCReceipientVerificationModel obj) { if (TempData["PMCReceipientVerificationModels"] != null && obj != null) { List <PMCReceipientVerificationModel> tempLstData = (List <PMCReceipientVerificationModel>)TempData["PMCReceipientVerificationModels"]; PMCReceipientVerificationModel tempData = tempLstData.Where(w => w.PickRawMtrlFKId == obj.PickRawMtrlFKId).FirstOrDefault(); tempData.RejQty = obj.RejQty; tempData.ReasonCode = obj.ReasonCode; //Tsen req to insert ReasonDec in the email subject : FW:Rejected Material Transaction if (!string.IsNullOrEmpty(obj.ReasonCode)) { ReasonModel tempReasonTypes = tempData.ReasonTypes.Where(w => w.ReasonCode == obj.ReasonCode).FirstOrDefault(); tempData.ReasonDesc = tempReasonTypes.ReasonDesc; } HttpResponseMessage response = GlobalVariables.WebApiClient.PostAsJsonAsync("ProdPMCReceipientVerify", tempData).Result; if (response.IsSuccessStatusCode) { if (obj.RejQty <= 0) { //No need status if success //ViewBag.Status = "Inserted Sucessfully!"; ViewBag.Status = "Success"; } else { return(Json(new { success = true, responseText = "Inserted Sucessfully!" }, JsonRequestBehavior.AllowGet)); } } else { string msgJson = response.Content.ReadAsStringAsync().Result; JObject jObject = JObject.Parse(msgJson); string msg = (string)jObject.SelectToken("Message"); string msgDtl = (string)jObject.SelectToken("MessageDetail"); if (obj.RejQty <= 0) { ViewBag.Status = msg + "\n" + msgDtl; } else { return(Json(new { sucess = false, responseText = msg + "\n" + msgDtl }, JsonRequestBehavior.AllowGet)); } //throw new Exception(msgDtl); } } return(View(obj)); }
// GET: PMCReceipientVerify/Details/5 public ActionResult PMCReceipientVerify(int FKId = 0) { if (Session["User"] == null) { return(RedirectToAction("Login", "Home")); } PMCReceipientVerificationModel objEntity = new PMCReceipientVerificationModel(); if (FKId > 0) { List <PMCReceipientVerificationModel> entitys = (List <PMCReceipientVerificationModel>)TempData["PMCReceipientVerificationModels"]; TempData.Keep(); objEntity = entitys.Where(w => w.PickRawMtrlFKId == FKId).FirstOrDefault(); ViewBag.ReasonTypes = new SelectList(objEntity.ReasonTypes, "ReasonCode", "ReasonCode"); } else { ViewBag.Status = "Id is null!"; } return(View(objEntity)); }
// GET: api/ProdPMCReceipientVerify/5 //public string Get(int id) //{ // return "value"; //} // POST: api/ProdPMCReceipientVerify public HttpResponseMessage Post([FromBody] PMCReceipientVerificationModel obj) { try { if (obj != null) { PMCReceipientVerification objPMCRV = new PMCReceipientVerification { PickRawMtrlFKId = obj.PickRawMtrlFKId, Company = obj.Company, Plant = obj.Plant, JobNum = obj.JobNum, RequestDate = obj.RequestDate, PartNum = obj.PartNum, PartDesc = obj.PartDesc, LotNo = obj.LotNo, TuId = obj.TuId, ActQty = obj.ActQty, Qty = obj.Qty, UOM = obj.UOM, PickQty = obj.PickQty, PickUOM = obj.PickUOM, FromWarehse = obj.FromWarehse, FromBinNum = obj.FromBinNum, ToWarehse = obj.ToWarehse, ToBinNum = obj.ToBinNum, //PalletType = obj.PalletType, //PalletQty = obj.PalletQty, ReasonCode = obj.ReasonCode, ReasonDesc = obj.ReasonDesc, RejQty = obj.RejQty, //Status = "Accepted", UserId = obj.UserId, CreatedUtc = DateTime.Now }; StagingDbContext stagingDbContext = new StagingDbContext(); List <PMCReceipientVerification> objPMCRVs = new List <PMCReceipientVerification>(); if (objPMCRV.RejQty <= 0) { objPMCRV.Status = "Accepted"; //TODO if (objPMCRV.Status == "Accepted") { if (string.IsNullOrEmpty(objPMCRV.ToBinNum)) { throw new Exception("No To Bin Num!"); } //Normal InvTrans BO - If Accept only InvTransfer objInvTran = new InvTransfer(); objInvTran.company = objPMCRV.Company; objInvTran.frmBinNum = objPMCRV.FromBinNum; objInvTran.frmLotNum = objPMCRV.LotNo; objInvTran.frmWarehouse = objPMCRV.FromWarehse; objInvTran.toBinNum = objPMCRV.ToBinNum; objInvTran.toLotNum = objPMCRV.LotNo; objInvTran.toWarehouse = objPMCRV.ToWarehse; objInvTran.partNum = objPMCRV.PartNum; objInvTran.plant = objPMCRV.Plant; objInvTran.qty = objPMCRV.Qty; objInvTran.uom = objPMCRV.UOM; objInvTran.id = "PMCReceipientVer"; InventoryTransferServices objInvTranService = new InventoryTransferServices(); objInvTranService.doInvTransfer(objInvTran); } //Savedata to staging db PMCReceipientVerification objNewPMCRV = stagingDbContext.PMCReceipientVerifications.Add(objPMCRV); stagingDbContext.SaveChanges(); } else { PMCReceipientVerification tempDataReject = new PMCReceipientVerification(); PMCReceipientVerification tempDataAccept = new PMCReceipientVerification(); //Create accepted one tempDataAccept = objPMCRV; decimal normalQty = objPMCRV.Qty; decimal rejQty = objPMCRV.RejQty; decimal Qty = normalQty - rejQty; if (Qty > 0) { tempDataAccept.Qty = Qty; tempDataAccept.Status = "Accepted"; tempDataAccept.RejQty = 0; tempDataAccept.ReasonCode = ""; tempDataAccept.ReasonDesc = ""; //TODO if (tempDataAccept.Status == "Accepted") { if (string.IsNullOrEmpty(tempDataAccept.ToBinNum)) { throw new Exception("No To Bin Num!"); } //Normal InvTrans BO - If Accept only InvTransfer objInvTran = new InvTransfer(); objInvTran.company = tempDataAccept.Company; objInvTran.frmBinNum = tempDataAccept.FromBinNum; objInvTran.frmLotNum = tempDataAccept.LotNo; objInvTran.frmWarehouse = tempDataAccept.FromWarehse; objInvTran.toBinNum = tempDataAccept.ToBinNum; objInvTran.toLotNum = tempDataAccept.LotNo; objInvTran.toWarehouse = tempDataAccept.ToWarehse; objInvTran.partNum = tempDataAccept.PartNum; objInvTran.plant = tempDataAccept.Plant; objInvTran.qty = tempDataAccept.Qty; objInvTran.uom = tempDataAccept.UOM; objInvTran.id = "PMCReceipientVer"; InventoryTransferServices objInvTranService = new InventoryTransferServices(); objInvTranService.doInvTransfer(objInvTran); } PMCReceipientVerification objNewPMCRVAcc = stagingDbContext.PMCReceipientVerifications.Add(tempDataAccept); stagingDbContext.SaveChanges(); } //Create rejected one tempDataReject = objPMCRV; tempDataReject.RejQty = obj.RejQty; tempDataReject.ReasonCode = obj.ReasonCode; tempDataReject.Status = "Rejected"; DAL dal = new DAL(); string rejBin = dal.GetRejBin(obj.Company); tempDataReject.ToBinNum = rejBin; tempDataReject.ToWarehse = obj.ToWarehse; if (string.IsNullOrEmpty(tempDataReject.ToBinNum)) { throw new Exception("No Reject Bin!"); } PMCReceipientVerification objNewPMCRV = stagingDbContext.PMCReceipientVerifications.Add(tempDataReject); stagingDbContext.SaveChanges(); } BusinessLayer BL = new BusinessLayer(); string PalletType = ""; decimal PalletQty = 0; BL.GetPalletDetails(objPMCRV.PickRawMtrlFKId, out PalletType, out PalletQty); string PalletWareHouse = ""; string PalletBinNum = ""; BL.GetPalletWarehouse(objPMCRV.Company, out PalletWareHouse, out PalletBinNum); //TODO // PalletType InvTrans BO - If Rej Or Accept have to do if (!obj.IsEpiRow && !string.IsNullOrEmpty(PalletType)) { InvTransfer objInvTranPalletType = new InvTransfer(); objInvTranPalletType.company = objPMCRV.Company; objInvTranPalletType.frmBinNum = PalletBinNum; //objInvTranPalletType.frmLotNum = objPMCRV.LotNo; objInvTranPalletType.frmWarehouse = PalletWareHouse; objInvTranPalletType.toBinNum = objPMCRV.ToBinNum; //objInvTranPalletType.toLotNum = objPMCRV.LotNo; objInvTranPalletType.toWarehouse = objPMCRV.ToWarehse; objInvTranPalletType.partNum = PalletType; objInvTranPalletType.plant = objPMCRV.Plant; objInvTranPalletType.qty = PalletQty; //objInvTranPalletType.uom = objPMCRV.UOM; objInvTranPalletType.id = "PMCReceipientVer"; InventoryTransferServices objInvTranService = new InventoryTransferServices(); objInvTranService.doInvTransfer(objInvTranPalletType); } //Validate obj.ts with db to know any one changed data or not // 1) PalletType InvTrans BO - If Rej Or Accept have to do // 2) Normal InvTrans BO - If Accept only // 3) Insert Recrod in to Staging DB // 4) Update Status (isPMCVerify=true or false And isPalletTypeInvTranBO = true or not) in PickRawMtrl table of Staging DB string UpdQry = $"Update [" + ConnectionLibrary.Conn.HandHeldDB + $"].[dbo].[WIPickRawMtrlTbl] Set [IsPMCVerify]=1 , IsPalletTypeInvTransBO={(!obj.IsEpiRow?1:0)} Where Id={obj.PickRawMtrlFKId} "; int i = stagingDbContext.Database.ExecuteSqlCommand(UpdQry); return(Request.CreateResponse(HttpStatusCode.OK, "Inserted Successfully!")); } else { throw new Exception("PMCReceipientVerification Model is Null!"); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message.ToString())); } }