public ActionResult CreateSchedEvent(string Title, int UserId, DateTime startDate, string intervalType, int numIntervals, int duration, int DoctorId) { var vet = _db.Vets .Include(r => r.Doctors) .Include("Doctors.Schedules") .Include("Doctors.Schedules.Events") .SingleOrDefault(r => r.Username == HttpContext.User.Identity.Name);//_db.Vets.Include(r => r.Schedules).Include("Schedules.Events").SingleOrDefault(r => r.Username == HttpContext.User.Identity.Name); var user = _db.Users.Include(r => r.Schedules).SingleOrDefault(r => r.Id == UserId); var userIntervalSched = user.Schedules.SingleOrDefault(r => r.Name.ToLower() == user.Id + "|interval schedules"); if (userIntervalSched == null) { userIntervalSched = new Schedule() { Name = user.Id + "|interval schedules", DoctorId = DoctorId, Description = user.FullName + "'s User Interval Events" }; _db.Schedules.Add(userIntervalSched); _db.SaveChanges(); user.Schedules.Add(userIntervalSched); _db.Entry(userIntervalSched).State = EntityState.Modified; _db.Entry(user).State = EntityState.Modified; _db.SaveChanges(); } var schedEvent = new Event() { Title = Title, ScheduleId = userIntervalSched.Id, StartDateTime = startDate, EndDateTime = startDate.AddMinutes(duration) }; _db.Events.Add(schedEvent); _db.SaveChanges(); for (int i = 1; i < numIntervals; i++) { switch (intervalType) { case "min": schedEvent.StartDateTime = schedEvent.StartDateTime.AddMinutes(1); break; case "hour": schedEvent.StartDateTime = schedEvent.StartDateTime.AddHours(1); break; case "day": schedEvent.StartDateTime = schedEvent.StartDateTime.AddDays(1); break; case "week": schedEvent.StartDateTime = schedEvent.StartDateTime.AddDays(7); break; case "month": schedEvent.StartDateTime = schedEvent.StartDateTime.AddMonths(1); break; } schedEvent.EndDateTime = schedEvent.StartDateTime.AddMinutes(duration); _db.Events.Add(schedEvent); _db.SaveChanges(); } //var schedule = vet.Schedules.SingleOrDefault(r => r.Name.ToLower().Contains(user.Id + "|interval schedules")); ViewBag.UserList = _db.Users.Include(r => r.Schedules).Include("Schedules.Events").Where(r => r.VetId == vet.Id).ToList(); ViewBag.Doctors = vet.Doctors.ToList(); //_db.Events.Add(schedEvent); //_db.SaveChanges(); //ViewBag.Schedule = schedule; return View(); }
public ActionResult CreateEvent(Event schedEvent) { _db.Events.Add(schedEvent); _db.SaveChanges(); var vet = _db.Vets.SingleOrDefault(r => r.Username == HttpContext.User.Identity.Name); ViewBag.UserList = _db.Users.Where(r => r.VetId == vet.Id).ToList(); return RedirectToAction("Edit", "Scheduling", new { id = schedEvent.ScheduleId }); }