Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [WebMethod]
- public JsonResult Calendario()
- {
- var calendario = new cSiteGrade().RetornarListaSiteGrade();
- DateTime startOfWeek = DateTime.Today.AddDays(-Convert.ToInt32(DateTime.Now.DayOfWeek));
- List<DateTime> myDates = Enumerable.Range(0, 7).Select(d => startOfWeek.AddDays(d)).ToList();
- List<dynamic> listaHorarios = new List<dynamic>();
- calendario.ForEach(e =>
- {
- var diasLista = e.Dias.Split(',').ToList();
- var horaInicio = e.HoraInicio.Hour;
- var minInicio = e.HoraInicio.Minute;
- var horaFim = e.HoraFim.Hour;
- var minFim = e.HoraFim.Minute;
- foreach (var dia in diasLista)
- {
- DateTime date = AssimilarDataAoDiaSemana(dia, myDates);
- DateTime startDate = date.AddHours(horaInicio).AddMinutes(minInicio);
- DateTime endDate = date.AddHours(horaFim).AddMinutes(minFim);
- var horario = new
- {
- title = string.IsNullOrWhiteSpace(e.Titulo) ? e.SiteTipoCategoria.Titulo : e.Titulo,
- start = startDate.ToString(),
- end = endDate.ToString(),
- allDay = false
- };
- listaHorarios.Add(horario);
- }
- });
- string json = JsonConvert.SerializeObject(new
- {
- events = listaHorarios
- });
- return Json(json, JsonRequestBehavior.AllowGet);
- }
- public DateTime AssimilarDataAoDiaSemana(string dia, List<DateTime> dts)
- {
- DateTime date = new DateTime();
- if (dia.Contains("Dom"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 0).FirstOrDefault();
- }
- else if (dia.Contains("Seg"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 1).FirstOrDefault();
- }
- else if (dia.Contains("Ter"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 2).FirstOrDefault();
- }
- else if (dia.Contains("Qua"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 3).FirstOrDefault();
- }
- else if (dia.Contains("Qui"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 4).FirstOrDefault();
- }
- else if (dia.Contains("Sex"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 5).FirstOrDefault();
- }
- else if (dia.Contains("Sáb"))
- {
- date = dts.Where(d => (int)d.DayOfWeek == 6).FirstOrDefault();
- }
- return date;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement