//[ApiExplorerSettings(IgnoreApi = true)] public async Task <ActionResult <ReturnObject> > NewProduct([FromBody] NewProductRequest newproduct) { DNewProductRequest ndf = new DNewProductRequest(); _mapper.Map(newproduct, ndf); return(_mapper.Map <ReturnObject>(await _mediator.Send(new NewProduct(ndf)))); }
public async Task <DReturnObject> NewProduct(DNewProductRequest newproduct, CancellationToken cancellationToken) { DReturnObject ro = new DReturnObject(); var validationResult = await _validator.ValidateAsync(newproduct, cancellationToken, ruleSet : RuleSets.ExecuteUpdateRules); if (!validationResult.IsValid) { ro.status = status.invalidinput.ToString(); ro.message = validationResult.ToString(); return(ro); } var proRepo = _unitOfWork.GetRepository <DProductData>(); DProductData test = (await proRepo.GetFirstOrDefaultAsync( predicate: a => a.title.ToLower().Equals(newproduct.title.ToLower()), disableTracking: false)); if (test != null) { ro.status = status.error.ToString(); ro.message = $"The item: {newproduct.title} already exists with id {test.id}"; return(ro); } var itemToAdd = new DProductData { title = newproduct.title, description = newproduct.description, imagePath = newproduct.imagePath, price = newproduct.price }; _unitOfWork.GetRepository <DProductData>().Insert(itemToAdd); await _unitOfWork.SaveChangesAsync(); ro.data = itemToAdd.id; ro.status = status.success.ToString(); return(ro); }
public NewProduct(DNewProductRequest newproduct) { Newproduct = newproduct; }