コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }