public async Task <IActionResult> Edit(int id, [Bind("Id,ProductId,QtyTagOnProduct,TagId")] ProductTagQuantity productTagQuantity)
        {
            if (id != productTagQuantity.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var     user            = _userManger.GetUserName(HttpContext.User);
                    var     productName     = "";
                    var     productQuantity = 0;
                    var     tagName         = "";
                    decimal tagQuantity     = 0;
                    foreach (var item in _context.Product)
                    {
                        if (productTagQuantity.ProductId == item.Id)
                        {
                            productName     = item.Title;
                            productQuantity = item.Quantity;
                        }
                    }
                    foreach (var item in _context.Tag)
                    {
                        if (productTagQuantity.TagId == item.Id)
                        {
                            tagName     = item.Title;
                            tagQuantity = item.Quantity;
                        }
                    }
                    _context.Update(productTagQuantity);
                    await _context.SaveChangesAsync();

                    logger.Info(user + " edited to " + productName + " with quantity of " + productQuantity + " and " + tagName + " with quantity of " + tagQuantity);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductTagQuantityExists(productTagQuantity.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Details", "Products", new { id = productTagQuantity.ProductId }));
            }
            ViewData["ProductId"] = new SelectList(_context.Product, "Id", "Id", productTagQuantity.ProductId);
            ViewData["TagId"]     = new SelectList(_context.Tag, "Id", "Id", productTagQuantity.TagId);
            return(View(productTagQuantity));
        }
        public async Task <IActionResult> Create([Bind("Id,ProductId,QtyTagOnProduct,TagId")] ProductTagQuantity productTagQuantity)
        {
            productTagQuantity.ProductId = productTagQuantity.Id;
            productTagQuantity.Id        = 0;
            var     user            = _userManger.GetUserName(HttpContext.User);
            var     productName     = "";
            var     productQuantity = 0;
            var     tagName         = "";
            decimal tagQuantity     = 0;

            foreach (var item in _context.Product)
            {
                if (productTagQuantity.ProductId == item.Id)
                {
                    productName     = item.Title;
                    productQuantity = item.Quantity;
                }
            }
            foreach (var item in _context.Tag)
            {
                if (productTagQuantity.TagId == item.Id)
                {
                    tagName     = item.Title;
                    tagQuantity = item.Quantity;
                }
            }
            if (ModelState.IsValid)
            {
                _context.Add(productTagQuantity);
                await _context.SaveChangesAsync();

                logger.Info(user + " created " + productName + " with quantity of " + productQuantity + " and " + tagName + " with quantity of " + tagQuantity);
                return(RedirectToAction("Index"));
            }
            else
            {
                _context.Add(productTagQuantity);
                await _context.SaveChangesAsync();

                logger.Info(user + " created " + productName + " with quantity of " + productQuantity + " and " + tagName + " with quantity of " + tagQuantity);
                return(RedirectToAction("Details", "Products", new { id = productTagQuantity.ProductId }));
            }
            ViewData["ProductId"] = productTagQuantity.ProductId;
            ViewData["TagId"]     = new SelectList(_context.Tag, "Id", "Title", productTagQuantity.TagId);
            return(View(productTagQuantity));
        }