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 Armazenar(FuncionarioDto dto) { await ValidarFuncionarioComMesmoNome(dto); if (!NotificacaoDeDominio.HasNotifications()) { var funcionario = new Funcionario(dto.Nome, dto.Cpf); if (dto.Id > 0) { funcionario = await _funcionarioRepositorio.ObterPorIdAsync(dto.Id); funcionario.AlterarNome(dto.Nome); funcionario.AlterarCpf(dto.Cpf); } funcionario.AlterarDataContratacao(dto.DataContratacao); if (funcionario.Validar() && funcionario.Id == 0) { await _funcionarioRepositorio.AdicionarAsync(funcionario); } else { await NotificarValidacoesDeDominio(funcionario.ValidationResult); } } }
public async Task Vincular(int funcionarioId, int empresaId) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(funcionarioId); if (funcionario == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(FuncionarioResources.FuncionarioNaoExiste); return; } if (!funcionario.ValidarOVinculoComEmpresa()) { await NotificarValidacoesDeDominioAsync(funcionario.ValidationResult); return; } var empresa = await _empresaRepositorio.ObterPorIdAsync(empresaId); if (empresa == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(EmpresaResources.EmpresaNaoExiste); return; } funcionario.VincularComEmpresa(empresa); }
public async Task Armazenar(EmpresaDto dto) { await ValidarEmpresaComMesmoNome(dto); var empresa = new Empresa(dto.Nome, dto.Cnpj); if (!NotificacaoDeDominio.HasNotifications()) { if (dto.Id > 0) { empresa = await _empresaRepositorio.ObterPorIdAsync(dto.Id); empresa.AlterarNome(dto.Nome); empresa.AlterarCnpj(dto.Cnpj); } empresa.AlterarDataFundacao(dto.DataFundacao); if (!empresa.Validar()) { await NotificarValidacoesDeDominio(empresa.ValidationResult); } if (empresa.Id == 0) { await _empresaRepositorio.AdicionarAsync(empresa); } } }
public async Task ValidarAsync(int funcionarioId) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(funcionarioId); if (funcionario == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(FuncionarioResources.FuncionarioNaoExiste); } }
public async Task AdicionarEmpresa(int funcionarioId, int empresaId) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(funcionarioId); await ValidarFuncionarioNaoCadastrado(funcionario); await ValidarEmpresaNaoCadastrada(empresaId); if (!NotificacaoDeDominio.HasNotifications()) { funcionario.AlterarEmpresa(empresaId); } }
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 <bool> ValidarAsync(string cpf, int?id = null) { var funcionario = await _funcionarioRepositorio.ObterPorCpfAsync(cpf); if (funcionario != null && funcionario.Id != id) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync( Resource.FormatarResourceToLowerValor2( Resource.MensagemJaExisteCadastradoMasculino, FuncionarioResources.Funcionario, FuncionarioResources.Cpf)); } return(!NotificacaoDeDominio.HasNotifications); }
public async Task Excluir(int id) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(id); if (await VerificarFuncionarioInvalido(funcionario)) { return; } if (!NotificacaoDeDominio.HasNotifications()) { _funcionarioRepositorio.Remover(funcionario); } }
public async Task <Empresa> EditarAsync(EmpresaDto empresaDto) { var empresa = await _empresaRepositorio.ObterPorIdAsync(empresaDto.Id); if (empresa == null) { await NotificacaoDeDominio.HandleNotificacaoDeDominioAsync(EmpresaResources.EmpresaNaoExiste); } empresa?.AlterarNome(empresaDto.Nome); empresa?.AlterarCnpj(empresaDto.Cnpj); empresa?.AlterarDataDeFundacao(empresaDto.DataDeFundacao); return(empresa); }
public async Task <bool> ValidarAsync(string cnpj, int idDaEntidadeAtual) { var empresa = await _empresaRepositorio.ObterPorCnpjAsync(cnpj); if (empresa != null && empresa.Id != idDaEntidadeAtual) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync( Resource.FormatarResourceToLowerValor2( Resource.MensagemJaExisteCadastradoFeminino, EmpresaResources.Empresa, EmpresaResources.Cnpj) ); } return(!NotificacaoDeDominio.HasNotifications); }
public async Task <Funcionario> EditarAsync(FuncionarioDto funcionarioDto) { var funcionario = await _funcionarioRepositorio.ObterPorIdAsync(funcionarioDto.Id); if (funcionario == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(FuncionarioResources.FuncionarioNaoExiste); } funcionario?.AlterarNome(funcionarioDto.Nome); funcionario?.AlterarCpf(funcionarioDto.Cpf); funcionario?.AlterarDataDeContratacao(funcionarioDto.DataDeContratacao); return(funcionario); }
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 Excluir(int id) { var empresa = await _empresaRepositorio.ObterPorIdAsync(id); if (await VerificarEmpresaInvalida(empresa)) { return; } await VerificarEmpresaAtribuidoFuncionario(empresa); if (!NotificacaoDeDominio.HasNotifications()) { _empresaRepositorio.Remover(empresa); } }
public async Task ValidarAsync(int empresaId) { var empresa = await _empresaRepositorio.ObterPorIdAsync(empresaId); if (empresa == null) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(EmpresaResources.EmpresaNaoExiste); return; } if (empresa.ListaDeFuncionarios.Any()) { await NotificacaoDeDominio.HandleNotificacaoDeServicoAsync(EmpresaResources.ExisteFuncionarioVinculadoNaEmpresa); } }