Advertisement
Guest User

Untitled

a guest
Feb 28th, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.91 KB | None | 0 0
  1. [WebMethod]
  2.         public JsonResult Calendario()
  3.         {
  4.             var calendario = new cSiteGrade().RetornarListaSiteGrade();
  5.  
  6.             DateTime startOfWeek = DateTime.Today.AddDays(-Convert.ToInt32(DateTime.Now.DayOfWeek));
  7.  
  8.             List<DateTime> myDates = Enumerable.Range(0, 7).Select(d => startOfWeek.AddDays(d)).ToList();
  9.  
  10.             List<dynamic> listaHorarios = new List<dynamic>();
  11.  
  12.             calendario.ForEach(e =>
  13.             {
  14.                 var diasLista = e.Dias.Split(',').ToList();
  15.                 var horaInicio = e.HoraInicio.Hour;
  16.                 var minInicio = e.HoraInicio.Minute;
  17.  
  18.                 var horaFim = e.HoraFim.Hour;
  19.                 var minFim = e.HoraFim.Minute;
  20.  
  21.                 foreach (var dia in diasLista)
  22.                 {
  23.                    
  24.                     DateTime date = AssimilarDataAoDiaSemana(dia, myDates);
  25.  
  26.                     DateTime startDate = date.AddHours(horaInicio).AddMinutes(minInicio);
  27.                     DateTime endDate = date.AddHours(horaFim).AddMinutes(minFim);
  28.                    
  29.                     var horario = new
  30.                     {
  31.                         title = string.IsNullOrWhiteSpace(e.Titulo) ? e.SiteTipoCategoria.Titulo : e.Titulo,
  32.                         start = startDate.ToString(),
  33.                         end = endDate.ToString(),
  34.                         allDay = false
  35.                     };
  36.  
  37.                     listaHorarios.Add(horario);
  38.                 }
  39.             });
  40.  
  41.             string json = JsonConvert.SerializeObject(new
  42.             {
  43.                 events = listaHorarios
  44.             });
  45.  
  46.             return Json(json, JsonRequestBehavior.AllowGet);
  47.         }
  48.  
  49. public DateTime AssimilarDataAoDiaSemana(string dia, List<DateTime> dts)
  50.         {
  51.             DateTime date = new DateTime();
  52.  
  53.             if (dia.Contains("Dom"))
  54.             {
  55.                 date = dts.Where(d => (int)d.DayOfWeek == 0).FirstOrDefault();
  56.             }
  57.             else if (dia.Contains("Seg"))
  58.             {
  59.                 date = dts.Where(d => (int)d.DayOfWeek == 1).FirstOrDefault();
  60.             }
  61.             else if (dia.Contains("Ter"))
  62.             {
  63.                 date = dts.Where(d => (int)d.DayOfWeek == 2).FirstOrDefault();
  64.             }
  65.             else if (dia.Contains("Qua"))
  66.             {
  67.                 date = dts.Where(d => (int)d.DayOfWeek == 3).FirstOrDefault();
  68.             }
  69.             else if (dia.Contains("Qui"))
  70.             {
  71.                 date = dts.Where(d => (int)d.DayOfWeek == 4).FirstOrDefault();
  72.             }
  73.             else if (dia.Contains("Sex"))
  74.             {
  75.                 date = dts.Where(d => (int)d.DayOfWeek == 5).FirstOrDefault();
  76.             }
  77.             else if (dia.Contains("Sáb"))
  78.             {
  79.                 date = dts.Where(d => (int)d.DayOfWeek == 6).FirstOrDefault();
  80.             }
  81.  
  82.             return date;
  83.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement