コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            HfedSchedule hfedSchedule = db.HfedSchedules.Find(id);

            if (hfedSchedule != null)
            {
                db.HfedSchedules.Remove(hfedSchedule);
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        // 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));
        }
コード例 #4
0
        // 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));
        }