Exemple #1
0
        // 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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        // 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()));
            }
        }