예제 #1
0
        public Manilha(string nome, int peso)
        {
            ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome da manilha é obrigatório");

            Nome = nome;
            Peso = peso;
        }
예제 #2
0
        public Jogador(string nome, Equipe equipe)
        {
            ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome do jogador é obrigatório");

            Nome   = nome;
            Equipe = equipe;
        }
예제 #3
0
        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()));
        }
예제 #4
0
        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;
        }
예제 #5
0
        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;
        }
예제 #6
0
        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;
        }
예제 #7
0
 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");
 }
예제 #8
0
        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;
        }
예제 #9
0
        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;
        }
예제 #10
0
 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);
        }
예제 #12
0
 public void AdicionarObservacao(string observacao)
 {
     ExcecaoDeDominio.Quando(string.IsNullOrEmpty(observacao), "Observação é obrigatório");
     Observacao = observacao;
 }
예제 #13
0
        public void Jogar(string nomeDoJogador, Carta carta)
        {
            ExcecaoDeDominio.Quando(JogadorDaCarta.Nome != nomeDoJogador, "Não é permitido jogar na vez de outro jogador");

            MaiorCartaJogada = carta;
        }
예제 #14
0
 private static void Validar(string nome, string descricao, string requisitos)
 {
     ExcecaoDeDominio.Quando(string.IsNullOrEmpty(nome), "Nome é obrigatório");
     ExcecaoDeDominio.Quando(string.IsNullOrEmpty(descricao), "Descrição é obrigatório");
     ExcecaoDeDominio.Quando(string.IsNullOrEmpty(requisitos), "Requisitos são obrigatórios");
 }