public int Add(RawMaterialQCRedHoldDTO dto)
        {
            int returnID = -1;

            try
            {
                using (var context = new TPOMVCApplicationEntities())
                {
                    var newEntity = new TPO.DL.Models.RawMaterialQCRedHold();
                    newEntity.RawMaterialQCID       = dto.RawMaterialQCID;
                    newEntity.PlantID               = dto.PlantID;
                    newEntity.RawMaterialReceivedID = dto.RawMaterialReceivedID;
                    newEntity.QCTechID              = dto.QCTechID;
                    newEntity.SupervisorID          = dto.SupervisorID;
                    newEntity.LeadOperatorID        = dto.LeadOperatorID;
                    newEntity.RedDate               = dto.RedDate;
                    newEntity.FailPropertyID        = dto.FailPropertyID;
                    newEntity.Zone                = dto.Zone;
                    newEntity.RedComments         = dto.RedComments;
                    newEntity.RedCorrectionAction = dto.RedCorrectionAction;
                    newEntity.HoldDate            = dto.HoldDate;
                    newEntity.HoldLotNumber       = dto.HoldLotNumber;
                    newEntity.HoldComments        = dto.HoldComments;
                    newEntity.ManagerID           = dto.ManagerID;
                    newEntity.ManagerDate         = dto.ManagerDate;
                    newEntity.ManagerComments     = dto.ManagerComments;
                    newEntity.PrimeBoxCar         = dto.PrimeBoxCar;
                    newEntity.PrimeUOM            = dto.PrimeUOM;
                    newEntity.ReworkBoxCar        = dto.ReworkBoxCar;
                    newEntity.ReworkUOM           = dto.ReworkUOM;
                    newEntity.ScrapBoxCar         = dto.ScrapBoxCar;
                    newEntity.ScrapUOM            = dto.ScrapUOM;
                    newEntity.DateEntered         = dto.DateEntered ?? DateTime.Now;
                    newEntity.EnteredBy           = dto.EnteredBy;
                    newEntity.LastModified        = dto.LastModified ?? DateTime.Now;
                    newEntity.ModifiedBy          = dto.ModifiedBy;
                    context.RawMaterialQCRedHolds.Add(newEntity);
                    context.SaveChanges();
                    //need to return the new record id
                    //easy to do once we update to stored procs
                    returnID = newEntity.ID;
                }
            }
            catch (DbEntityValidationException ex)
            {
                throw;
            }
            return(returnID);
        }
        // GET: /RawMaterialQCRedHold/Edit/5
        public ActionResult Edit(DateTime?holddate, DateTime?managerdate, DateTime?reddate, int?id)
        {
            RawMaterialQCRedHoldViewModel model = new Models.RawMaterialQCRedHoldViewModel();

            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                //RawMaterialQCRedHold rawmaterialqcredhold = db.RawMaterialQCRedHolds.Find(id);

                //Sloppy error handling, have to fix the null ID variable.
                RawMaterialQCRedHoldDTO dto = RawMaterialQCRedHoldRepo.GetByID(id ?? -1);
                if (dto == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    model = MapRawMaterialQCRedHoldDTOtoViewModel(dto);

                    //TODO: Rewrite after QC object has been refactored.
                    GetQcFormDetail(ref model);


                    model.ManagerDate = managerdate;
                    model.HoldDate    = holddate;
                    model.RedDate     = reddate;

                    PrepareSelectLists();

                    ViewBag.RawMaterialReceivedID = new SelectList(db.RawMaterialReceiveds, "ID", "RawMaterialID");
                }
            }
            catch (Exception ex)
            {
                ViewBag.ExceptionMessage      = ex.Message;
                TempData["ActionMessage"]     = MessageRepository.GetStringValue(MessageKeys.ResponseMessageFailNoRecord);
                TempData["ActionMessageType"] = MessageRepository.GetStringValue(MessageKeys.ResponseTypeError);
                return(View(model));
            }

            return(View(model));
        }
 public void Update(RawMaterialQCRedHoldDTO dto)
 {
     try
     {
         using (var context = new TPOMVCApplicationEntities())
         {
             var toUpdate = context.RawMaterialQCRedHolds.Find(dto.ID);
             toUpdate.RawMaterialQCID       = dto.RawMaterialQCID;
             toUpdate.PlantID               = dto.PlantID;
             toUpdate.RawMaterialReceivedID = dto.RawMaterialReceivedID;
             toUpdate.QCTechID              = dto.QCTechID;
             toUpdate.SupervisorID          = dto.SupervisorID;
             toUpdate.LeadOperatorID        = dto.LeadOperatorID;
             toUpdate.RedDate               = dto.RedDate;
             toUpdate.FailPropertyID        = dto.FailPropertyID;
             toUpdate.Zone                 = dto.Zone;
             toUpdate.RedComments          = dto.RedComments;
             toUpdate.RedCorrectionAction  = dto.RedCorrectionAction;
             toUpdate.HoldDate             = dto.HoldDate;
             toUpdate.HoldLotNumber        = dto.HoldLotNumber;
             toUpdate.HoldComments         = dto.HoldComments;
             toUpdate.ManagerID            = dto.ManagerID;
             toUpdate.ManagerDate          = dto.ManagerDate;
             toUpdate.ManagerComments      = dto.ManagerComments;
             toUpdate.PrimeBoxCar          = dto.PrimeBoxCar;
             toUpdate.PrimeUOM             = dto.PrimeUOM;
             toUpdate.ReworkBoxCar         = dto.ReworkBoxCar;
             toUpdate.ReworkUOM            = dto.ReworkUOM;
             toUpdate.ScrapBoxCar          = dto.ScrapBoxCar;
             toUpdate.ScrapUOM             = dto.ScrapUOM;
             toUpdate.DateEntered          = dto.DateEntered ?? DateTime.Now;
             toUpdate.EnteredBy            = dto.EnteredBy;
             toUpdate.LastModified         = dto.LastModified ?? DateTime.Now;
             toUpdate.ModifiedBy           = dto.ModifiedBy;
             context.Entry(toUpdate).State = EntityState.Modified;
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        // GET: /RawMaterialQCRedHold/Create/QCID
        public ActionResult Create(DateTime?holddate, DateTime?managerdate, DateTime?reddate, int?id)
        {
            TPOWeb.Models.RawMaterialQCRedHoldViewModel model = new Models.RawMaterialQCRedHoldViewModel();

            if (id == null)
            {
                TempData["ActionMessage"]     = MessageRepository.GetStringValue(MessageKeys.ResponseMessageFailNoId);
                TempData["ActionMessageType"] = MessageRepository.GetStringValue(MessageKeys.ResponseTypeError);
                return(RedirectToAction("Index", "RawMaterialQC"));
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            else
            {
                //Sloppy error handling, have to fix the null ID variable.
                RawMaterialQCRedHoldDTO lookupObjByQCId = RawMaterialQCRedHoldRepo.GetByQCID(id ?? -1);

                //test to see if record already exists, if it does, switch to edit view
                if (lookupObjByQCId != null && lookupObjByQCId.ID >= 0)
                {
                    return(RedirectToAction("Edit", "RawMaterialQCRedHold", new { ID = lookupObjByQCId.ID }));
                }

                //TODO: Rewrite after QC object has been refactored.
                TPO.DL.Models.RawMaterialQC qcLookupObj = db.RawMaterialQCs.Find(id);

                model.RawMaterialQCId       = qcLookupObj.ID;
                model.QCTechId              = qcLookupObj.QCTechUserID;
                model.PlantId               = qcLookupObj.PlantID;
                model.BoxCarTested          = qcLookupObj.BoxCarTested;
                model.RawMaterialReceived   = qcLookupObj.RawMaterialReceived.RawMaterial.Code;
                model.LotNumber             = qcLookupObj.RawMaterialReceived.LotNumber;
                model.RawMaterialReceivedId = qcLookupObj.RawMaterialReceivedID;

                model.ManagerDate = managerdate;
                model.HoldDate    = holddate;
                model.RedDate     = reddate;

                PrepareSelectLists();

                ViewBag.RawMaterialReceivedID = new SelectList(db.RawMaterialReceiveds, "ID", "RawMaterialID");
            }
            return(View(model));
        }
        public static RawMaterialQCRedHoldDTO MapToDTO(TPO.DL.Models.RawMaterialQCRedHold dbo)
        {
            RawMaterialQCRedHoldDTO dto = new RawMaterialQCRedHoldDTO
            {
                ID = dbo.ID,
                RawMaterialQCID       = dbo.RawMaterialQCID ?? -1,
                PlantID               = dbo.PlantID,
                RawMaterialReceivedID = dbo.RawMaterialReceivedID,
                QCTechID              = dbo.QCTechID,
                SupervisorID          = dbo.SupervisorID,
                LeadOperatorID        = dbo.LeadOperatorID,
                RedDate               = dbo.RedDate,
                FailPropertyID        = dbo.FailPropertyID,
                Zone                = dbo.Zone,
                RedComments         = dbo.RedComments,
                RedCorrectionAction = dbo.RedCorrectionAction,
                HoldDate            = dbo.HoldDate,
                HoldLotNumber       = dbo.HoldLotNumber,
                HoldComments        = dbo.HoldComments,
                ManagerID           = dbo.ManagerID,
                ManagerDate         = dbo.ManagerDate,
                ManagerComments     = dbo.ManagerComments,
                PrimeBoxCar         = (float)dbo.PrimeBoxCar,
                PrimeUOM            = (float)dbo.PrimeUOM,
                ReworkBoxCar        = (float)dbo.ReworkBoxCar,
                ReworkUOM           = (float)dbo.ReworkUOM,
                ScrapBoxCar         = (float)dbo.ScrapBoxCar,
                ScrapUOM            = (float)dbo.ScrapUOM,
                DateEntered         = dbo.DateEntered,
                EnteredBy           = dbo.EnteredBy,
                LastModified        = dbo.LastModified,
                ModifiedBy          = dbo.ModifiedBy
            };

            return(dto);
        }
        private RawMaterialQCRedHoldDTO MapRawMaterialQCRedHoldViewModeltoDTO(RawMaterialQCRedHoldViewModel vm)
        {
            var dto = new RawMaterialQCRedHoldDTO
            {
                ID = vm.Id,
                RawMaterialQCID       = vm.RawMaterialQCId,
                PlantID               = vm.PlantId,
                RawMaterialReceivedID = vm.RawMaterialReceivedId,
                QCTechID              = vm.QCTechId,
                SupervisorID          = vm.SupervisorId,
                LeadOperatorID        = vm.LeadOperatorId,
                RedDate               = vm.RedDate,
                FailPropertyID        = vm.FailPropertyId,
                Zone                = vm.Zone,
                RedComments         = vm.RedComments,
                RedCorrectionAction = vm.RedCorrectionAction,
                HoldDate            = vm.HoldDate,
                HoldLotNumber       = vm.HoldLotNumber,
                HoldComments        = vm.HoldComments,
                ManagerID           = vm.ManagerID,
                ManagerDate         = vm.ManagerDate,
                ManagerComments     = vm.ManagerComments,
                PrimeBoxCar         = vm.PrimeBoxCar,
                PrimeUOM            = vm.PrimeUOM,
                ReworkBoxCar        = vm.ReworkBoxCar,
                ReworkUOM           = vm.ReworkUOM,
                ScrapBoxCar         = vm.ScrapBoxCar,
                ScrapUOM            = vm.ScrapUOM,
                DateEntered         = vm.DateEntered,
                EnteredBy           = vm.EnteredBy,
                LastModified        = vm.LastModified,
                ModifiedBy          = vm.ModifiedBy
            };

            return(dto);
        }
        private RawMaterialQCRedHoldViewModel MapRawMaterialQCRedHoldDTOtoViewModel(RawMaterialQCRedHoldDTO dto)
        {
            var vm = new RawMaterialQCRedHoldViewModel
            {
                Id = dto.ID,
                RawMaterialQCId       = dto.RawMaterialQCID,
                PlantId               = dto.PlantID,
                RawMaterialReceivedId = dto.RawMaterialReceivedID,
                QCTechId              = dto.QCTechID,
                SupervisorId          = dto.SupervisorID,
                LeadOperatorId        = dto.LeadOperatorID,
                RedDate               = dto.RedDate,
                FailPropertyId        = dto.FailPropertyID,
                Zone                = dto.Zone,
                RedComments         = dto.RedComments,
                RedCorrectionAction = dto.RedCorrectionAction,
                HoldDate            = dto.HoldDate,
                HoldLotNumber       = dto.HoldLotNumber,
                HoldComments        = dto.HoldComments,
                ManagerID           = dto.ManagerID,
                ManagerDate         = dto.ManagerDate,
                ManagerComments     = dto.ManagerComments,
                PrimeBoxCar         = dto.PrimeBoxCar,
                PrimeUOM            = dto.PrimeUOM,
                ReworkBoxCar        = dto.ReworkBoxCar,
                ReworkUOM           = dto.ReworkUOM,
                ScrapBoxCar         = dto.ScrapBoxCar,
                ScrapUOM            = dto.ScrapUOM,
                DateEntered         = dto.DateEntered,
                EnteredBy           = dto.EnteredBy,
                LastModified        = dto.LastModified,
                ModifiedBy          = dto.ModifiedBy
            };

            return(vm);
        }