public ActionResult DeleteConfirmed(int id) { HfedSchedule hfedSchedule = db.HfedSchedules.Find(id); if (hfedSchedule != null) { db.HfedSchedules.Remove(hfedSchedule); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DriverSignUp([Bind(Include = "HfedScheds")] HfedScheduleViewModel schedules) { //*** Check for changes in schedules before updating: this routine triggers emails. bool changesMade = false; foreach (var sched in schedules.HfedScheds) { HfedSchedule existingSched = db.HfedSchedules.FirstOrDefault(i => i.Id == sched.Id); if (existingSched != null && sched.Cancel != existingSched.Cancel || existingSched != null && sched.SignUp != existingSched.SignUp) { changesMade = true; break; } } if (!changesMade) { return(RedirectToAction("DriverSignUp")); } foreach (var sched in schedules.HfedScheds) { var driverId = User.Identity.GetUserId(); if (sched.SignUp) { string cmdString = "UPDATE HfedSchedule SET "; cmdString += "Driver_Id='" + driverId + "' WHERE Id=" + sched.Id; db.Database.ExecuteSqlCommand(cmdString); string strSql = "SELECT Provider_Id FROM HfedSchedule WHERE Id = " + sched.Id; int providerId = db.Database.SqlQuery <int>(strSql).FirstOrDefault(); strSql = "SELECT Location_Id FROM HfedSchedule WHERE Id = " + sched.Id; int locationId = db.Database.SqlQuery <int>(strSql).FirstOrDefault(); var unused = EmailDriverSignup(driverId, sched.Id, providerId, locationId, driverId, true); } if (sched.Cancel) { string cmdString = "UPDATE HfedSchedule SET "; cmdString += "Driver_Id='" + null + "' WHERE Id=" + sched.Id; db.Database.ExecuteSqlCommand(cmdString); string strSql = "SELECT Provider_Id FROM HfedSchedule WHERE Id = " + sched.Id; int providerId = db.Database.SqlQuery <int>(strSql).FirstOrDefault(); strSql = "SELECT Location_Id FROM HfedSchedule WHERE Id = " + sched.Id; int locationId = db.Database.SqlQuery <int>(strSql).FirstOrDefault(); var unused = EmailDriverSignup(driverId, sched.Id, providerId, locationId, driverId, false); } } return(RedirectToAction("DriverSignUp")); }
// GET: HfedSchedules/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var scheduleToDelete = new HfedSchedule { Id = (int)id }; string strSql = "SELECT * FROM HfedSchedule WHERE Id = " + id; var schedule = db.Database.SqlQuery <HfedScheduleViewModel>(strSql).ToList(); scheduleToDelete.Location = db.HfedLocations.Find(schedule[0].Location_Id); scheduleToDelete.PointPerson = db.Users.Find(schedule[0].PointPerson_Id); scheduleToDelete.Provider = db.HfedProviders.Find(schedule[0].Provider_Id); scheduleToDelete.Date = schedule[0].Date; return(View(scheduleToDelete)); }
// GET: DriverSignUp public ActionResult DriverSignUp() { // Set Sign-Up month: if inside the last week of a month, then next month. GetDriverDateRange(out DateTime startDate, out DateTime endDate); //var start = DateTime.Today; //int days = DateTime.DaysInMonth(start.Year, start.Month); //if (start.Day > days - 7) // In the last 6 days //{ // start = start.AddMonths(1); //} //start = new DateTime(start.Year, start.Month, 1); //var end = new DateTime(start.Year, start.Month, days); var scheduleList = db.HfedSchedules.Where (s => s.Date >= startDate && s.Date <= endDate).OrderBy(s => s.Date).ToList(); HfedScheduleViewModel hfedSchedule = new HfedScheduleViewModel { UserIsOnSchedule = false, HfedScheds = new List <HfedSchedule>() }; var usr = db.Users.Find(User.Identity.GetUserId()); hfedSchedule.DriverFullName = usr.FullName; foreach (HfedSchedule sched in scheduleList) { string strSql = "SELECT * FROM HfedSchedule WHERE Id = " + sched.Id; var schedData = db.Database.SqlQuery <HfedScheduleViewModel>(strSql).FirstOrDefault(); if (schedData != null) { strSql = "SELECT * FROM HfedLocation WHERE Id = " + schedData.Location_Id; sched.Location = db.Database.SqlQuery <HfedLocation>(strSql).FirstOrDefault(); sched.PointPerson = db.Users.Find(schedData.PointPerson_Id); strSql = "SELECT * FROM HfedProvider WHERE Id = " + schedData.Provider_Id; sched.Provider = db.Database.SqlQuery <HfedProvider>(strSql).FirstOrDefault(); sched.HfedDriversArray = schedData.HfedDriverIds.Split(',').ToArray(); sched.HfedClientsArray = schedData.HfedClientIds.Split(',').ToArray(); sched.HfedDrivers = new List <ApplicationUser>(); var did = schedData.Driver_Id; if (!did.IsNullOrEmpty()) { sched.Driver = db.Users.Find(did); if (sched.Driver.UserName == User.Identity.Name) { hfedSchedule.DriverFullName = sched.Driver.FullName; hfedSchedule.UserIsOnSchedule = true; } } } var allUsers = db.Users.OrderBy(n => n.FirstName).ToList(); foreach (ApplicationUser user in allUsers) { if (UserIsInRole(user.Id, "HfedDriver")) { sched.HfedDrivers.Add(user); } } // Convert viewmodel schedule to hfedschedule to add: var hfedSched = new HfedSchedule { Id = sched.Id, Date = sched.Date, PickUpTime = sched.PickUpTime, Location = sched.Location, PointPerson = sched.PointPerson, Provider = sched.Provider, HfedDriversArray = sched.HfedDriversArray, HfedClientsArray = sched.HfedClientsArray, HfedDrivers = sched.HfedDrivers, SignUp = false, Cancel = false, Driver = sched.Driver, DriverName = sched.DriverName, FormattedDay = sched.Date.ToString("ddd"), FormattedDate = sched.Date.ToString("MM/dd/yy") }; hfedSchedule.HfedScheds.Add(hfedSched); } return(View(hfedSchedule)); }