public async Task <IActionResult> PutProductsPrice(int id, decimal productsPrice) { var identity = HttpContext.User.Identity as ClaimsIdentity; bool canContinue = await IdentifyAdminLoginAsync(identity); if (canContinue) { LogedUser = identity.FindFirst(ClaimTypes.NameIdentifier).Value.ToString(); var products = await _context.Products.FindAsync(id); products.ProductPrice = productsPrice; if (id != products.ProductId) { return(BadRequest()); } _context.Entry(products).State = EntityState.Modified; try { var PriceLog = new PriceLog { Productid = products.ProductId, NewPrice = products.ProductPrice, Pricechangedate = DateTime.UtcNow, UserId = LogedUser }; _context.PriceLog.Add(PriceLog); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); } return(NotFound()); }
public async Task <IActionResult> PutStock(int id, Stock stock) { if (id != stock.MovementId) { return(BadRequest()); } _context.Entry(stock).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StockExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <ProductLikes> > PostProductLikes(int id) { var identity = HttpContext.User.Identity as ClaimsIdentity; string LogedUser = identity.FindFirst(ClaimTypes.NameIdentifier).Value.ToString(); var product = await _context.Products.FindAsync(id); ProductLikes productLikes = new ProductLikes { ProductId = id, UserId = LogedUser, DateLiked = DateTime.UtcNow }; try { product.ProductLikes += 1; _context.Entry(product).State = EntityState.Modified; _context.ProductLikes.Add(productLikes); await _context.SaveChangesAsync(); } catch { return(NoContent()); } return(CreatedAtAction("GetProductLikes", new { id = productLikes.ProductId }, productLikes)); }