public ActionResult DeletarFeriado(int id) { SPEBL BL = new SPEBL(); BL.CalendarioCivil.Delete(id); return(RedirectToAction("Feriados")); }
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)); }
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)); }
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); }
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)); }
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)); }