public ActionResult Create(int? id, int? ColourId, string ProductQualityName, Decimal? Weight) { DesignColourConsumptionHeaderViewModel p = new DesignColourConsumptionHeaderViewModel(); p.EntryMode = "Add"; if (id != null) { p.ProductGroupId = (int)id; p.ColourId = (int)ColourId; p.ProductQualityName = ProductQualityName; p.Weight = Weight; } PrepareViewBag(); return View("Create", p); }
public ActionResult Edit(int? id) { DesignColourConsumptionHeaderViewModel bvm = new DesignColourConsumptionHeaderViewModel(); bvm.EntryMode = "Edit"; if (id != null && id != 0) { bvm = _BomDetailService.GetDesignColourConsumptionHeaderViewModel((int)id); } PrepareViewBag(); if (bvm == null) { return HttpNotFound(); } return View("Create", bvm); }
public ActionResult Create(DesignColourConsumptionHeaderViewModel svm) { if (ModelState.IsValid) { if (svm.BaseProductId == 0) { ProductQuality Quality = new ProductQualityService(_unitOfWork).Find(svm.ProductQualityName); FinishedProduct product = new FinishedProduct(); string ConsumptionProductName = svm.ProductGroupName.ToString().Trim() + "-" + svm.ColourName.ToString().Trim() + "-Bom"; product.ProductCode = ConsumptionProductName; product.ProductName = ConsumptionProductName; product.ProductGroupId = new ProductGroupService(_unitOfWork).Find(ProductGroupConstants.Bom).ProductGroupId; product.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; product.IsActive = true; product.ReferenceDocTypeId = new DocumentTypeService(_unitOfWork).FindByName(MasterDocTypeConstants.ProductGroup).DocumentTypeId; product.ReferenceDocId = svm.ProductGroupId; product.StandardWeight = svm.Weight; product.CreatedDate = DateTime.Now; product.ModifiedDate = DateTime.Now; product.CreatedBy = User.Identity.Name; product.ModifiedBy = User.Identity.Name; product.ObjectState = Model.ObjectState.Added; product.IsSample = false; product.ProductQualityId = Quality.ProductQualityId; _ProductService.Create(product); ProductGroup ProductGroup = new ProductGroupService(_unitOfWork).Find(svm.ProductGroupName); Colour Colour = new ColourService(_unitOfWork).Find(svm.ColourName); if (ProductGroup != null && Colour != null) { var ProductList = (from p in db.FinishedProduct where p.ProductGroupId == ProductGroup.ProductGroupId && p.ColourId == Colour.ColourId select new { ProductId = p.ProductId }).ToList(); foreach (var item in ProductList) { BomDetail bomdetail = new BomDetail(); bomdetail.BaseProductId = item.ProductId; bomdetail.BatchQty = 1; bomdetail.ConsumptionPer = 100; bomdetail.ProcessId = new ProcessService(_unitOfWork).Find(ProcessConstants.Weaving).ProcessId; bomdetail.ProductId = product.ProductId; bomdetail.Qty = 1; bomdetail.CreatedDate = DateTime.Now; bomdetail.ModifiedDate = DateTime.Now; bomdetail.CreatedBy = User.Identity.Name; bomdetail.ModifiedBy = User.Identity.Name; bomdetail.ObjectState = Model.ObjectState.Added; _BomDetailService.Create(bomdetail); } } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return View(svm); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = new DocumentTypeService(_unitOfWork).Find(MasterDocTypeConstants.DesignColourConsumption).DocumentTypeId, DocId = product.ProductId, ActivityType = (int)ActivityTypeContants.Added, })); //return RedirectToAction("Create").Success("Data saved successfully"); return RedirectToAction("Edit", new { id = product.ProductId }).Success("Data saved Successfully"); } else { List<LogTypeViewModel> LogList = new List<LogTypeViewModel>(); Product product = _ProductService.Find((int)svm.BaseProductId); Product ExRec = Mapper.Map<Product>(product); string ConsumptionProductName = svm.ProductGroupName.ToString().Trim() + "-" + svm.ColourName.ToString().Trim() + "-Bom"; product.ProductCode = ConsumptionProductName; product.ProductName = ConsumptionProductName; product.ReferenceDocTypeId = new DocumentTypeService(_unitOfWork).FindByName(MasterDocTypeConstants.ProductGroup).DocumentTypeId; product.ReferenceDocId = svm.ProductGroupId; product.ModifiedBy = User.Identity.Name; product.ModifiedDate = DateTime.Now; product.StandardWeight = svm.Weight; StringBuilder logstring = new StringBuilder(); _ProductService.Update(product); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = product, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return View("Create", svm); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = new DocumentTypeService(_unitOfWork).Find(MasterDocTypeConstants.DesignColourConsumption).DocumentTypeId, DocId = product.ProductId, ActivityType = (int)ActivityTypeContants.Modified, xEModifications = Modifications, })); return RedirectToAction("Index").Success("Data saved successfully"); } } PrepareViewBag(); return View(svm); }