public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StockStandard stockstandard = _uow.StockStandardRepository.Get(id); if (stockstandard == null) { return(HttpNotFound()); } StockStandardEditViewModel model = new StockStandardEditViewModel() { StockStandardId = stockstandard.StockStandardId, LotNumber = stockstandard.LotNumber, StockStandardName = stockstandard.StockStandardName, IdCode = stockstandard.IdCode, DateCreated = stockstandard.DateCreated, ExpiryDate = stockstandard.ExpiryDate, CertificateOfAnalysis = stockstandard.InventoryItems.Where(x => x.StockStandard.StockStandardId == stockstandard.StockStandardId).Select(x => x.CertificatesOfAnalysis.OrderBy(y => y.DateAdded).First()).First(), MSDS = stockstandard.InventoryItems.Where(x => x.StockStandard.StockStandardId == stockstandard.StockStandardId).Select(x => x.MSDS.OrderBy(y => y.DateAdded).First()).First() }; foreach (var item in stockstandard.InventoryItems) { model.SupplierName = item.SupplierName; } return(View(model)); }
public ActionResult Edit([Bind(Include = "LotNumber,StockStandardId,ExpiryDate,IdCode,SupplierName,StockStandardName")] StockStandardEditViewModel stockstandard, HttpPostedFileBase uploadCofA, HttpPostedFileBase uploadMSDS) { var errors = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { InventoryItemRepository inventoryRepo = _uow.InventoryItemRepository; var user = _uow.GetCurrentUser(); InventoryItem invItem = inventoryRepo.Get() .Where(item => item.StockStandard != null && item.StockStandard.StockStandardId == stockstandard.StockStandardId) .FirstOrDefault(); StockStandard updateStandard = invItem.StockStandard; updateStandard.StockStandardName = stockstandard.StockStandardName; updateStandard.IdCode = stockstandard.IdCode; updateStandard.LotNumber = stockstandard.LotNumber; updateStandard.LastModifiedBy = user.UserName; updateStandard.DateModified = DateTime.Today; updateStandard.ExpiryDate = stockstandard.ExpiryDate; _uow.StockStandardRepository.Update(updateStandard); //_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); } stockstandard.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); } stockstandard.MSDS = msds; var msdsRepo = new MSDSRepository(); var oldSDS = msdsRepo.Get() .Where(item => item.InventoryItem.StockStandard != null && item.InventoryItem.StockStandard.StockStandardId == stockstandard.StockStandardId) .First(); oldSDS.Content = msds.Content; oldSDS.FileName = msds.FileName; oldSDS.ContentType = msds.ContentType; oldSDS.DateAdded = DateTime.Today; msdsRepo.Update(oldSDS); _uow.Commit(); } invItem.SupplierName = stockstandard.SupplierName; inventoryRepo.Update(invItem); //_uow.Commit(); return(RedirectToAction("Details", new { id = stockstandard.StockStandardId })); } return(View(stockstandard)); }