public ActionResult CreateWeekClasses(WeekGymClass weekGymClasses) { List <GymClass> newClasses = new List <GymClass>(0); foreach (var cl in weekGymClasses.WeekClasses) { if (cl.IsEditable) { newClasses.Add(cl.ToModel()); } } db.GymClass.AddRange(newClasses); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult CreateWeekClasses(int nWeek = 0) { WeekGymClass wgc = new WeekGymClass(); wgc.SelectedWeek = nWeek; wgc.FutureWeeks = new List <SelectListItem>(4); DateTime now = DateTime.Now.Date; int daysUntilMonday = ((int)DayOfWeek.Monday - (int)now.DayOfWeek + 7) % 7; for (int i = 0; i < 4; i++) { SelectListItem weekItem = new SelectListItem(); weekItem.Value = i.ToString(); weekItem.Text = now.AddDays(daysUntilMonday + i * 7).ToShortDateString(); weekItem.Selected = (nWeek == i); wgc.FutureWeeks.Add(weekItem); } wgc.WeekClasses = new List <ClassDetail>(); foreach (var clt in db.GymClassTypes.OrderBy(ct => ct.ClassTime).OrderBy(ct => ct.DayOfTheWeek).ToList()) { ClassDetail cl = new ClassDetail(); cl.Description = clt.Description; cl.GymClassTypeId = clt.GymClassTypeId; cl.GymClassTypeName = clt.Name; cl.MaxCapacity = clt.MaxCapacity; cl.MaxWaitList = clt.MaxWaitList; int daysUntilClassDay = ((int)clt.DayOfTheWeek - (int)now.DayOfWeek + 7) % 7; string[] hms = clt.ClassTime.Split(':'); cl.ClassDateTime = now.AddDays(daysUntilClassDay + 7 * nWeek).AddHours(int.Parse(hms[0])).AddMinutes(int.Parse(hms[1])); cl.ClassTime = clt.ClassTime; cl.ClassDate = cl.ClassDateTime.ToString("dddd dd MMM"); cl.IsEditable = true; wgc.WeekClasses.Add(cl); } return(View(wgc)); }