public async Task <ActionResult <Seller> > AddSeller(SellerCreateDto sellerDto) { var user = await _unitOfWork.UserRepository.GetById(sellerDto.UserId); if (user == null) { return(BadRequest("There is no such a user!")); } var seller = await _unitOfWork.SellerRepository.GetSellerByUserId(sellerDto.UserId); if (seller != null) { return(BadRequest("There is already a seller created from that user!")); } var sellerNew = new Seller { UserId = sellerDto.UserId, Name = sellerDto.Name.ToLower(), City = sellerDto.City }; _unitOfWork.SellerRepository.Add(sellerNew); if (await _unitOfWork.Complete()) { return(Ok()); } return(BadRequest("The seller could not be added!")); }
public ActionResult Create(SellerCreateDto sellerCreateDto) { if (sellerCreateDto == null) { return(Problem()); } //check if the user has permission var user = HttpContext.User; int userId = int.Parse(user.Claims.FirstOrDefault(c => c.Type == "Id").Value); if (userId != sellerCreateDto.UserId) { return(Forbid()); } var seller = _mapper.Map <Seller>(sellerCreateDto); _unitOfWork.Sellers.Add(seller); _unitOfWork.SaveChanges(); return(NoContent()); }