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