public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StockReagent stockreagent = _uow.StockReagentRepository.Get(id); if (stockreagent == null) { return(HttpNotFound()); } StockReagentEditViewModel model = new StockReagentEditViewModel() { ReagentId = stockreagent.ReagentId, Grade = stockreagent.Grade, GradeAdditionalNotes = stockreagent.GradeAdditionalNotes, LotNumber = stockreagent.LotNumber, ReagentName = stockreagent.ReagentName, IdCode = stockreagent.IdCode, ExpiryDate = stockreagent.ExpiryDate, CertificateOfAnalysis = stockreagent.InventoryItems.Where(x => x.StockReagent.ReagentId == stockreagent.ReagentId).Select(x => x.CertificatesOfAnalysis.OrderBy(y => y.DateAdded).First()).First(), MSDS = stockreagent.InventoryItems.Where(x => x.StockReagent.ReagentId == stockreagent.ReagentId).Select(x => x.MSDS.OrderBy(y => y.DateAdded).First()).First() }; foreach (var item in stockreagent.InventoryItems) { model.SupplierName = item.SupplierName; } return(View(model)); }
public ActionResult Edit([Bind(Include = "ReagentId,LotNumber,ExpiryDate,SupplierName,ReagentName,IdCode,Grade,GradeAdditionalNotes")] StockReagentEditViewModel stockreagent, HttpPostedFileBase uploadCofA, HttpPostedFileBase uploadMSDS) { var errors = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { var user = _uow.GetCurrentUser(); var invRepo = _uow.InventoryItemRepository; InventoryItem invItem = invRepo.Get() .Where(item => item.StockReagent != null && item.StockReagent.ReagentId == stockreagent.ReagentId) .FirstOrDefault(); StockReagent updateReagent = invItem.StockReagent; updateReagent.LotNumber = stockreagent.LotNumber; updateReagent.LastModifiedBy = user.UserName; updateReagent.Grade = stockreagent.Grade; updateReagent.GradeAdditionalNotes = stockreagent.GradeAdditionalNotes; updateReagent.ExpiryDate = stockreagent.ExpiryDate; updateReagent.DateModified = DateTime.Today; updateReagent.ReagentName = stockreagent.ReagentName; _uow.StockReagentRepository.Update(updateReagent); //_uow.Commit(); if (uploadCofA != null) { var cofa = new CertificateOfAnalysis() { FileName = uploadCofA.FileName, ContentType = uploadCofA.ContentType, DateAdded = DateTime.Today }; using (var reader = new System.IO.BinaryReader(uploadCofA.InputStream)) { cofa.Content = reader.ReadBytes(uploadCofA.ContentLength); } stockreagent.CertificateOfAnalysis = cofa; //add certificate analysis invItem.CertificatesOfAnalysis.Add(cofa); } if (uploadMSDS != null) { var msds = new MSDS() { FileName = uploadMSDS.FileName, ContentType = uploadMSDS.ContentType, DateAdded = DateTime.Today }; using (var reader = new System.IO.BinaryReader(uploadMSDS.InputStream)) { msds.Content = reader.ReadBytes(uploadMSDS.ContentLength); } stockreagent.MSDS = msds; var msdsRepo = new MSDSRepository(); var oldSDS = msdsRepo.Get() .Where(item => item.InventoryItem.StockReagent != null && item.InventoryItem.StockReagent.ReagentId == stockreagent.ReagentId) .First(); oldSDS.Content = msds.Content; oldSDS.FileName = msds.FileName; oldSDS.ContentType = msds.ContentType; oldSDS.DateAdded = DateTime.Today; msdsRepo.Update(oldSDS); } invItem.SupplierName = stockreagent.SupplierName; invRepo.Update(invItem); _uow.Commit(); return(RedirectToAction("Details", new { id = stockreagent.ReagentId })); } return(View(stockreagent)); }