示例#1
0
        public List<Rank> GetRanks()
        {
            List<Rank> ranks = new List<Rank>();

            using (OasisEntities o = new OasisEntities())
            {
                ranks = o.Ranks.ToList<Rank>();
            }
            return ranks;
        }
示例#2
0
        public int GetTotalUsersCount()
        {
            int count = 0;

            using (OasisEntities o = new OasisEntities())
            {
                count = o.Users.Count();
            }

            return count;
        }
示例#3
0
        public int GetGroupCount(int groupId)
        {
            int count = 0;

            using (OasisEntities o = new OasisEntities())
            {
                count = o.UserGroups.Where(g => g.GroupId == groupId).Count();
            }

            return count;
        }
示例#4
0
        public Group GetGroupById(int groupId)
        {
            Group group;

            using (OasisEntities o = new OasisEntities())
            {
                group = o.Groups.Where(g => g.GroupId == groupId).FirstOrDefault<Group>();
            }

            return group;
        }
示例#5
0
        public List<Group> GetAllGroups()
        {
            List<Group> groups = new List<Group>();

            using (OasisEntities o = new OasisEntities())
            {
                groups = o.Groups.OrderBy(g => g.GroupName).ToList<Group>();
            }

            return groups;
        }
示例#6
0
        public void ActivateAccount(string activationCode)
        {
            using (OasisEntities o = new OasisEntities())
            {
                Guid activationKey = Guid.Parse(activationCode);
                User user = o.Users.Where(u => u.ActivationKey == activationKey).FirstOrDefault<User>();

                user.UserStatusID = (int) UserStatuses.Active;
                user.AccountValidated = true;

                o.SaveChanges();
            }
        }
示例#7
0
        public int CreateGroup(string groupName, string description)
        {
            Group group = new Group();

            using (OasisEntities o = new OasisEntities())
            {
                group.GroupName = groupName;
                group.Description = description;

                o.Groups.AddObject(group);
                o.SaveChanges();
            }

            return group.GroupId;
        }
示例#8
0
        public void EmailGroupMembers(int groupId, string subject, string body, string[] attachments)
        {
            using (OasisEntities o = new OasisEntities())
            {
                List<User> usersToEmail = o.UserGroups
                    .Join(o.Users, ug => ug.UserId, u => u.UserId, (ug, u) => new { UserGroup = ug, User = u })
                    .Where(g => g.UserGroup.GroupId == groupId)
                    .Select(g => g.User)
                    .ToList<User>();

                string output = string.Empty;
                foreach (User user in usersToEmail)
                {
                    OasisUtility.SendEmail("*****@*****.**", new string[] { user.EmailAddress }, subject, body, attachments);
                }

            }
        }
示例#9
0
        public void AddUser(string emailAddress, string password, string firstName, string lastName, string address1, string address2, string city, string state, string zipCode, int userType, int userStatus, int rank, int[] userAccess, string phoneNumber, string mobilePhoneNumber)
        {
            Guid activationCode = Guid.NewGuid();
            User user = new User();

            using (OasisEntities o = new OasisEntities())
            {
                int access = 0;

                foreach (int bit in userAccess)
                {
                    access = access | bit;
                }

                user.EmailAddress = emailAddress;
                user.Password = password;
                user.FirstName = firstName;
                user.LastName = lastName;
                user.PhoneNumber = phoneNumber;
                user.MobilePhoneNumber = mobilePhoneNumber;
                user.Address1 = address1;
                user.Address2 = address2;
                user.City = city;
                user.State = state;
                user.ZipCode = zipCode;
                user.ActivationKey = activationCode;
                user.RegisterDate = DateTime.Now;
                user.LastLoginDate = DateTime.Now;
                user.AccountValidated = false;
                user.RankId = rank;
                user.UserStatusID = userStatus;
                user.UserTypeId = userType;
                user.UserAccessBitMask = access;

                o.Users.AddObject(user);
                o.SaveChanges();
            }

            this.SendActivationEmail(user.UserId);
        }
示例#10
0
        public List<User> GetGroupMembers(int groupId)
        {
            List<User> members;

            using (OasisEntities o = new OasisEntities())
            {
                members = o.UserGroups.Where(ug => ug.GroupId == groupId).Select(ug => ug.User).ToList<User>();
            }

            return members;
        }
示例#11
0
        public void UpdateGroupMembers(int groupId, string[] memberIds)
        {
            int memberId = 0;

            using (OasisEntities o = new OasisEntities())
            {
                // Delete the current first
                var currentMembers = o.UserGroups.Where(ug => ug.GroupId == groupId).ToList<UserGroup>();

                foreach (UserGroup group in currentMembers)
                {
                    o.DeleteObject(group);
                }

                // Now, re-add them
                if (memberIds != null)
                {
                    foreach (string id in memberIds)
                    {
                        if (!int.TryParse(id, out memberId)) continue;

                        UserGroup group = new UserGroup();

                        group.GroupId = groupId;
                        group.UserId = memberId;

                        o.UserGroups.AddObject(group);
                    }
                }

                o.SaveChanges();
            }
        }
示例#12
0
        public void UpdateGroup(int groupId, string groupName, string description)
        {
            Group group;

            using (OasisEntities o = new OasisEntities())
            {
                group = o.Groups.Where(g => g.GroupId == groupId).FirstOrDefault<Group>();

                if (group != null)
                {
                    group.GroupName = groupName;
                    group.Description = description;

                    o.SaveChanges();
                }
            }
        }
示例#13
0
        public void TextGroupMembers(int groupId, string message)
        {
            SMS sms = new SMS();

            using (OasisEntities o = new OasisEntities())
            {
                List<User> usersToEmail = o.UserGroups
                    .Join(o.Users, ug => ug.UserId, u => u.UserId, (ug, u) => new { UserGroup = ug, User = u })
                    .Where(g => g.UserGroup.GroupId == groupId)
                    .Select(g => g.User)
                    .ToList<User>();

                string output = string.Empty;
                foreach (User user in usersToEmail)
                {
                    if (!string.IsNullOrEmpty(user.MobilePhoneNumber))
                    {

                        sms.To = OasisUtility.ScrubPhoneNumber(user.MobilePhoneNumber);
                        sms.Message = message;

                        sms.SendMessage();
                    }
                }

            }
        }
示例#14
0
        public List<User> GetUsersByPage(int? page)
        {
            if (page == null) page = 1;
            List<User> users;
            int skip = ((Convert.ToInt32(page) - 1) * 10);

            using (OasisEntities o = new OasisEntities())
            {
                users = o.Users.OrderBy(u => u.LastName).Skip(skip).Take(10).ToList<User>();
            }

            return users;
        }
示例#15
0
        public void RegisterUser(string emailAddress, string password, string firstName, string lastName, string address1, string address2, string city, string state, string zipCode, string phoneNumber, string mobilePhoneNumber)
        {
            using (OasisEntities o = new OasisEntities())
            {
                Guid activationCode = Guid.NewGuid();
                User user = new User();

                // Build and save the user
                user.EmailAddress = emailAddress;
                user.Password = password;
                user.FirstName = firstName;
                user.LastName = lastName;
                user.PhoneNumber = phoneNumber;
                user.MobilePhoneNumber = mobilePhoneNumber;
                user.Address1 = address1;
                user.Address2 = address2;
                user.City = city;
                user.State = state;
                user.ZipCode = zipCode;
                user.ActivationKey = activationCode;
                user.RegisterDate = DateTime.Now;
                user.LastLoginDate = DateTime.Now;
                user.AccountValidated = false;
                user.RankId = (int)Ranks.TWO_POINT_FIVE;
                user.UserStatusID = (int) UserStatuses.Unvalidated;
                user.UserTypeId = (int) UserTypes.WebUser;
                user.UserAccessBitMask = (int) UserPriviledges.User;

                o.Users.AddObject(user);
                o.SaveChanges();

                this.SendActivationEmail(user.UserId);

            }
        }
示例#16
0
        public List<User> SearchUsers(string q)
        {
            List<User> users;

            using (OasisEntities o = new OasisEntities())
            {
                users = o.Users.Where(u => u.FirstName.ToLower().Contains(q.ToLower()) || u.LastName.ToLower().Contains(q.ToLower()) || u.EmailAddress.ToLower().Contains(q.ToLower())).ToList<User>();
            }

            return users;
        }
示例#17
0
        public void RecoverPassword(string emailAddress)
        {
            using (OasisEntities o = new OasisEntities())
            {
                User user = o.Users.Where(u => u.EmailAddress == emailAddress).FirstOrDefault<User>();

                if (user != null)
                {
                    string password = OasisUtility.GenerateTemporaryPassword();
                    StringBuilder email = new StringBuilder();

                    user.Password = password;
                    o.SaveChanges();

                    // Build the email
                    email.Append(user.FirstName + ",\n");
                    email.Append("\n");
                    email.Append("\n");
                    email.Append("You recently requested your password for OasisTennis.com.\n");
                    email.Append("\n");
                    email.Append("The following details is your membership information:\n");
                    email.Append("\n");
                    email.Append("Email address: " + user.EmailAddress + "\n");
                    email.Append("Password: "******"\n");
                    email.Append("\n");
                    email.Append("Let us know if you have any problems on the site!!\n");
                    email.Append("\n");
                    email.Append("\n");
                    email.Append("Thanks,\n");
                    email.Append("-The Oasis Team");

                    OasisUtility.SendEmail("*****@*****.**", new string[] { user.EmailAddress }, "OasisTennis.com Activation Email", email.ToString());

                }
            }
        }
示例#18
0
        public User ValidateUser(string emailAddress, string password)
        {
            User foundUser = null;
            using (OasisEntities o = new OasisEntities())
            {
                foundUser = o.Users.Where(u => u.EmailAddress == emailAddress && u.Password == password).FirstOrDefault<User>();
            }

            return foundUser;
        }
示例#19
0
        public void UpdateUser(string emailAddress, string password, string firstName, string lastName, string address1,
                                string address2, string city, string state, string zipCode, int userType, int userStatus, int rank, int[] userAccess, int userId, string phoneNumber, string mobilePhoneNumber)
        {
            User user;

            using (OasisEntities o = new OasisEntities())
            {
                user = o.Users.Where(u => u.UserId == userId).FirstOrDefault<User>();

                if (user != null)
                {
                    int accessBitMask = 0;

                    foreach (int bit in userAccess)
                    {
                        accessBitMask = accessBitMask | bit;
                    }

                    user.EmailAddress = emailAddress;
                    user.Password = password;
                    user.FirstName = firstName;
                    user.LastName = lastName;
                    user.PhoneNumber = phoneNumber;
                    user.MobilePhoneNumber = mobilePhoneNumber;
                    user.Address1 = address1;
                    user.Address2 = address2;
                    user.City = city;
                    user.State = state;
                    user.ZipCode = zipCode;
                    user.UserTypeId = userType;
                    user.UserStatusID = userStatus;
                    user.RankId = rank;
                    user.UserAccessBitMask = accessBitMask;

                    o.SaveChanges();
                }
            }
        }
示例#20
0
        public void SendActivationEmail(int userId)
        {
            // Now, send out the activation email!
            StringBuilder email = new StringBuilder();
            User user;

            using (OasisEntities o = new OasisEntities())
            {
                user = o.Users.Where(u => u.UserId == userId).FirstOrDefault<User>();
            }

            if (user != null)
            {
                email.Append(user.FirstName + ",\n");
                email.Append("\n");
                email.Append("\n");
                email.Append("Thanks for recently registered on OasisTennis.com! This is the last step to gaining access to the site.\n");
                email.Append("\n");
                email.Append("Please click on the following link to validate your email address, and activate your account:\n");
                email.Append("\n");
                email.Append("http://oasistennis.com/user/activate-account/?id=" + user.ActivationKey.ToString() + "\n");
                email.Append("\n");
                email.Append("We look forward to seeing you on the courts!\n");
                email.Append("\n");
                email.Append("\n");
                email.Append("Thanks,\n");
                email.Append("-The Oasis Team");

                OasisUtility.SendEmail("*****@*****.**", new string[] { user.EmailAddress }, "OasisTennis.com Activation Email", email.ToString());
                OasisUtility.SendAdminEmail("OasisTennis.com Registration!", user.FirstName + " " + user.LastName + " (" + user.EmailAddress + ") just registered on the site!");
            }
        }
示例#21
0
        public User GetUserByEmail(string emailAddress)
        {
            User user;

            using (OasisEntities o = new OasisEntities())
            {
                user = o.Users.Where(u => u.EmailAddress == emailAddress).FirstOrDefault<User>();
            }

            return user;
        }
 public GenericRepository(OasisEntities context)
 {
     this.context = context;
     this.dbSet   = context.Set <TEntity>();
 }
示例#23
0
        public List<Group> GetGroupsByPage(int? page)
        {
            if (page == null) page = 1;
            List<Group> groups;
            int skip = ((Convert.ToInt32(page) - 1) * 10);

            using (OasisEntities o = new OasisEntities())
            {
                groups = o.Groups.OrderBy(g => g.GroupName).Skip(skip).Take(10).ToList<Group>();
            }

            return groups;
        }
示例#24
0
        public List<User> GetMembersNotInGroup(int groupId)
        {
            List<int> userIds;
            List<User> members;

            using (OasisEntities o = new OasisEntities())
            {
                userIds = o.UserGroups.Where(ug => ug.GroupId == groupId).Select(ug => ug.UserId).ToList<int>();

                members = o.Users.Where(u => !userIds.Contains(u.UserId)).ToList<User>();
            }

            return members;
        }
示例#25
0
 public SqlDetail()
 {
     Context = new OasisEntities();
 }
示例#26
0
        public User GetUserById(int userId)
        {
            User user;

            using (OasisEntities o = new OasisEntities())
            {
                user = o.Users.Where(u => u.UserId == userId).FirstOrDefault<User>();
            }

            return user;
        }