public async Task <IActionResult> Get(int id) { try { var cargo = await _cargoRepositorio.ObterPorIdAsync(id); return(Ok(CargoDto.ConvertEntityToDto(cargo))); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Problema ao recuperar o cargo informado")); } }
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); } } }
private async Task ValidarCargoNaoCadastrado(int cargoId) { var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoId); if (cargo == null) { await NotificarValidacaoDeServico(string.Format(CommonResources.MsgDominioNaoCadastradoNoMasculino, CommonResources.CargoDominio)); } }
public async Task <IActionResult> Get(int id) { var cargo = await _cargoRepositorio.ObterPorIdAsync(id); if (cargo == null) { return(Ok()); } return(Ok(cargo.MapTo <CargoDto>())); }
public async Task <Cargo> EditarAsync(CargoDto cargoDto) { var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoDto.Id); if (cargo == null) { await NotificacaoDeDominio.HandleNotificacaoDeDominioAsync(CargoResources.CargoNaoExiste); } cargo?.AlterarDescricao(cargoDto.Descricao); return(cargo); }
public async Task ExcluirAsync(int cargoId) { await _validadorDeExclusaoDeCargo.ValidarAsync(cargoId); if (NotificacaoDeDominio.HasNotifications) { return; } var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoId); _cargoRepositorio.Remover(cargo); }
public async Task ValidarAsync(int cargoId) { var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoId); if (cargo == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(CargoResources.CargoNaoExiste); return; } if (cargo.ListaDeFuncionarios.Any()) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(CargoResources.ExisteFuncionarioVinculadoNoCargo); } }
public async Task Excluir(int id) { var cargo = await _cargoRepositorio.ObterPorIdAsync(id); if (await VerificarCargoInvalido(cargo)) { return; } await VerificarCargoAtribuidoFuncionario(cargo); if (!NotificacaoDeDominio.HasNotifications()) { _cargoRepositorio.Remover(cargo); } }
public async Task Vincular(CargoDoFuncionarioDto cargoDoFuncionarioDto) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(cargoDoFuncionarioDto.FuncionarioId); var cargo = await _cargoRepositorio.ObterPorIdAsync(cargoDoFuncionarioDto.CargoId); var cargoDoFuncionario = new CargoDoFuncionario(funcionario, cargo, cargoDoFuncionarioDto.DataDeVinculo); if (!cargoDoFuncionario.Validar()) { await NotificarValidacoesDeDominioAsync(cargoDoFuncionario.ValidationResult); return; } await _funcionarioRepositorio.AdicionarCargoParaFuncionarioAsync(cargoDoFuncionario); }