Ejemplo n.º 1
0
        public ActionResult DeletarFeriado(int id)
        {
            SPEBL BL = new SPEBL();

            BL.CalendarioCivil.Delete(id);
            return(RedirectToAction("Feriados"));
        }
Ejemplo n.º 2
0
        public ActionResult Feriados()
        {
            SPEBL BL = new SPEBL();

            CalendarioVM vm = new CalendarioVM();

            vm.Calendarios = BL.CalendarioCivil.Get().ToList();
            vm.Legendas    = BL.CalendarioLegenda.Get().ToList();

            return(View(vm));
        }
Ejemplo n.º 3
0
        public ActionResult GetFeriados(int ano = -1)
        {
            if (ano == -1)
            {
                ano = DateTime.Now.Year;
            }

            DateTime startDate = new DateTime(ano, 1, 1);
            DateTime endDate   = startDate.AddYears(1);

            SPEBL BL = new SPEBL();

            List <CalendarioCivil> datas           = BL.CalendarioCivil.Get(a => a.DataInicial.Year == ano || (a.DataFim.HasValue && a.DataFim.Value.Year == ano), null, "CalendarioLegenda").ToList();
            List <CalendarioItem>  itensCalendario = new List <CalendarioItem>();

            foreach (var item in datas)
            {
                DateTime StartDate = item.DataInicial;
                DateTime EndDate   = item.DataFim.HasValue ? item.DataFim.Value : item.DataInicial;

                DateTime originalStart = item.DataInicial;
                DateTime?originalend   = item.DataFim;

                int Interval = 1;

                StartDate = StartDate.AddDays(-1);
                while (StartDate.AddDays(Interval) <= EndDate)
                {
                    var feriado = new CalendarioItem
                    {
                        id            = item.IdCalendarioCivil,
                        idLegenda     = item.IdLegenda,
                        start         = StartDate.AddDays(1).ToString("yyyy-MM-dd"),
                        originalStart = item.DataInicial.ToString("yyyy-MM-dd"),
                        originalEnd   = item.DataFim.HasValue ? item.DataFim.Value.ToString("yyyy-MM-dd") : "",
                        description   = item.Descricao,
                        color         = "#" + item.CalendarioLegenda.Cor,
                    };

                    //var existeFeriado = itensCalendario.Any(a => a.originalStart == feriado.originalStart && a.originalEnd == feriado.originalEnd);

                    //if (!existeFeriado)
                    //{
                    itensCalendario.Add(feriado);
                    //}

                    StartDate = StartDate.AddDays(Interval);
                }
            }

            return(Json(itensCalendario, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public ActionResult EditarFeriado(CalendarioCivil model)
        {
            CultureInfo brasil = new CultureInfo("pt-BR");

            var dataStr = Request.Form["DataInicial"];

            model.DataInicial = DateTime.Parse(dataStr, brasil);
            if (Request.Form["DataFim"] != null && Request.Form["DataFim"] != "")
            {
                var dataStr2 = Request.Form["DataFim"];
                model.DataFim = DateTime.Parse(dataStr2, brasil);
            }


            SPEBL BL = new SPEBL();

            if (model.DataInicial == model.DataFim)
            {
                model.DataFim = null;
            }
            BL.CalendarioCivil.Update(model);
            return(null);
        }
Ejemplo n.º 5
0
        public ActionResult GetEventos(int tipo, int item, int versao, int ano = 0)
        {
            if (ano == 0)
            {
                ano = DateTime.Now.Year;
            }

            DateTime startDate = new DateTime(ano, 1, 1);
            DateTime endDate   = startDate.AddYears(1);


            var   baseColor            = "";
            SPEBL BL                   = new SPEBL();
            List <Agendamento> eventos = new List <Agendamento>();

            switch (tipo)
            {
            case 1:
                eventos = BL.Agendamento.Get(a => a.IdAmbiente == item && a.Versao == versao &&
                                             ((a.HoraInicio >= startDate && a.HoraInicio <= endDate) ||
                                              (a.HoraFim >= startDate && a.HoraFim <= endDate)), null, "turma.matriz,Docente,Componente,Ambiente").ToList();

                break;

            case 2:
                eventos = BL.Agendamento.Get(a => a.IdComponente == item && a.Versao == versao &&
                                             ((a.HoraInicio >= startDate && a.HoraInicio <= endDate) ||
                                              (a.HoraFim >= startDate && a.HoraFim <= endDate)), null, "turma.matriz,Docente,Componente,Ambiente").ToList();

                break;

            case 3:
                eventos = BL.Agendamento.Get(a => a.IdDocente == item && a.Versao == versao &&
                                             ((a.HoraInicio >= startDate && a.HoraInicio <= endDate) ||
                                              (a.HoraFim >= startDate && a.HoraFim <= endDate)), null, "turma.matriz,Docente,Componente,Ambiente").ToList();

                break;

            case 4:
                eventos = BL.Agendamento.Get(a => a.IdTurma == item && a.Versao == versao &&
                                             ((a.HoraInicio >= startDate && a.HoraInicio <= endDate) ||
                                              (a.HoraFim >= startDate && a.HoraFim <= endDate)), null, "turma.matriz,Docente,Componente,Ambiente").ToList();

                break;
            }
            List <CalendarioItemAgendamento> itensCalendario = new List <CalendarioItemAgendamento>();

            foreach (var item1 in eventos)
            {
                DateTime StartDate = item1.HoraInicio.Value;
                DateTime EndDate   = item1.HoraFim.HasValue ? item1.HoraFim.Value : item1.HoraFim.Value;

                DateTime originalStart = item1.HoraInicio.Value;
                DateTime?originalend   = item1.HoraFim;

                switch (tipo)
                {
                case 0:
                    baseColor = "00FF00";
                    break;

                case 1:
                    baseColor = "40E0D0";
                    break;

                case 2:
                    baseColor = "FF8C00";
                    break;

                case 3:
                    baseColor = "BEBEBE";
                    break;

                case 4:
                    baseColor = "CCCC22";
                    break;
                }
                int Interval = 1;

                StartDate = StartDate.AddDays(-1);
                while (StartDate.AddDays(Interval) <= EndDate)
                {
                    itensCalendario.Add(new CalendarioItemAgendamento
                    {
                        id = item1.IdAgendamento,
                        //idLegenda = item.IdDocente,
                        start         = StartDate.AddDays(1).ToString("yyyy-MM-dd"),
                        originalStart = item1.HoraInicio.Value.ToString("yyyy-MM-dd"),
                        originalEnd   = item1.HoraFim.HasValue ? item1.HoraFim.Value.ToString("yyyy-MM-dd") : "",
                        horaInicio    = item1.HoraInicio.Value.ToString("HH:mm"),
                        horaFim       = item1.HoraFim.Value.ToString("HH:mm"),
                        docente       = item1.Docente.Nome,
                        turma         = item1.Turma.IdTurma.ToString(),
                        componente    = item1.Componente.Nome,
                        ambiente      = item1.Ambiente.Nome,
                        color         = "#" + baseColor,
                    });
                    StartDate = StartDate.AddDays(Interval);
                }
            }

            itensCalendario.AddRange(ItemsCalendarioCivil());

            if (tipo == 3)
            {
                itensCalendario.AddRange(ItemsCalendarioDocente(item));
            }

            //Lógica para marcar os itens com conflito de data
            var listRetorno = LogicaConflitos(itensCalendario);

            return(Json(listRetorno, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
        public ActionResult AgendaAmbienteDocente(int turmaId = 0, string start = "", string end = "")
        {
            DateTime startDate = UnixTimeStampToDateTime(double.Parse(start));
            DateTime endDate   = UnixTimeStampToDateTime(double.Parse(end));

            endDate   = endDate.AddHours(-endDate.Hour);
            startDate = startDate.AddHours(-startDate.Hour);
            SPEBL BL = new SPEBL();

            List <AgendaAmbiente> ambientes = BL.AgendaAmbiente.Get(a => a.IdTurma == turmaId &&
                                                                    ((a.DataIni >= startDate && a.DataIni <= endDate) ||
                                                                     (a.DataFim >= startDate && a.DataFim <= endDate))
                                                                    , null, "Ambiente,Componente,Turma.Matriz,Turma.Turno").ToList();
            List <CalendarioItem> itensCalendario = new List <CalendarioItem>();

            foreach (var item in ambientes)
            {
                DateTime StartDate = item.DataIni.Value;
                DateTime EndDate   = item.DataFim.Value;
                int      Interval  = 1;

                while (StartDate.AddDays(Interval) <= EndDate)
                {
                    if (
                        (StartDate.DayOfWeek == DayOfWeek.Sunday && item.DiasSemana.Contains(((int)DayOfWeek.Sunday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Monday && item.DiasSemana.Contains(((int)DayOfWeek.Monday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Tuesday && item.DiasSemana.Contains(((int)DayOfWeek.Tuesday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Wednesday && item.DiasSemana.Contains(((int)DayOfWeek.Wednesday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Thursday && item.DiasSemana.Contains(((int)DayOfWeek.Thursday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Friday && item.DiasSemana.Contains(((int)DayOfWeek.Friday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Saturday && item.DiasSemana.Contains(((int)DayOfWeek.Saturday).ToString()))
                        )
                    {
                        itensCalendario.Add(new CalendarioItem
                        {
                            originalStart   = StartDate.ToShortDateString(),
                            originalEnd     = EndDate.ToShortDateString(),
                            start           = StartDate.ToString("yyyy-MM-dd"),
                            title           = item.Ambiente.Nome,
                            carga           = item.Componente.CH,
                            matriz          = item.Turma.Matriz.Nome,
                            turno           = item.Turma.Turno.Descr,
                            dataInicioTurma = item.Turma.DataInicio.HasValue ? item.Turma.DataInicio.Value.ToString("dd/MM/yyyy") : "",
                            dataFinalTurma  = item.Turma.DataFim.HasValue ? item.Turma.DataFim.Value.ToString("dd/MM/yyyy") : "",

                            description = "" + item.Componente.Nome + " " + item.HoraIni.Value.ToString("hh:mm") + " - " + item.HoraFim.Value.ToString("hh:mm") + " ",
                            color       = "#e4bc43",
                            textColor   = "black"
                        });
                    }

                    StartDate = StartDate.AddDays(Interval);
                }
            }


            List <AgendaDocente> docentes = BL.AgendaDocente.Get(a => a.IdTurma == turmaId &&
                                                                 ((a.DataIni >= startDate && a.DataIni <= endDate) ||
                                                                  (a.DataFim >= startDate && a.DataFim <= endDate))
                                                                 , null, "Docente,Componente,Turma.Matriz,Turma.Turno").ToList();

            foreach (var item in docentes)
            {
                DateTime StartDate = item.DataIni.Value;
                DateTime EndDate   = item.DataFim.Value;
                int      Interval  = 1;

                while (StartDate.AddDays(Interval) <= EndDate)
                {
                    if (
                        (StartDate.DayOfWeek == DayOfWeek.Sunday && item.DiasSemana.Contains(((int)DayOfWeek.Sunday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Monday && item.DiasSemana.Contains(((int)DayOfWeek.Monday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Tuesday && item.DiasSemana.Contains(((int)DayOfWeek.Tuesday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Wednesday && item.DiasSemana.Contains(((int)DayOfWeek.Wednesday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Thursday && item.DiasSemana.Contains(((int)DayOfWeek.Thursday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Friday && item.DiasSemana.Contains(((int)DayOfWeek.Friday).ToString())) ||
                        (StartDate.DayOfWeek == DayOfWeek.Saturday && item.DiasSemana.Contains(((int)DayOfWeek.Saturday).ToString()))
                        )
                    {
                        itensCalendario.Add(new CalendarioItem
                        {
                            originalStart   = StartDate.ToShortDateString(),
                            originalEnd     = EndDate.ToShortDateString(),
                            carga           = item.Componente.CH,
                            matriz          = item.Turma.Matriz.Nome,
                            turno           = item.Turma.Turno.Descr,
                            dataInicioTurma = item.Turma.DataInicio.HasValue ? item.Turma.DataInicio.Value.ToString("dd/MM/yyyy") : "",
                            dataFinalTurma  = item.Turma.DataFim.HasValue ? item.Turma.DataFim.Value.ToString("dd/MM/yyyy") : "",
                            start           = StartDate.ToString("yyyy-MM-dd"),
                            title           = item.Docente.Nome,
                            description     = "" + item.Componente.Nome + " " + item.HoraIni.Value.ToString("hh:mm") + " - " + item.HoraFim.Value.ToString("hh:mm"),
                            color           = "#1abc9c",
                            textColor       = "black"
                        });
                    }

                    StartDate = StartDate.AddDays(Interval);
                }
            }


            return(Json(itensCalendario, JsonRequestBehavior.AllowGet));
        }