Exemple #1
0
        public async Task <ValidationResult> Handle(AddConvenioCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                return(request.ValidationResult);
            }

            var convenio = new Models.Convenio(Guid.NewGuid(), request.Nome);

            if (await _convenioRepository.GetByName(request.Nome) != null)
            {
                AddError("Já existe convênio com esse nome");
                return(ValidationResult);
            }

            convenio.AddDomainEvent(new ConvenioAddedEvent(convenio.Id, convenio.Nome));

            _convenioRepository.Add(convenio);

            return(await Commit(_convenioRepository.UnitOfWork));
        }
Exemple #2
0
        public async Task <ValidationResult> Handle(UpdateConvenioCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                return(request.ValidationResult);
            }

            var convenio = new Models.Convenio(request.Id, request.Nome);

            var existing = await _convenioRepository.GetByName(convenio.Nome);

            if (existing != null && existing.Id != convenio.Id)
            {
                AddError("Já existe convênio com esse nome.");
                return(ValidationResult);
            }

            convenio.AddDomainEvent(new ConvenioUpdatedEvent(convenio.Id, convenio.Nome));

            _convenioRepository.Update(convenio);

            return(await Commit(_convenioRepository.UnitOfWork));
        }