//TODO: is this method needed? do business rules allow deletion of these records? // GET: /RawMaterialSpecificGravityDetail/Delete/5 public ActionResult Delete(int?id) { if (id == null) { TempData["ActionMessage"] = MessageRepository.GetStringValue(MessageKeys.ResponseMessageFailNoId); TempData["ActionMessageType"] = MessageRepository.GetStringValue(MessageKeys.ResponseTypeError); return(RedirectToAction("Index", "RawMaterialQC")); //return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var specificGravityDto = repository.GetByID(id.Value); if (specificGravityDto != null) { RawMaterialQCSpecificGravityViewModel viewModel = MapDtoToViewModel(specificGravityDto); var userBL = new TPO.BL.Security.User(); ViewBag.QCTech = new SelectList(userBL.GetQCTechUsers(), "ID", "FullName"); return(View(viewModel)); } TempData["ActionMessage"] = MessageRepository.GetStringValue(MessageKeys.ResponseMessageFailNoRecord); TempData["ActionMessageType"] = MessageRepository.GetStringValue(MessageKeys.ResponseTypeError); return(RedirectToAction("Index", "RawMaterialQC")); //return HttpNotFound(); }
//[HttpPost] //[ChildActionOnly] //public ActionResult UpdateQCDetail(TPO.Model.RawMaterials.RawMaterialQCModel model) //{ // TPO.BL.RawMaterials.RawMaterialQC rmBL = new TPO.BL.RawMaterials.RawMaterialQC(); // rmBL.UpdateRawMaterialQCModel(model); // return PartialView("_QCDetail", model); //} #endregion private RawMaterialQCSpecificGravityViewModel MapViewModelFromDTO(RawMaterialQCSpecificGravityDTO dto) { var retVal = new RawMaterialQCSpecificGravityViewModel { AverageGravity = dto.AverageGravity, DenIso = dto.DenIso, EnteredBy = dto.EnteredBy, ID = dto.ID, LabTechUserID = dto.LabTechUserID.HasValue ? dto.LabTechUserID.Value.ToString(CultureInfo.InvariantCulture) : string.Empty, ModifiedBy = dto.ModifiedBy, RawMaterialCode = dto.RawMaterialCode, RawMaterialLotCode = dto.RawMaterialLotCode, RawMaterialQCId = dto.RawMaterialQCID, Details = new List <RawMaterialQCSpecificGravityDetailViewModel>() }; if (dto.LastModified.HasValue) { retVal.LastModified = dto.LastModified.Value; } if (dto.DateEntered.HasValue) { retVal.DateEntered = dto.DateEntered.Value; } foreach (var rawMaterialQCSpecificGravityDetailDTO in dto.RawMaterialSpecificGravityDetails) { var detail = new RawMaterialQCSpecificGravityDetailViewModel { Id = rawMaterialQCSpecificGravityDetailDTO.ID, rawMaterialQCSpecificGravityId = rawMaterialQCSpecificGravityDetailDTO.RawMaterialSpecGravID, Order = rawMaterialQCSpecificGravityDetailDTO.Order, Submerged = rawMaterialQCSpecificGravityDetailDTO.Submerged, Value = rawMaterialQCSpecificGravityDetailDTO.Value, EnteredBy = rawMaterialQCSpecificGravityDetailDTO.EnteredBy, ModifiedBy = rawMaterialQCSpecificGravityDetailDTO.ModifiedBy, }; if (rawMaterialQCSpecificGravityDetailDTO.DateEntered.HasValue) { detail.DateEntered = rawMaterialQCSpecificGravityDetailDTO.DateEntered.Value; } if (rawMaterialQCSpecificGravityDetailDTO.LastModified.HasValue) { detail.LastModified = rawMaterialQCSpecificGravityDetailDTO.LastModified.Value; } } return(retVal); }
//TODO: move to common public RawMaterialQCSpecificGravityDTO MapToDto(RawMaterialQCSpecificGravityViewModel viewModel) { var retVal = new RawMaterialQCSpecificGravityDTO { ID = viewModel.ID, RawMaterialQCID = viewModel.RawMaterialQCId, DenIso = viewModel.DenIso, EnteredBy = viewModel.EnteredBy, RawMaterialLotCode = viewModel.RawMaterialLotCode, RawMaterialCode = viewModel.RawMaterialCode, AverageGravity = viewModel.AverageGravity, DateEntered = viewModel.DateEntered > DateTime.MinValue ? viewModel.DateEntered : DateTime.Now, LastModified = viewModel.LastModified > DateTime.MinValue ? viewModel.LastModified : DateTime.Now }; int LabTechId; if (int.TryParse(viewModel.LabTechUserID, out LabTechId)) { retVal.LabTechUserID = LabTechId; } retVal.ModifiedBy = viewModel.ModifiedBy; retVal.RawMaterialSpecificGravityDetails = new List <RawMaterialQCSpecificGravityDetailDTO>(); if (viewModel.Details != null) { foreach (var detail in viewModel.Details) { retVal.RawMaterialSpecificGravityDetails.Add( new RawMaterialQCSpecificGravityDetailDTO() { Order = detail.Order, Value = detail.Value, Submerged = detail.Submerged }); } } return(retVal); }
//TODO: move to common public RawMaterialQCSpecificGravityViewModel MapDtoToViewModel(RawMaterialQCSpecificGravityDTO dto) { var model = new RawMaterialQCSpecificGravityViewModel { ID = dto.ID, RawMaterialQCId = dto.RawMaterialQCID, DenIso = dto.DenIso, EnteredBy = dto.EnteredBy, RawMaterialLotCode = dto.RawMaterialLotCode, RawMaterialCode = dto.RawMaterialCode, AverageGravity = dto.AverageGravity, DateEntered = dto.DateEntered ?? DateTime.Now, LastModified = dto.LastModified ?? DateTime.Now, ModifiedBy = dto.ModifiedBy }; if (dto.LabTechUserID.HasValue) { model.LabTechUserID = dto.LabTechUserID.Value.ToString(); } model.Details = new List <RawMaterialQCSpecificGravityDetailViewModel>(); if (dto.RawMaterialSpecificGravityDetails != null) { foreach ( var detailLine in dto.RawMaterialSpecificGravityDetails) { model.Details.Add( new RawMaterialQCSpecificGravityDetailViewModel() { Order = detailLine.Order, Value = detailLine.Value, Submerged = detailLine.Submerged }); } } return(model); }
//[ValidateAntiForgeryToken] public ActionResult Edit(RawMaterialQCSpecificGravityViewModel model, double?dryWeight1, double?subWeight1, double?dryWeight2, double?subWeight2, double?dryWeight3, double?subWeight3, double?dryWeight4, double?subWeight4, double?dryWeight5, double?subWeight5) { if (ModelState.IsValid) { // Get Original and update dto var toUpdate = repository.GetByID(model.ID); toUpdate.DenIso = model.DenIso; toUpdate.AverageGravity = model.AverageGravity; if (!string.IsNullOrWhiteSpace(model.LabTechUserID)) { toUpdate.LabTechUserID = int.Parse(model.LabTechUserID); } toUpdate.ModifiedBy = string.IsNullOrWhiteSpace(model.ModifiedBy) ? toUpdate.ModifiedBy : model.ModifiedBy; toUpdate.RawMaterialCode = model.RawMaterialCode; toUpdate.RawMaterialLotCode = model.RawMaterialLotCode; toUpdate.LastModified = DateTime.Now; toUpdate.RawMaterialQCID = model.RawMaterialQCId; foreach (var detail in toUpdate.RawMaterialSpecificGravityDetails) { switch (detail.Order) { case 1: if (detail.Submerged) { detail.Value = subWeight1 ?? 0.0; } else { detail.Value = dryWeight1 ?? 0.0; } break; case 2: if (detail.Submerged) { detail.Value = subWeight2 ?? 0.0; } else { detail.Value = dryWeight2 ?? 0.0; } break; case 3: if (detail.Submerged) { detail.Value = subWeight3 ?? 0.0; } else { detail.Value = dryWeight3 ?? 0.0; } break; case 4: if (detail.Submerged) { detail.Value = subWeight3 ?? 0.0; } else { detail.Value = dryWeight4 ?? 0.0; } break; case 5: if (detail.Submerged) { detail.Value = subWeight5 ?? 0.0; } else { detail.Value = dryWeight5 ?? 0.0; } break; } } repository.Update(toUpdate); TempData["ActionMessage"] = MessageRepository.GetStringValue(MessageKeys.ResponseMessageSuccessSave); TempData["ActionMessageType"] = MessageRepository.GetStringValue(MessageKeys.ResponseTypeSuccess); return(RedirectToAction("Edit", "RawMaterialQC", new { id = model.RawMaterialQCId })); } return(View(model)); }