//methods public static WeekDaysEn ConvertToWeekDaysEnCustom(DayOfWeek dayOfWeek) { WeekDaysEn daysEn = new WeekDaysEn(); switch (dayOfWeek) { case DayOfWeek.Friday: daysEn = WeekDaysEn.Friday; break; case DayOfWeek.Saturday: daysEn = WeekDaysEn.Saturday; break; case DayOfWeek.Sunday: daysEn = WeekDaysEn.sunday; break; case DayOfWeek.Monday: daysEn = WeekDaysEn.Monday; break; case DayOfWeek.Tuesday: daysEn = WeekDaysEn.Tuesday; break; case DayOfWeek.Wednesday: daysEn = WeekDaysEn.Wednesday; break; case DayOfWeek.Thursday: daysEn = WeekDaysEn.Thursday; break; } return(daysEn); }
// GET: Student/Home public ActionResult Index() { var userId = HttpContext.User.Identity.GetUserId(); var dayTime = db.DayTimes.Where(item => item.Courses.ApplicationUsers.Any(item2 => item2.Id == userId)).ToList(); var setStatusOfDayTime = Course.setStatusFieldOfCourse(dayTime); var activeDayTime = setStatusOfDayTime.Where(item => item.Courses.Status == Status.Active).ToList(); var dateNow = DateTime.Now; List <DayTime> dayTimeList2 = new List <DayTime>(); foreach (var item in activeDayTime) { DateTime dateTime1 = DateTime.Parse(item.Courses.EYear + "/" + item.Courses.EMonth + "/" + item.Courses.EDay); if (dateTime1 >= dateNow.Date) { dayTimeList2.Add(item); } } PersianCalendar pc = new PersianCalendar(); var t = pc.GetDayOfWeek(dateNow); WeekDaysEn today = DayTime.ConvertToWeekDaysEnCustom(pc.GetDayOfWeek(dateNow)); dayTimeList2 = dayTimeList2.OrderBy(item => item.Day).ToList(); List <DayTime> dayTimeList3 = new List <DayTime>(); while (today <= WeekDaysEn.Friday) { var dayTimeList = dayTimeList2.Where(item => item.Day == today).ToList(); if (dayTimeList.Count() > 0) { dayTimeList.ForEach(item2 => { dayTimeList3.Add(item2); }); } else { DayTime dayTime1 = new DayTime(); dayTime1.Day = today; dayTimeList3.Add(dayTime1); } today++; } WeekDaysEn beforToday = (WeekDaysEn)pc.GetDayOfWeek(dateNow) - 1; while (beforToday >= WeekDaysEn.Saturday) { var dayTimeList = dayTimeList2.Where(item => item.Day == beforToday).ToList(); if (dayTimeList.Count() > 0) { dayTimeList.ForEach(item2 => { dayTimeList3.Add(item2); }); } else { DayTime dayTime1 = new DayTime(); dayTime1.Day = beforToday; dayTimeList3.Add(dayTime1); } beforToday--; } var days = dayTimeList3.GroupBy(item => item.Day).ToList(); List <WeekDaysEn> daysEns = new List <WeekDaysEn>(); days.ForEach(item => { daysEns.Add(item.Select(item2 => item2.Day).First().Value); }); return(View(Tuple.Create(daysEns, dayTimeList3))); }