public async Task <IActionResult> PlaceProduct(Product product) { if (User.FindFirst(ClaimTypes.Role).Value != "True") { return(Unauthorized()); } var vendorFromRepo = await _repo.GetVendorByUser(int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)); product.VendorId = vendorFromRepo.Id; vendorFromRepo.Products.Add(product); await _repo.SaveAll(); return(Ok(product)); }
public async Task <IActionResult> UpdateUser(int id, UserForUpdateDto userForUpdateDto) { if (id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var userFromRepo = await _repo.GetUser(id); _mapper.Map(userForUpdateDto, userFromRepo); if (await _repo.SaveAll()) { return(NoContent()); } throw new Exception($"Updating user {id} failed on update!"); }
public async Task <IActionResult> DeleteVendor(int id) { var vendor = await _repo.GetVendor(id); _repo.Delete(vendor); if (await _repo.SaveAll()) { return(NoContent()); } throw new Exception($"Deleting Vendor {id} failed on delete!"); }
// [ValidateAntiForgeryToken] public async Task <IActionResult> CreateOrder(int productId, OrderForCreateDto orderForCreateDto) { var userFromRepo = await _repo.GetUser(int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)); if (userFromRepo.Id != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } orderForCreateDto.UserId = userFromRepo.Id; var orderToCreate = _mapper.Map <Order>(orderForCreateDto); orderToCreate.OrderDate = DateTime.Now; orderToCreate.Status = "Pending"; orderToCreate.ToAddress = userFromRepo.Address; userFromRepo.Orders.Add(orderToCreate); await _repo.SaveAll(); return(Ok()); }