public ActionResult CopyFromExisting(CopyFromExistingProductConsumptionViewModel vm) { if (ModelState.IsValid) { Session["ProductConsumptionFromPId"] = vm.FromProductId; Product NewProduct = new Product(); Product prod = new ProductService(_unitOfWork).Find(vm.ToProductId); if (prod.ProductName.Length > 16) { NewProduct.ProductCode = prod.ProductName.ToString().Substring(0, 16) + "-Bom"; } else { NewProduct.ProductCode = prod.ProductName.ToString().Substring(0, prod.ProductName.Length) + "-Bom"; } NewProduct.ProductName = prod.ProductName + "-Bom"; NewProduct.ProductGroupId = new ProductGroupService(_unitOfWork).Find(ProductGroupConstants.Bom).ProductGroupId; NewProduct.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; NewProduct.IsActive = true; NewProduct.CreatedDate = DateTime.Now; NewProduct.ModifiedDate = DateTime.Now; NewProduct.CreatedBy = User.Identity.Name; NewProduct.ModifiedBy = User.Identity.Name; NewProduct.ReferenceDocTypeId = new DocumentTypeService(_unitOfWork).FindByName(MasterDocTypeConstants.Product).DocumentTypeId; NewProduct.ReferenceDocId = prod.ProductId; NewProduct.ObjectState = Model.ObjectState.Added; _ProductService.Create(NewProduct); var ExistingRec = _BomDetailService.GetExistingBaseProduct(prod.ProductId); if (ExistingRec != null) { ExistingRec.ProductId = NewProduct.ProductId; ExistingRec.CreatedDate = DateTime.Now; ExistingRec.ModifiedBy = User.Identity.Name; _BomDetailService.Update(ExistingRec); } else { BomDetail bomdetail = new BomDetail(); bomdetail.BaseProductId = prod.ProductId; bomdetail.BatchQty = 1; bomdetail.ConsumptionPer = 100; bomdetail.ProcessId = new ProcessService(_unitOfWork).Find(ProcessConstants.Weaving).ProcessId; bomdetail.ProductId = NewProduct.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); } IEnumerable <BomDetail> bomdetList = new BomDetailService(_unitOfWork).GetBomDetailList(vm.FromProductId); foreach (BomDetail item in bomdetList) { BomDetail bomdet = new BomDetail(); bomdet.BaseProductId = NewProduct.ProductId; bomdet.BatchQty = item.BatchQty; bomdet.ConsumptionPer = item.ConsumptionPer; bomdet.Dimension1Id = item.Dimension1Id; bomdet.ProcessId = item.ProcessId; bomdet.ProductId = item.ProductId; bomdet.Qty = item.Qty; bomdet.CreatedDate = DateTime.Now; bomdet.ModifiedDate = DateTime.Now; bomdet.CreatedBy = User.Identity.Name; bomdet.ModifiedBy = User.Identity.Name; bomdet.ObjectState = Model.ObjectState.Added; _BomDetailService.Create(bomdet); } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(PartialView("CopyFromExisting", vm)); } return(Json(new { success = true, Url = "/ProductConsumptionHeader/Edit/" + NewProduct.ProductId })); } return(PartialView("CopyFromExisting", vm)); }
public ActionResult CopyFromExisting(CopyFromExistingDesignConsumptionViewModel vm) { if (ModelState.IsValid) { Product OldProduct = _ProductService.Find(vm.ProductId); FinishedProduct NewProduct = new FinishedProduct(); ProductGroup productgroup = new ProductGroupService(_unitOfWork).Find(vm.ProductGroupId); if (productgroup.ProductGroupName.Length > 20) { NewProduct.ProductCode = productgroup.ProductGroupName.ToString().Substring(0, 20); } else { NewProduct.ProductCode = productgroup.ProductGroupName.ToString().Substring(0, productgroup.ProductGroupName.Length); } NewProduct.ProductName = productgroup.ProductGroupName; NewProduct.ProductGroupId = new ProductGroupService(_unitOfWork).Find(ProductGroupConstants.Bom).ProductGroupId; NewProduct.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; NewProduct.IsActive = true; NewProduct.CreatedDate = DateTime.Now; NewProduct.ModifiedDate = DateTime.Now; NewProduct.CreatedBy = User.Identity.Name; NewProduct.ModifiedBy = User.Identity.Name; NewProduct.ReferenceDocTypeId = new DocumentTypeService(_unitOfWork).FindByName(MasterDocTypeConstants.ProductGroup).DocumentTypeId; NewProduct.ReferenceDocId = productgroup.ProductGroupId; NewProduct.IsSample = false; NewProduct.ObjectState = Model.ObjectState.Added; _ProductService.Create(NewProduct); var ProductList = (from p in db.Product where p.ProductGroupId == productgroup.ProductGroupId 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 = NewProduct.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); } IEnumerable <BomDetail> BomDetailList = new BomDetailService(_unitOfWork).GetBomDetailList(OldProduct.ProductId); foreach (BomDetail item in BomDetailList) { BomDetail bomdetail = new BomDetail(); bomdetail.BaseProductId = NewProduct.ProductId; bomdetail.BatchQty = item.BatchQty; bomdetail.ConsumptionPer = item.ConsumptionPer; bomdetail.Dimension1Id = item.Dimension1Id; bomdetail.ProcessId = item.ProcessId; bomdetail.ProductId = item.ProductId; bomdetail.Qty = item.Qty; 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(PartialView("CopyFromExisting", vm)); } return(Json(new { success = true, Url = "/DesignConsumptionHeader/Edit/" + NewProduct.ProductId })); } return(PartialView("CopyFromExisting", vm)); }
public ActionResult DeleteConfirmed(ReasonViewModel vm) { if (ModelState.IsValid) { var temp = _FinishedProductService.Find(vm.id); List <ProductSizeViewModel> sizelist = new ProductSizeService(_unitOfWork).GetProductSizeForProduct(vm.id).ToList(); List <ProductProcess> ProcessList = new ProductProcessService(_unitOfWork).GetProductProcessIdListByProductId(vm.id).ToList(); List <FinishedProductConsumptionLineViewModel> BOMDetailList = new BomDetailService(_unitOfWork).GetFinishedProductConsumptionForIndex(vm.id).ToList(); List <ProductSiteDetail> SiteDetail = new ProductSiteDetailService(_unitOfWork).GetSiteDetailForProduct(vm.id).ToList(); foreach (var item in sizelist) { new ProductSizeService(_unitOfWork).Delete(item.ProductSizeId); } foreach (var item in ProcessList) { new ProductProcessService(_unitOfWork).Delete(item.ProductProcessId); } foreach (var item in BOMDetailList) { new BomDetailService(_unitOfWork).Delete(item.BomDetailId); } foreach (var item in SiteDetail) { new ProductSiteDetailService(_unitOfWork).Delete(item.ProductSiteDetailId); } ActivityLog al = new ActivityLog() { ActivityType = (int)ActivityTypeContants.Deleted, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, DocId = vm.id, UserRemark = vm.Reason, Narration = "Product is deleted with Name:" + temp.ProductName, DocTypeId = new DocumentTypeService(_unitOfWork).FindByName(TransactionDocCategoryConstants.SaleOrder).DocumentTypeId, UploadDate = DateTime.Now, }; new ActivityLogService(_unitOfWork).Create(al); _FinishedProductService.Delete(vm.id); try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(PartialView("_Reason", vm)); } return(Json(new { success = true })); } return(PartialView("_Reason", vm)); }