Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }