public async Task <ActionResult <ReturnObject> > UpdateProduct([FromBody] UpdateProductDataRequest updateproduct) { DUpdateProductDataRequest prod = new DUpdateProductDataRequest(); _mapper.Map(updateproduct, prod); return(_mapper.Map <ReturnObject>(await _mediator.Send(new UpdateProduct(prod)))); }
public async Task <DReturnObject> UpdateProduct(DUpdateProductDataRequest updateproduct, CancellationToken cancellationToken) { DReturnObject ro = new DReturnObject(); var prodRepo = await _unitOfWork.GetRepository <DProductData>().GetFirstOrDefaultAsync( predicate: a => a.id.Equals(updateproduct.id)); if (prodRepo is null) { ro.status = status.error.ToString(); ro.message = $"Product with id: {updateproduct.id.ToString()} was not found."; return(ro); } var config = new MapperConfiguration(cfg => { cfg.CreateMap <DUpdateProductDataRequest, DProductData>(); }); var mapper = new Mapper(config); mapper.Map(updateproduct, prodRepo); var validationResult = await _updatevalidator.ValidateAsync(updateproduct, cancellationToken, ruleSet : RuleSets.ExecuteUpdateRules); if (!validationResult.IsValid) { ro.status = status.error.ToString(); ro.message = validationResult.ToString(); // return ro; } else { var repo = _unitOfWork.GetRepository <DProductData>(); repo.Update(prodRepo); await _unitOfWork.SaveChangesAsync(); ro.data = updateproduct; ro.status = status.success.ToString(); } return(ro); }
public UpdateProduct(DUpdateProductDataRequest prd) { Prd = prd; }