Ejemplo n.º 1
0
        /// <summary>
        /// Cria uma instância de PlanCalendarioCoorp.
        /// </summary>
        /// <param name="session">Seção atual</param>
        /// <param name="csCalendario">Folga ou Trabalho</param>
        /// <param name="csVigencia">PorPeriodo, PorDiaMes ou PorDiaMesAno</param>
        /// <param name="dtInicio">Dia de inicio do calendário por Período</param>
        /// <param name="dtTermino">Dia de término do calendário por Período</param>
        /// <param name="dia">Dia do calendário PorDiaMesAno e PorDiaMes</param>
        /// <param name="mes">Mês do calendário PorDiaMesAno e PorDiaMes</param>
        /// <param name="ano">Ano do calendário PorDiaMesAno</param>
        /// <param name="save">Se verdadeiro, persiste</param>
        /// <returns>Instância de PlanCalendario para testes</returns>
        public static Calendario CriarCalendario(Session session, CsCalendarioDomain csCalendario,
                                                 CsVigenciaDomain csVigencia, DateTime dtInicio,
                                                 DateTime dtTermino, int dia, CsMesDomain mes, int ano, bool save = false)
        {
            Calendario cal = new Calendario(session)
            {
                CsCalendario = csCalendario,
                CsVigencia   = csVigencia,
                CsSituacao   = CsSituacaoDomain.Ativo,
                TxDescricao  = GetDescricao()
            };

            switch (csVigencia)
            {
            case CsVigenciaDomain.PorPeriodo:
                cal.DtInicio  = dtInicio;
                cal.DtTermino = dtTermino;
                break;

            case CsVigenciaDomain.PorDiaMes:
                cal.CsMes = mes;
                cal.NbDia = dia;
                break;

            case CsVigenciaDomain.PorDiaMesAno:
                cal.DtInicio = new DateTime(ano, (int)mes, dia);
                break;
            }

            if (save)
            {
                cal.Save();
            }

            return(cal);
        }
        /// <summary>
        /// Método auxiliar para cadastrar datas no calendário do wex
        /// </summary>
        /// <param name="descricao">descrição da data cadastrada</param>
        /// <param name="tipoCalendario">tipo de data (Folga ou Trabalho)</param>
        /// <param name="tipoVigencia">tipo de vigência da data do calendário</param>
        /// <param name="dataInicio">data de inicio</param>
        /// <param name="dataTermino">data de término do período (Opcional, usado apenas quando a vigência for por período)</param>
        private void AdicionarCalendario(string descricao, CsCalendarioDomain tipoCalendario, CsVigenciaDomain tipoVigencia, DateTime dataInicio, DateTime?dataTermino = null)
        {
            //TODO: REVER SE DEVERÁ SER PASSADO PARA O CalendarioBo
            Calendario calendario = new Calendario()
            {
                CsCalendario = tipoCalendario.ToInt(),
                CsVigencia   = tipoVigencia.ToInt(),
                DtInicio     = dataInicio.Date,
                Periodo      = dataInicio.Date,
                Oid          = Guid.NewGuid(),
                TxDescricao  = descricao,
                CsSituacao   = CsSituacaoDomain.Ativo.ToInt()
            };

            switch (tipoVigencia)
            {
            case CsVigenciaDomain.PorDiaMes:
                calendario.CsMes = dataInicio.Month;
                calendario.NbDia = dataInicio.Day;
                break;

            case CsVigenciaDomain.PorDiaMesAno:
                break;

            case CsVigenciaDomain.PorPeriodo:
                if (!dataTermino.HasValue)
                {
                    throw new ArgumentException("Deveria ter preenchido a data de término do período.");
                }
                calendario.DtTermino = dataTermino.Value.Date;
                break;

            default:
                break;
            }
            contexto.Calendarios.Add(calendario);
            contexto.SaveChanges();
        }
Ejemplo n.º 3
0
        private Calendario CriarCalendario(string descricao, CsCalendarioDomain tipoCalendario, CsVigenciaDomain tipoVigencia, DateTime dataInicio, CsSituacaoDomain situacao, DateTime?dataTermino = null)
        {
            Calendario calendario = new Calendario()
            {
                CsCalendario = tipoCalendario.ToInt(),
                CsVigencia   = tipoVigencia.ToInt(),
                DtInicio     = dataInicio.Date,
                Periodo      = dataInicio.Date,
                Oid          = Guid.NewGuid(),
                TxDescricao  = descricao,
                CsSituacao   = situacao.ToInt()
            };

            switch (tipoVigencia)
            {
            case CsVigenciaDomain.PorDiaMes:
                calendario.CsMes = dataInicio.Month;
                calendario.NbDia = dataInicio.Day;
                break;

            case CsVigenciaDomain.PorDiaMesAno:
                break;

            case CsVigenciaDomain.PorPeriodo:
                if (!dataTermino.HasValue)
                {
                    throw new ArgumentException("Deveria ter preenchido a data de término do período.");
                }
                calendario.DtTermino = dataTermino.Value.Date;
                break;

            default:
                break;
            }
            return(calendario);
        }
Ejemplo n.º 4
0
 public Calendario ToCalendario()
 {
     CsVigencia = ConverterVigencia(Vigencia);
     return(CriarCalendario(Descricao, Tipo, CsVigencia, Data, Situacao));
 }