Exemplo n.º 1
0
 public Template GetTemplateByName(string templateName)
 {
     using (var ctx = new ProjectCureContext())
     {
         return(ctx.Templates.SingleOrDefault(t => t.TemplateName == templateName));
     }
 }
Exemplo n.º 2
0
 public void ConnectAndRetrieve()
 {
     using (var context = new ProjectCureContext("Data Source=.;Initial Catalog=ProjectCure;Integrated Security=True;MultipleActiveResultSets=True"))
     {
         Assert.AreNotEqual(0, context.Roles.Count());
     }
 }
Exemplo n.º 3
0
 public Event GetEventById(int eventId)
 {
     using (var ctx = new ProjectCureContext())
     {
         return(ctx.Events.Include("User").FirstOrDefault(e => e.EventId == eventId));
     }
 }
Exemplo n.º 4
0
 public void DeleteEventById(int eventId)
 {
     using (var ctx = new ProjectCureContext())
     {
         ctx.Events.Remove(ctx.Events.First(e => e.EventId == eventId));
         ctx.SaveChanges();
     }
 }
Exemplo n.º 5
0
 public IEnumerable <Event> GetEventsBetweenDates(DateTime startDate, DateTime endDate)
 {
     endDate = endDate.AddDays(1);
     using (var ctx = new ProjectCureContext())
     {
         return(ctx.Events.Include("User").Where(e => e.EventStartDateTime >= startDate && e.EventEndDateTime < endDate).ToList());
     }
 }
Exemplo n.º 6
0
 public IEnumerable <Role> GetRoleList()
 {
     using (var ctx = new ProjectCureContext())
     {
         var roles = ctx.Roles.ToList();
         return(roles);
     }
 }
Exemplo n.º 7
0
 public User GetUserByUserName(string userName)
 {
     using (var ctx = new ProjectCureContext())
     {
         var user = ctx.Users
                    .Include("Role")
                    .FirstOrDefault(u => u.UserEmail == userName);
         return(user);
     }
 }
Exemplo n.º 8
0
 public User GetUserById(int userId)
 {
     using (var ctx = new ProjectCureContext())
     {
         var user = ctx.Users
                    .Include("Role")
                    .Include("Events")
                    .FirstOrDefault(u => u.UserId == userId);
         return(user);
     }
 }
Exemplo n.º 9
0
        public IEnumerable <User> GetAdminList()
        {
            using (var ctx = new ProjectCureContext())
            {
                var users = ctx.Users
                            .Include("Role")
                            .Where(u => u.Role.RoleName.ToUpper().StartsWith("ADMIN"))
                            .ToList();

                return(users);
            }
        }
Exemplo n.º 10
0
 public void UpdatePassword(User user)
 {
     using (var ctx = new ProjectCureContext())
     {
         var dbUser = ctx.Users.FirstOrDefault(u => u.UserEmail == user.UserEmail);
         if (dbUser == null)
         {
             throw new ArgumentException();
         }
         dbUser.UserPassword = SHA256Encryption.ComputeSHA256Hash(user.UserPassword);
         ctx.SaveChanges();
     }
 }
Exemplo n.º 11
0
        public void DeleteUser(int id)
        {
            using (var ctx = new ProjectCureContext())
            {
                var user = ctx.Users.Include(c => c.Events).FirstOrDefault(c => c.UserId == id);
                if (user == null)
                {
                    return;
                }

                ctx.Entry(user).State = EntityState.Deleted;
                ctx.SaveChanges();
            }
        }
Exemplo n.º 12
0
 public IEnumerable <Event> RemoveManagerFromEvents(int userId)
 {
     using (var ctx = new ProjectCureContext())
     {
         var userEvents     = ctx.Events.Where(e => e.User.UserId == userId && e.EventStartDateTime > DateTime.Now);
         var returnedEvents = userEvents.ToList();
         foreach (var userEvent in userEvents)
         {
             userEvent.EventManagerId = null;
         }
         ctx.SaveChanges();
         return(returnedEvents);
     }
 }
Exemplo n.º 13
0
        public bool IsValidUser(string userName, string password)
        {
            using (var ctx = new ProjectCureContext())
            {
                var user = ctx.Users.FirstOrDefault(u => u.UserEmail == userName && u.UserActiveIn);
                if (user == null)
                {
                    return(false);
                }

                var hashedPassword = password == null ? null : SHA256Encryption.ComputeSHA256Hash(password);
                return(hashedPassword == user.UserPassword);
            }
        }
Exemplo n.º 14
0
        public void SaveEvent(Event @event)
        {
            using (var ctx = new ProjectCureContext())
            {
                bool eventExists = ctx.Events.Any(e => e.EventId == @event.EventId);
                if (eventExists)
                {
                    ctx.Entry(@event).State = EntityState.Modified;
                }
                else
                {
                    ctx.Entry(@event).State = EntityState.Added;
                }

                ctx.SaveChanges();
            }
        }
Exemplo n.º 15
0
        public void SaveUser(User user)
        {
            using (var ctx = new ProjectCureContext())
            {
                var userExists = ctx.Users.Any(u => u.UserId == user.UserId);
                if (userExists)
                {
                    ctx.Entry(user).State = EntityState.Modified;
                    ctx.Entry(user).Property(x => x.UserPassword).IsModified = false;
                }
                else
                {
                    user.UserPassword     = null;
                    ctx.Entry(user).State = EntityState.Added;
                }

                ctx.SaveChanges();
            }
        }
Exemplo n.º 16
0
        public IEnumerable <User> GetUserList()
        {
            using (var ctx = new ProjectCureContext())
            {
                var users = ctx.Users
                            .Include("Role")
                            .OrderBy(u => u.UserActiveIn ? 0 : 1)
                            .ThenBy(u => u.UserLastName)
                            .ThenBy(u => u.UserFirstName)
                            .ToList();

                foreach (var user in users.Where(u => u.UserActiveIn))
                {
                    var closureUser = user;
                    user.Events = ctx.Events
                                  .Where(e => e.User.UserId == closureUser.UserId && e.EventStartDateTime > DateTime.Now)
                                  .OrderBy(e => e.EventStartDateTime)
                                  .Take(1).ToList();
                }

                return(users);
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Seeds data into the database
        /// </summary>
        /// <param name="context"></param>
        public static void Seed(ProjectCureContext context)
        {
            //DbSets
            var events    = context.Set <Event>();
            var templates = context.Set <Template>();
            var users     = context.Set <User>();
            var roles     = context.Set <Role>();

            //Templates
            templates.AddOrUpdate(t => t.TemplateName,
                                  new Template()
            {
                TemplateId = 1, TemplateName = "Password Reset Email", TemplateSubject = "Project C.U.R.E - Password reset confirmation", TemplateText = "Dear {name},\r\n\r\nYour account password at Project C.U.R.E has been reset and you have been issued with a new temporary password {temp password}.\r\nPlease go to this page and change your password:\r\nhttp://projectcure.azurewebsites.net/\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            },
                                  new Template()
            {
                TemplateId = 2, TemplateName = "Confirmation Email", TemplateSubject = "Project C.U.R.E - Registration Confirmation", TemplateText = "Dear {name},\r\n\r\nThank you for signing up to lead {title} on {date} from {start time} to {end time}.  We appreciate your service to our organization.\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            },
                                  new Template()
            {
                TemplateId = 3, TemplateName = "Cancellation Email", TemplateSubject = "Project C.U.R.E - Cancellation", TemplateText = "Dear {name},\r\n\r\nYou have successfully canceled your reservation to lead the event for {title} on {date} from {start time} to {end time}.  Please sign up again soon!\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            },
                                  new Template()
            {
                TemplateId = 4, TemplateName = "Unfilled Group Lead Email", TemplateSubject = "Project C.U.R.E - Unfilled Group Lead", TemplateText = "Dear Sort Team Leaders,\r\n\r\nThe groups below are the current groups who are in need of a Sort Team Leader. If you are able to lead a group, please go to the calendar using the link and then click on the \"I will lead\" button.  We appreciate your service to our organization.\r\n\r\n{events}\r\n\r\nhttp://projectcure.azurewebsites.net/Home/Calendar\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            },
                                  new Template()
            {
                TemplateId = 5, TemplateName = "Reminder Email", TemplateSubject = "Project C.U.R.E - Reminder", TemplateText = "Dear {name},\r\n\r\nThis is a reminder that you are scheduled to lead {title} on {date} from {start time} to {end time}.  Thank you for your service to our organization.\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            },
                                  new Template()
            {
                TemplateId = 6, TemplateName = "Password Change Confirmation Email", TemplateSubject = "Project C.U.R.E - Password change confirmation", TemplateText = "Dear {name},\r\n\r\nThank you for visiting the Project C.U.R.E website. As per your request, we have successfully changed your password.\r\n\r\nThanks,\r\nThe Project C.U.R.E. Team"
            }
                                  );

            //Roles
            roles.AddOrUpdate(c => c.RoleName,
                              new Role()
            {
                RoleId = 1, RoleName = "Admin"
            },
                              new Role()
            {
                RoleId = 2, RoleName = "Manager"
            }
                              );

            //Users
            users.AddOrUpdate(u => u.UserEmail,
                              new User()
            {
                UserId = 1, UserEmail = "*****@*****.**", UserFirstName = "Louis", UserLastName = "Fischer", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = true, UserNotifyTenDays = true, UserPassword = "******"
            },
                              new User()
            {
                UserId = 2, UserEmail = "*****@*****.**", UserFirstName = "Brian", UserLastName = "Avent", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = false, UserNotifyTenDays = false, UserPassword = "******"
            },
                              new User()
            {
                UserId = 3, UserEmail = "*****@*****.**", UserFirstName = "Jose", UserLastName = "Presa", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = true, UserNotifyTenDays = true, UserPassword = null
            },
                              new User()
            {
                UserId = 4, UserEmail = "*****@*****.**", UserFirstName = "Annie", UserLastName = "Ellement", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = false, UserNotifyTenDays = false, UserPassword = "******"
            },
                              new User()
            {
                UserId = 5, UserEmail = "*****@*****.**", UserFirstName = "Lindsey", UserLastName = "Moore", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = true, UserNotifyTenDays = true, UserPassword = "******"
            },
                              new User()
            {
                UserId = 6, UserEmail = "*****@*****.**", UserFirstName = "Annie", UserLastName = "Ellement", UserRoleId = 2, UserActiveIn = true, UserNotifyFiveDays = false, UserNotifyTenDays = false, UserPassword = "******"
            },
                              new User()
            {
                UserId = 7, UserEmail = "*****@*****.**", UserFirstName = "Matthew", UserLastName = "Ellement", UserRoleId = 1, UserActiveIn = true, UserNotifyFiveDays = false, UserNotifyTenDays = false, UserPassword = null
            }
                              );

            //Events
            events.AddOrUpdate(p => p.EventTitle,
                               new Event()
            {
                EventId = 1, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-03-15 12:00:00.0000000"), EventTitle = "West Franklin Baptist", EventStartDateTime = DateTime.Parse("2014-03-15 09:00:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 2, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-03-28 12:00:00.0000000"), EventTitle = "Beta Sigma Phi", EventStartDateTime = DateTime.Parse("2014-03-28 09:00:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 3, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-09 16:00:00.0000000"), EventTitle = "Lipscomb Nursing", EventStartDateTime = DateTime.Parse("2014-04-09 13:00:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 4, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-12 12:00:00.0000000"), EventTitle = "Hermitage UMC", EventStartDateTime = DateTime.Parse("2014-04-12 09:00:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 5, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-19 12:00:00.0000000"), EventTitle = "Mount Nebo Church", EventStartDateTime = DateTime.Parse("2014-04-19 09:00:00.0000000"), EventStatus = false, EventManagerId = 3
            },
                               new Event()
            {
                EventId = 6, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-10 12:00:00.0000000"), EventTitle = "Westminster Ladies", EventStartDateTime = DateTime.Parse("2014-04-10 09:00:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 7, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-23 19:30:00.0000000"), EventTitle = "Hands on Nashville", EventStartDateTime = DateTime.Parse("2014-04-23 17:30:00.0000000"), EventStatus = false, EventManagerId = null
            },
                               new Event()
            {
                EventId = 8, EventDescription = "", EventEndDateTime = DateTime.Parse("2014-04-27 12:30:00.0000000"), EventTitle = "HCA Hackathon", EventStartDateTime = DateTime.Parse("2014-04-27 15:30:00.0000000"), EventStatus = false, EventManagerId = 3
            }
                               );
        }