public ProductAccountCodes SaveProductAccount(ProductAccountCodes model, int productId, int tenantId, int userId) { if (model.ProdAccCodeID == 0) { if (_currentDbContext.ProductAccountCodes.Count(a => a.AccountID == model.AccountID && a.ProdAccCode == model.ProdAccCode && a.IsDeleted != true & a.TenantId == tenantId) > 0) { return(null); } model.UpdateCreatedInfo(userId); model.TenantId = tenantId; model.ProductId = productId; _currentDbContext.ProductAccountCodes.Add(model); } else { if (_currentDbContext.ProductAccountCodes .Count(a => a.AccountID == model.AccountID && a.ProdAccCode == model.ProdAccCode && a.ProdAccCodeID != model.ProdAccCodeID && a.IsDeleted != true && a.TenantId == tenantId) > 0) { return(null); } model.UpdatedBy = userId; model.DateUpdated = DateTime.UtcNow; _currentDbContext.ProductAccountCodes.Attach(model); var entry = _currentDbContext.Entry(model); entry.Property(e => e.AccountID).IsModified = true; entry.Property(e => e.ProdAccCode).IsModified = true; } _currentDbContext.SaveChanges(); return(model); }
public ActionResult Create( [Bind(Include = "AccountID,ProductId,ProdAccCode")] ProductAccountCodes ProductAccountCodes) { ProductMaster productmaster = ProductService.GetProductMasterById(ProductAccountCodes.ProductId); if (productmaster == null) { return(HttpNotFound()); } if (ModelState.IsValid) { if (productmaster.ProductAccountCodes.All(s => s.AccountID != ProductAccountCodes.AccountID)) { ProductService.CreateProductAccountCodes(ProductAccountCodes, CurrentTenantId, CurrentUserId); ViewBag.Msg = false; return(RedirectToAction("Create", new { id = ProductAccountCodes.ProductId })); } else { ViewBag.Msg = true; } } ViewBag.ProductId = ProductAccountCodes.ProductId; ViewBag.SupplierID = new SelectList(AccountServices.GetAllValidAccounts(CurrentTenantId, EnumAccountType.Supplier), "SupplierID", "CompanyName"); ViewBag.SupplierCodes = productmaster.ProductAccountCodes.Where(x => x.TenantId == CurrentTenantId && x.IsDeleted != true); return(View(ProductAccountCodes)); }