Ejemplo n.º 1
0
        public ExperienciaProfissional(DateTime dataInicio, DateTime?dataTermino, Nome empresa, Nome cargo, AreaProfissional area, Texto atividadeExercida) : this()
        {
            DataInicio        = dataInicio;
            DataTermino       = dataTermino;
            Empresa           = empresa;
            Cargo             = cargo;
            Area              = area;
            AtividadeExercida = atividadeExercida;

            new ValidationContract <ExperienciaProfissional>(this)
            .IsNotNull(Empresa, "A empresa da experiência profissional é de preenchimento obrigatório")
            .IsNotNull(Cargo, "O cargo da experiência profissional é de preenchimento obrigatório")
            .IsNotNull(Area, "A área da experiência profissional é de preenchimento obrigatório");

            if (DataTermino != null && DataTermino < DataInicio)
            {
                AddNotification("DataTermino", "A data de término não pode ser menor que a data de início da experiência profissional");
            }
        }
Ejemplo n.º 2
0
        public VagaEmprego(Empresa empresa, Nome cargo, Texto descricao, Texto beneficios, AreaProfissional areaProfissional, Descricao horarioTrabalho, DateTime dataExpiracao, bool salarioAcombinar, NumeroPositivo salario, TipoContratacao tipoContratacao) : this()
        {
            DataCriacao      = DateTime.Now;
            Empresa          = empresa;
            Cargo            = cargo;
            Descricao        = descricao;
            Beneficios       = beneficios;
            AreaProfissional = areaProfissional;
            HorarioTrabalho  = horarioTrabalho;
            DataExpiracao    = dataExpiracao;
            SalarioAcombinar = salarioAcombinar;
            Status           = StatusVaga.Aberta;

            if (!SalarioAcombinar)
            {
                Salario = salario;
            }


            TipoContratacao = tipoContratacao;

            new ValidationContract <VagaEmprego>(this)
            .IsNotNull(Empresa, "A empresa dona da vaga de emprego não pode ser nula.")
            .IsNotNull(Cargo, "O cargo relacionado a vaga de emprego não pode ser nulo.")
            .IsNotNull(Descricao, "A Descrição da vaga não pode ser nula.")
            .IsNotNull(AreaProfissional, "A área profissional da vaga não pode ser nula.")
            .IsNotNull(TipoContratacao, "O tipo de contratação da vaga não pode ser nulo")
            .IsGreaterThan(x => x.DataExpiracao, DataCriacao, "A data de expiração não pode ser menor que a data de criação da vaga");

            if (Empresa != null)
            {
                AddNotifications(Empresa.Notifications);
            }

            if (Cargo != null)
            {
                AddNotifications(Cargo.Notifications);
            }

            if (Descricao != null)
            {
                AddNotifications(Descricao.Notifications);
            }

            if (Beneficios != null)
            {
                AddNotifications(Beneficios.Notifications);
            }

            if (AreaProfissional != null)
            {
                AddNotifications(AreaProfissional.Notifications);
            }

            if (HorarioTrabalho != null)
            {
                AddNotifications(HorarioTrabalho.Notifications);
            }

            if (!SalarioAcombinar && Salario != null)
            {
                AddNotifications(Salario.Notifications);
            }

            if (TipoContratacao != null)
            {
                AddNotifications(TipoContratacao.Notifications);
            }

            if (!SalarioAcombinar && Salario == null)
            {
                AddNotification("Salario", "O salário deve ser informado quando a opção de salário a combinar não for selecionada.");
            }
        }