Esempio n. 1
0
        public async Task Armazenar(CargoDto dto)
        {
            await ValidarCargoComMesmaDescricao(dto);

            if (!NotificacaoDeDominio.HasNotifications())
            {
                var cargo = new Cargo(dto.Descricao);

                if (dto.Id > 0)
                {
                    cargo = await _cargoRepositorio.ObterPorIdAsync(dto.Id);

                    cargo.AlterarDescricao(dto.Descricao);
                }

                if (cargo.Validar() && cargo.Id == 0)
                {
                    await _cargoRepositorio.AdicionarAsync(cargo);
                }
                else
                {
                    await NotificarValidacoesDeDominio(cargo.ValidationResult);
                }
            }
        }
        public async Task ArmazenarAsync(CargoDto cargoDto)
        {
            cargoDto = cargoDto ?? new CargoDto();

            var cargo = cargoDto.Id == 0 ?
                        CriarUmNovoCargo(cargoDto) :
                        await _editarUmCargo.EditarAsync(cargoDto);

            if (NotificacaoDeDominio.HasNotifications)
            {
                return;
            }

            if (!cargo.Validar())
            {
                await NotificarValidacoesDeDominioAsync(cargo.ValidationResult);
            }

            if (!NotificacaoDeDominio.HasNotifications && cargo.Id == 0)
            {
                await _cargoRepositorio.AdicionarAsync(cargo);
            }
        }