/// <summary>
        /// Verifies that the specified user name and password exist in the data source.
        /// </summary>
        /// <returns>
        /// true if the specified username and password are valid; otherwise, false.
        /// </returns>
        /// <param name="username">The name of the user to validate. </param><param name="password">The password for the specified user. </param>
        public override bool ValidateUser(string username, string password)
        {
            var currentuser = (RestaurantUser)GetUser(username, true);

            return(currentuser != null && base.ValidateUser(username, password) &&
                   RestaurantUserRepository.ValidatePasswordWithHash(password, currentuser.Password));
        }
Пример #2
0
        public static AuthenticationType GetAuthenticationTypeForRestaurantUser(int userid)
        {
            var result = (AuthenticationType)(-1);

            if (userid > 0)
            {
                var user = new RestaurantUserRepository().Find(userid);
                if (user != null)
                {
                    var restaurantuser = RestaurantUserRepository.UserBaseToRestaurantUser(user);
                    if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Guest)
                    {
                        result = AuthenticationType.Guest;
                    }
                    if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Customer && restaurantuser.FacebookDetail != null && restaurantuser.FacebookDetail.FacebookId > 0)
                    {
                        result = AuthenticationType.Facebook;
                    }
                    if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Customer && (restaurantuser.FacebookDetail == null || restaurantuser.FacebookDetail.FacebookId < 1))
                    {
                        result = AuthenticationType.Normal;
                    }
                    if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Employee || restaurantuser.UserRole == UserBase.RestaurantUserRole.Admin)
                    {
                        result = AuthenticationType.Normal;
                    }
                }
            }
            return(result);
        }
Пример #3
0
 private void OnPostAuthenticateRequest(object s, EventArgs e)
 {
     var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     if (authCookie == null) return;
     var restaurantidentity = FormsAuthenticationHelper.GetRestaurantUserIdentityFromCookie(authCookie);
     if (restaurantidentity == null) return;
     var userrole = new RestaurantUserRepository().GetRestaurantUserRole(restaurantidentity.UserId);
     HttpContext.Current.User = new GenericPrincipal(
         restaurantidentity,
         new[] { userrole.ToString() }
         );
 }
Пример #4
0
 public void SignOut()
 {
     if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.User.Identity is RestaurantUserIdentity)
     {
         var user =
             new RestaurantUserRepository().Find(
                 ((RestaurantUserIdentity)HttpContext.Current.User.Identity).UserId);
         if (user != null)
         {
             user.LoginExpiresOn = DateTimeHelper.SqlDbMinDateTime;
             new RestaurantUserRepository().Update(user);
         }
     }
     FormsAuthentication.SignOut();
 }
        /// <summary>
        /// Processes a request to update the password for a membership user.
        /// </summary>
        /// <returns>
        /// true if the password was updated successfully; otherwise, false.
        /// </returns>
        /// <param name="username">The user to update the password for. </param><param name="oldPassword">The current password for the specified user. </param><param name="newPassword">The new password for the specified user. </param>
        public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            var currentUser = (RestaurantUser)GetUser(username, true /* userIsOnline */);

            if (currentUser == null || oldPassword == null)
            {
                return(false);
            }
            var basesuccess = base.ChangePassword(username, oldPassword, newPassword) &&
                              RestaurantUserRepository.ValidatePasswordWithHash(oldPassword.Trim(), currentUser.Password);

            if (basesuccess)
            {
                currentUser.Password = newPassword;
                basesuccess          = UserRepository.Update(currentUser);
            }
            return(basesuccess);
        }
Пример #6
0
        private void OnPostAuthenticateRequest(object s, EventArgs e)
        {
            var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie == null)
            {
                return;
            }
            var restaurantidentity = FormsAuthenticationHelper.GetRestaurantUserIdentityFromCookie(authCookie);

            if (restaurantidentity == null)
            {
                return;
            }
            var userrole = new RestaurantUserRepository().GetRestaurantUserRole(restaurantidentity.UserId);

            HttpContext.Current.User = new GenericPrincipal(
                restaurantidentity,
                new[] { userrole.ToString() }
                );
        }
 public static AuthenticationType GetAuthenticationTypeForRestaurantUser(int userid)
 {
     var result = (AuthenticationType)(-1);
     if (userid > 0)
     {
         var user = new RestaurantUserRepository().Find(userid);
         if (user != null)
         {
             var restaurantuser = RestaurantUserRepository.UserBaseToRestaurantUser(user);
             if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Guest)
                 result = AuthenticationType.Guest;
             if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Customer && restaurantuser.FacebookDetail != null && restaurantuser.FacebookDetail.FacebookId > 0)
                 result = AuthenticationType.Facebook;
             if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Customer && (restaurantuser.FacebookDetail == null || restaurantuser.FacebookDetail.FacebookId < 1))
                 result = AuthenticationType.Normal;
             if (restaurantuser.UserRole == UserBase.RestaurantUserRole.Employee || restaurantuser.UserRole == UserBase.RestaurantUserRole.Admin)
                 result = AuthenticationType.Normal;
         }
     }
     return result;
 }
Пример #8
0
        public IEnumerable <RestaurantUser> GetAllUsers()
        {
            int totalrecords;
            var membershipusers = _provider.GetAllUsers(0, Int32.MaxValue, out totalrecords);
            var restaurantusers = new RestaurantUserRepository().SelectAll();
            var result          = new List <RestaurantUser>(restaurantusers.Count());

            try
            {
                foreach (var user in restaurantusers)
                {
                    var restaurantuser     = RestaurantUserRepository.UserBaseToRestaurantUser(user);
                    var membershipusername = restaurantuser.UserRole == UserBase.RestaurantUserRole.Guest
                                                 ? restaurantuser.UserGuid.ToString()
                                                 : (restaurantuser.FacebookDetail != null &&
                                                    restaurantuser.FacebookDetail.FacebookId > 0 &&
                                                    !restaurantuser.FacebookDetail.OAuthToken.IsNullOrEmpty())
                                                       ? restaurantuser.FacebookDetail.FacebookId.ToString()
                                                       : restaurantuser.EmailId;
                    var membershipuser = membershipusers[membershipusername];
                    if (membershipuser != null)
                    {
                        result.Add(new RestaurantUser(restaurantuser.UserId, restaurantuser.Name, restaurantuser.UserGuid,
                                                      restaurantuser.MobileNumber, restaurantuser.LoginExpiresOn,
                                                      restaurantuser.UserRole, restaurantuser.Address, restaurantuser.EmailId,
                                                      restaurantuser.Password, restaurantuser.FacebookDetail,
                                                      membershipuser));
                    }
                }
            }
            // ReSharper disable EmptyGeneralCatchClause
            catch
            {
                throw;
            }
            // ReSharper restore EmptyGeneralCatchClause

            return(result);
        }
        /// <summary>
        /// Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the specified user's information from the data source.
        /// </returns>
        /// <param name="username">The name of the user to get information for. </param><param name="userIsOnline">true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user. </param>
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            var restaurantresult = (RestaurantUser)null;
            var sqlresult        = (MembershipUser)null;

            if (username != null)
            {
                sqlresult = base.GetUser(username, userIsOnline);
                if (sqlresult != null && sqlresult.ProviderUserKey != null && sqlresult.ProviderUserKey is Guid)
                {
                    restaurantresult =
                        RestaurantUserRepository.UserBaseToRestaurantUser(UserRepository.Find((Guid)sqlresult.ProviderUserKey));
                }
            }

            if (restaurantresult != null)
            {
                restaurantresult = CombineResult(restaurantresult, sqlresult);
            }

            return(restaurantresult);
        }
        /// <summary>
        /// Gets user information from the data source based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"/> object populated with the specified user's information from the data source.
        /// </returns>
        /// <param name="providerUserKey">The unique identifier for the membership user to get information for.</param><param name="userIsOnline">true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.</param>
        public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
        {
            var restaurantresult = (RestaurantUser)null;
            var sqlresult        = (MembershipUser)null;

            // ReSharper disable ConditionIsAlwaysTrueOrFalse
            if (providerUserKey != null && (providerUserKey is Guid))
            // ReSharper restore ConditionIsAlwaysTrueOrFalse
            {
                sqlresult = base.GetUser(providerUserKey, userIsOnline);
                if (sqlresult != null)
                {
                    restaurantresult =
                        RestaurantUserRepository.UserBaseToRestaurantUser(UserRepository.Find((Guid)providerUserKey));
                }
            }

            if (restaurantresult != null)
            {
                restaurantresult = CombineResult(restaurantresult, sqlresult);
            }

            return(restaurantresult);
        }
Пример #11
0
 public EmployeeController()
 {
     Repository = new RestaurantUserRepository();
 }
 public CustomSqlRoleProviderWrapper()
 {
     UserRepository           = new RestaurantUserRepository();
     FacebookDetailRepository = new FacebookUserDetailRepository();
 }
 public CustomSqlRoleProviderWrapper()
 {
     UserRepository = new RestaurantUserRepository();
     FacebookDetailRepository = new FacebookUserDetailRepository();
 }
Пример #14
0
 public EmployeeController()
 {
     Repository = new RestaurantUserRepository();
 }
Пример #15
0
 public void SignOut()
 {
     if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.User.Identity is RestaurantUserIdentity)
     {
         var user =
             new RestaurantUserRepository().Find(
                 ((RestaurantUserIdentity) HttpContext.Current.User.Identity).UserId);
         if (user != null)
         {
             user.LoginExpiresOn = DateTimeHelper.SqlDbMinDateTime;
             new RestaurantUserRepository().Update(user);
         }
     }
     FormsAuthentication.SignOut();
 }
Пример #16
0
        public IEnumerable<RestaurantUser> GetAllUsers()
        {
            int totalrecords;
            var membershipusers = _provider.GetAllUsers(0, Int32.MaxValue, out totalrecords);
            var restaurantusers = new RestaurantUserRepository().SelectAll();
            var result = new List<RestaurantUser>(restaurantusers.Count());
            try
            {
                foreach (var user in restaurantusers)
                {
                    var restaurantuser = RestaurantUserRepository.UserBaseToRestaurantUser(user);
                    var membershipusername = restaurantuser.UserRole == UserBase.RestaurantUserRole.Guest
                                                 ? restaurantuser.UserGuid.ToString()
                                                 : (restaurantuser.FacebookDetail != null &&
                                                    restaurantuser.FacebookDetail.FacebookId > 0 &&
                                                    !restaurantuser.FacebookDetail.OAuthToken.IsNullOrEmpty())
                                                       ? restaurantuser.FacebookDetail.FacebookId.ToString()
                                                       : restaurantuser.EmailId;
                    var membershipuser = membershipusers[membershipusername];
                    if (membershipuser != null)
                    result.Add(new RestaurantUser(restaurantuser.UserId, restaurantuser.Name, restaurantuser.UserGuid,
                                                  restaurantuser.MobileNumber, restaurantuser.LoginExpiresOn,
                                                  restaurantuser.UserRole, restaurantuser.Address, restaurantuser.EmailId,
                                                  restaurantuser.Password, restaurantuser.FacebookDetail,
                                                  membershipuser));
                }

            }
            // ReSharper disable EmptyGeneralCatchClause
            catch
            {
                throw;
            }
            // ReSharper restore EmptyGeneralCatchClause

            return result;
        }
 public CustomSqlMembershipProviderWrapper(RestaurantUser restaurantUser)
 {
     UserRepository = new RestaurantUserRepository();
     RestaurantMembershipUser = restaurantUser;
 }
 public CustomSqlMembershipProviderWrapper()
 {
     UserRepository = new RestaurantUserRepository();
 }
 public CustomSqlMembershipProviderWrapper(RestaurantUser restaurantUser)
 {
     UserRepository           = new RestaurantUserRepository();
     RestaurantMembershipUser = restaurantUser;
 }
 public CustomSqlMembershipProviderWrapper()
 {
     UserRepository = new RestaurantUserRepository();
 }