private void CorrectFlow() { id = Builder <int> .CreateNew().Build(); okResult = Result.Ok(id); errorResult = Result.Error <int>("Error"); command = Builder <AddOrUpdateCategoryCommand> .CreateNew().Build(); mediator.Setup(m => m.Send(It.IsAny <AddOrUpdateCategoryCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(okResult); }
private void CorrectFlow() { Id = Builder <int> .CreateNew().Build(); OkResult = Result.Ok(Id); ErrorResult = Result.Error <int>("Error"); Command = Builder <AddOrUpdateCategoryCommand> .CreateNew() .With(u => u.Id = 1).Build(); mediator.Setup(m => m.Send(It.IsAny <AddOrUpdateCategoryCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(OkResult); }
public async Task <Result <int> > Handle(AddOrUpdateCategoryCommand request, CancellationToken cancellationToken) { if (request.Id == 0) { var category = _mapper.Map <Category>(request); var result = await _validator.ValidateAsync(category, cancellationToken); if (!result.IsValid) { return(Result.Error <int>(result.Errors)); } await _dataContext.Categories.AddAsync(category, cancellationToken); await _dataContext.SaveChangesAsync(cancellationToken); return(Result.Ok(category.Id)); } else { var category = new Category { Id = request.Id }; _dataContext.Categories.Attach(category); category.Name = request.Name; var result = await _validator.ValidateAsync(category, cancellationToken); if (!result.IsValid) { return(Result.Error <int>(result.Errors)); } await _dataContext.SaveChangesAsync(cancellationToken); return(Result.Ok(request.Id)); } }
public async Task <IActionResult> Put(AddOrUpdateCategoryCommand command, CancellationToken cancellationToken = default) { var result = await _mediator.Send(command, cancellationToken); return(result.Process(ModelState)); }