public Manilha(string nome, int peso) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome da manilha é obrigatório"); Nome = nome; Peso = peso; }
public virtual SolicitacaoDeManutencao Fabricar(SolicitacaoDeManutencaoDto dto) { var subsidiaria = _subsidiariaRepositorio.ObterPorId(dto.SubsidiariaId); ExcecaoDeDominio.LancarQuando(subsidiaria == null, "Subsidiária não encontrada"); var contratoDto = _buscadorDeContrato.Buscar(dto.NumeroDoContrato).Result; ExcecaoDeDominio.LancarQuando(contratoDto == null, "Contrato não encontrado no ERP"); var tipoDeSolicitacaoDeManutencao = Enum.Parse(typeof(TipoDeSolicitacaoDeManutencao), dto.TipoDeSolicitacaoDeManutencao.ToString()); return(new SolicitacaoDeManutencao( subsidiaria.Id, dto.SolicitanteId, dto.NomeDoSolicitante, (TipoDeSolicitacaoDeManutencao)tipoDeSolicitacaoDeManutencao, dto.Justificativa, contratoDto.Numero, contratoDto.NomeDaTerceirizada, contratoDto.CnpjDaTerceirizada, contratoDto.GestorDoContrato, contratoDto.DataFinalDaVigencia, dto.InicioDesejadoParaManutencao)); }
public Autor(int identificador, string nome) { ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(nome), "Nome do solicitante é inválido"); Identificador = identificador; Nome = nome; }
[InlineData(null)] public void Guincheiro_CriarGuincheiro_DeveriaMostrarMensagemErroAoCriarGuincheiroSemCelular(string celularInvalido) { string nome = "GUincheiro da Silvva"; var dataCadastro = DateTime.Now; var endereco = new Endereco { NomeLogradouro = "Tietê", Logradouro = "Marginal, 2020", CEP = "45645-030", Bairro = "Bairro Teste", Cidade = "São Paulo", Estado = new Estado { Id = 1, UF = "SP" } }; var email = new Email("*****@*****.**"); string celular = celularInvalido; var ativo = true; ExcecaoDeDominio ex = Assert.Throws <ExcecaoDeDominio>(() => new Guincheiro(nome, dataCadastro, endereco, email, celular, ativo)); Assert.Equal(MensagemValidacao.CelularInvalido, ex.Mensagens.Find(p => p.Contains(MensagemValidacao.CelularInvalido))); }
public Jogador(string nome, Equipe equipe) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome do jogador é obrigatório"); Nome = nome; Equipe = equipe; }
public void AdicionarJogador(string nomeDoJogador) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nomeDoJogador), "Jogador inicial da partida é obrigatório"); ExcecaoDeDominio.Quando(Jogadores.Count == 4, "Uma partida não pode ter mais que 4 jogadores"); Jogadores.Add(new Jogador(nomeDoJogador, SelecionarEquipeDoJogador())); }
public void Solicitar(SolicitacaoDeManutencaoDto dto) { var subsidiaria = _subsidiariaRepositorio.ObterPorId(dto.SubsidiariaId); var contratoDto = _buscadorDeContrato.Buscar(dto.NumeroDoContrato).Result; ExcecaoDeDominio.LancarQuando(contratoDto == null, "Contrato não encontrado no ERP"); var tipoDeSolicitacaoDeManutencao = Enum.Parse <TipoDeSolicitacaoDeManutencao>(dto.TipoDeSolicitacaoDeManutencao.ToString()); var solicitacaoDeManutencao = new SolicitacaoDeManutencao( subsidiaria, dto.SolicitanteId, dto.NomeDoSolicitante, tipoDeSolicitacaoDeManutencao, dto.Justificativa, contratoDto.Numero, contratoDto.NomeDaTerceirizada, contratoDto.CnpjDaTerceirizada, contratoDto.GestorDoContrato, contratoDto.DataFinalDaVigencia, dto.InicioDesejadoParaManutencao); var solicitacoesDeManutencaoPendentes = _solicitacaoDeManutencaoRepositorio .ObterPendentesDoTipo(tipoDeSolicitacaoDeManutencao, subsidiaria); _canceladorDeSolicitacoesDeManutencaoPendentes.Cancelar(solicitacoesDeManutencaoPendentes); _solicitacaoDeManutencaoRepositorio.Adicionar(solicitacaoDeManutencao); }
public void Patio_CriarPatio_DeveTerUmCelular(string celularInvalido) { ExcecaoDeDominio ex = Assert.Throws <ExcecaoDeDominio>( () => new Patio(new ValueObjects.Endereco(), celularInvalido)); Assert.Equal(MensagemValidacao.CelularInvalido , ex.Mensagens.Find(p => p.Contains(MensagemValidacao.CelularInvalido))); }
public void Patio_CriarPatio_DeveTerUmEndereco(ValueObjects.Endereco endereco) { ExcecaoDeDominio ex = Assert.Throws <ExcecaoDeDominio>( () => new Patio(endereco, "1195149529")); Assert.Equal(MensagemValidacao.EnderecoInvalido , ex.Mensagens.Find(p => p.Contains(MensagemValidacao.EnderecoInvalido))); }
public Carta(string nome, int peso, Manilha manilha) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome da carta é obrigatório"); ExcecaoDeDominio.Quando(manilha == null, "Manilha da carta é obrigatório"); Nome = nome; Manilha = manilha; }
public CartasDoJogador(Jogador jogador, List <Carta> cartas) { ExcecaoDeDominio.Quando(jogador == null, "Não deve dar cartas sem jogador"); ExcecaoDeDominio.Quando(cartas == null || !cartas.Any() || cartas.Count() != 3, "Três cartas devem ser dadas para jogador"); Jogador = jogador; Cartas = cartas; }
public void AdicionarNotaDoAlunoNoCurso(float notaDoAlunoNoCurso, StatusDaAprovacaoDaMatricula status) { ExcecaoDeDominio.Quando(status == StatusDaAprovacaoDaMatricula.Aprovado && (notaDoAlunoNoCurso < 1 || notaDoAlunoNoCurso > 100), "Nota do aluno no curso é inválido"); ExcecaoDeDominio.Quando(status == StatusDaAprovacaoDaMatricula.Nenhum, "Status da aprovação é inválido"); NotaDoAlunoNoCurso = status == StatusDaAprovacaoDaMatricula.Aprovado? notaDoAlunoNoCurso : 0; StatusDaAprovacao = status; }
public static ExcecaoDeDominio ComMensagem(this ExcecaoDeDominio exception, string message) { if (!exception.PossuiErroComAMensagemIgualA(message)) { var mensagemDeFalha = MontarMensagemDeFalha(exception, message); Assert.False(true, mensagemDeFalha.ToString()); } return(exception); }
private static void Validar(string nome, string cpf, string orgaoEmissorDoRg, string rg, DateTime dataDeNascimento, string telefone, Endereco endereco) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(cpf), "CPF é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(orgaoEmissorDoRg), "Orgão emissor do RG é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(rg), "RG é obrigatório"); ExcecaoDeDominio.Quando(dataDeNascimento == DateTime.MinValue, "Data de nascimento é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(telefone), "Telefone é obrigatório"); ExcecaoDeDominio.Quando(endereco == null, "Endereço é obrigatório"); }
public static void ComMensagem(this ExcecaoDeDominio exception, string mensagem) { if (exception.MensagensDeErro.Contains(mensagem)) { Assert.True(true); } else { Assert.False(true, $"Esperava a mensagem '{mensagem}'"); } }
public static void ComMensagem(this ExcecaoDeDominio exception, string message) { if (exception.PossuiErroComAMensagemIgualA(message)) { Assert.Pass("Disparou exceção com a mensagem correta: {0}", message); } else { var mensagemDeFalha = MontarMensagemDeFalha(exception, message); Assert.Fail(mensagemDeFalha.ToString()); } }
private static StringBuilder MontarMensagemDeFalha(ExcecaoDeDominio exception, string message) { var mensagens = exception.Mensagens(); var mensagemDeFalha = new StringBuilder(); mensagemDeFalha.AppendLine(string.Format("Não disparou exceção com a mensagem: {0}", message)); foreach (var mensagem in mensagens) { mensagemDeFalha.AppendLine(string.Format("E exibiu a seguinte mensagem: {0}", mensagem)); } return(mensagemDeFalha); }
public static void ComMensagem(this ExcecaoDeDominio exception, string mensagem) { string complementoAssert = $@" Mensagem Esperada: '{mensagem}' Mensagem Recebida: '{exception.Message}'"; if (exception.MensagensDeErro.Contains(mensagem)) { Assert.True(true, complementoAssert); } else { Assert.False(true, complementoAssert); } }
public Contrato(string numero, string nomeDaTerceirizada, string cnpjDaTerceirizada, string gestorDoContrato, DateTime dataFinalDaVigencia) { ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(numero), "Número do contrato é inválido"); ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(nomeDaTerceirizada), "Nome da terceirizada é inválida"); ExcecaoDeDominio.LancarQuando( string.IsNullOrEmpty(cnpjDaTerceirizada) || cnpjDaTerceirizada.Length != 14, "CNPJ da terceirizada é inválida"); ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(gestorDoContrato), "Gestor do contrato é inválido"); ExcecaoDeDominio.LancarQuando(dataFinalDaVigencia.Date < DateTime.Now.Date, "Vigência do contrato está vencido"); Numero = numero; NomeDaTerceirizada = nomeDaTerceirizada; CnpjDaTerceirizada = cnpjDaTerceirizada; GestorDoContrato = gestorDoContrato; DataFinalDaVigencia = dataFinalDaVigencia; }
public Endereco(string numero, string logradouro, string cep, string bairro, string complemento, string cidade, string estado) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(numero), "Número do endereço é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(logradouro), "Logradouro do endereço é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(cep), "CEP do endereço é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(bairro), "Bairro do endereço é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(cidade), "Cidade do endereço é obrigatório"); ExcecaoDeDominio.Quando(string.IsNullOrEmpty(estado), "Estado do endereço é obrigatório"); Numero = numero; Logradouro = logradouro.ToUpper(); Cep = cep; Bairro = bairro; Complemento = complemento; Cidade = cidade.ToUpper(); Estado = estado; }
public Matricula(CursoAberto cursoAberto, Pessoa pessoa, bool estaPago, decimal valorPago, ComoFicouSabendo comoFicouSabendo) { ExcecaoDeDominio.Quando(cursoAberto == null, "Curso é obrigatório"); ExcecaoDeDominio.Quando(pessoa == null, "Aluno é obrigatório"); ExcecaoDeDominio.Quando(!cursoAberto.ContemPublicoAlvo(pessoa.TipoDePublico), "Tipo de publíco alvo do Curso e do Aluno são diferentes"); CursoAberto = cursoAberto; Pessoa = pessoa; EstaPago = estaPago; DataDeCriacao = DateTime.Now; if (valorPago > 0) { ValorPago = valorPago; } ComoFicouSabendo = comoFicouSabendo; }
public void Analisar(AnaliseDeAprovacaoDto analiseDeAprovacaoDto) { var solicitacaoDeManutencao = _solicitacaoDeManutencaoRepositorio.ObterPorId(analiseDeAprovacaoDto.IdDaSolicitacao); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao == null, "Solicitação não encontrada"); var aprovador = new Autor(analiseDeAprovacaoDto.IdentificadorDoAprovador, analiseDeAprovacaoDto.NomeDoAprovador); if (analiseDeAprovacaoDto.Aprovado) { Aprovar(solicitacaoDeManutencao, aprovador); } else { Reprovar(solicitacaoDeManutencao, aprovador); } }
public SolicitacaoDeManutencao(string identificadorDaSubsidiaria, int identificadorDoSolicitante, string nomeDoSolicitante, TipoDeSolicitacaoDeManutencao tipoDeSolicitacaoDeManutencao, string justificativa, string numeroDoContrato, string nomeDaTerceirizada, string cnpjDaTerceirizada, string gestorDoContrato, DateTime dataFinalDaVigência, DateTime inicioDesejadoParaManutencao) { ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(identificadorDaSubsidiaria), "Subsidiária é inválida"); ExcecaoDeDominio.LancarQuando(string.IsNullOrEmpty(justificativa), "Justificativa inválida"); ExcecaoDeDominio.LancarQuando(inicioDesejadoParaManutencao.Date < DateTime.Now.Date, "Data do inicio desejado não pode ser inferior a data de hoje"); Solicitante = new Autor(identificadorDoSolicitante, nomeDoSolicitante); IdentificadorDaSubsidiaria = identificadorDaSubsidiaria; TipoDeSolicitacaoDeManutencao = tipoDeSolicitacaoDeManutencao; Justificativa = justificativa; Contrato = new Contrato(numeroDoContrato, nomeDaTerceirizada, cnpjDaTerceirizada, gestorDoContrato, dataFinalDaVigência); InicioDesejadoParaManutencao = inicioDesejadoParaManutencao; DataDaSolicitacao = DateTime.Now; StatusDaSolicitacao = StatusDaSolicitacao.Pendente; }
public async Task Analisar(AnaliseDeAprovacaoDto analiseDeAprovacaoDto) { var solicitacaoDeManutencao = _solicitacaoDeManutencaoRepositorio.ObterPorId(analiseDeAprovacaoDto.IdDaSolicitacao); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao == null, "Solicitação não encontrada"); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao.Reprovada(), "Solicitação já analisada e está reprovada"); ExcecaoDeDominio.LancarQuando(solicitacaoDeManutencao.Aprovada(), "Solicitação já analisada e está aprovada"); var aprovador = new Autor(analiseDeAprovacaoDto.AprovadorId, analiseDeAprovacaoDto.NomeDoAprovador); if (analiseDeAprovacaoDto.Aprovado) { await Aprovar(solicitacaoDeManutencao, aprovador); } else { Reprovar(solicitacaoDeManutencao, aprovador); } }
private static void Validar(Curso curso, decimal preco, TipoDeCursoAberto tipoDeCursoAberto, string empresa, DateTime?periodoInicialParaMatricula, DateTime?periodoFinalParaMatricula, DateTime inicioDoCurso, DateTime fimDoCurso) { ExcecaoDeDominio.Quando(curso == null, "Curso é obrigatório"); ExcecaoDeDominio.Quando(preco <= 0, "Preço do curso inválido"); ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Nenhum, "Tipo de curso aberto é obrigatório"); ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Publico && !periodoInicialParaMatricula.HasValue, "Período inicial para matricula é obrigatório"); ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Publico && !periodoFinalParaMatricula.HasValue, "Período final para matricula é obrigatório"); ExcecaoDeDominio.Quando(tipoDeCursoAberto == TipoDeCursoAberto.Fechado && string.IsNullOrEmpty(empresa), "Empresa é obrigatório quando tipo é fechado"); ExcecaoDeDominio.Quando(periodoInicialParaMatricula > periodoFinalParaMatricula, "Período inicial é maior que período final para matricula"); ExcecaoDeDominio.Quando(inicioDoCurso <= DateTime.MinValue, "Data de inicio do curso é obrigatório"); ExcecaoDeDominio.Quando(inicioDoCurso < periodoFinalParaMatricula, "Data de inicio do curso menor que período final para matricula"); ExcecaoDeDominio.Quando(fimDoCurso <= DateTime.MinValue, "Data de fim do curso é obrigatório"); ExcecaoDeDominio.Quando(inicioDoCurso > fimDoCurso, "Data de inicio do curso maior que data de fim do curso"); }
public void Alterar( int idMatricula, string observacao, string notaDoAlunoNoCursoEmString, string statusDaAprovacaoEmString, bool ip) { var matricula = _matriculaRepositorio.ObterPorId(idMatricula); ExcecaoDeDominio.Quando(matricula == null, "Matricula não encontrada"); if (!string.IsNullOrEmpty(observacao)) { matricula.AdicionarObservacao(observacao); } if (!string.IsNullOrEmpty(notaDoAlunoNoCursoEmString) && float.TryParse(notaDoAlunoNoCursoEmString, out float notaDoAluno)) { ExcecaoDeDominio.Quando(!Enum.TryParse(statusDaAprovacaoEmString, out StatusDaAprovacaoDaMatricula status), "Status da aprovação é inválido"); matricula.AdicionarNotaDoAlunoNoCurso(notaDoAluno, status); } matricula.EhInstrutorEmPotencial(ip); }
public void Guincheiro_CriarGuincheiro_DeveriaThrowExcecaoDeDominioCriarGuincheiroSemNome(string nomeInvalido) { string nome = nomeInvalido; var dataCadastro = DateTime.Now; var endereco = new Endereco { NomeLogradouro = "Tietê", Logradouro = "Marginal, 2020", CEP = "45645-030", Bairro = "Bairro Teste", Cidade = "São Paulo", Estado = new Estado { Id = 1, UF = "SP" } }; var email = new Email("*****@*****.**"); var celular = "11943433094"; var ativo = true; ExcecaoDeDominio ex = Assert.Throws <ExcecaoDeDominio>(() => new Guincheiro(nome, dataCadastro, endereco, email, celular, ativo)); Assert.Equal(MensagemValidacao.NomeFantasiaInvalido, ex.Mensagens.Find(p => p.Contains(MensagemValidacao.NomeFantasiaInvalido))); }
public void AdicionarObservacao(string observacao) { ExcecaoDeDominio.Quando(string.IsNullOrEmpty(observacao), "Observação é obrigatório"); Observacao = observacao; }
public void Jogar(string nomeDoJogador, Carta carta) { ExcecaoDeDominio.Quando(JogadorDaCarta.Nome != nomeDoJogador, "Não é permitido jogar na vez de outro jogador"); MaiorCartaJogada = carta; }
public void ConfigurarResposta(ExcecaoDeDominio ex) { this.DefinirSucesso(false); this.Erro = new RespostaErro(ex.Message, 400); }