public override async Task AfterValidation(AddDemoCommand request) { var registered = await _demoRepository .ExistsByExpressionAsync(x => x.Description == request.Description); if (registered) { NotifyError("O registro já existe"); return; } var newRecord = new DemoModel { Id = Guid.NewGuid(), Description = request.Description }; await _demoRepository.InsertOrUpdateAsync(newRecord); if (!HasNotification() && _unitOfWork.CommitAsync().Result) { await _mediator.RaiseEvent(new AddedDemoEvent(newRecord)); } else { NotifyError("Commit", "Tivemos um problema ao tentar salvar seus dados."); } }
public override async Task AfterValidation(UpdateDemoCommand request) { var demo = await _demoRepository.GetFirstByExpressionAsync(x => x.Id == request.Id); if (demo == null) { NotifyError($"O registro com o código {request.Id} não existe"); return; } demo.Description = request.Description; await _demoRepository.InsertOrUpdateAsync(demo); if (!HasNotification() && _unitOfWork.CommitAsync().Result) { await _mediator.RaiseEvent(new UpdatedDemoEvent(demo)); } else { NotifyError("Commit", "Tivemos um problema ao tentar salvar seus dados."); } }