Example #1
0
        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.");
            }
        }
Example #2
0
        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.");
            }
        }