Ejemplo n.º 1
0
        public Task <TUser> FindByNameAsync(string userName)
        {
            try
            {
                if (string.IsNullOrEmpty(userName))
                {
                    throw new ArgumentException("Null or empty argument: userName");
                }

                var userEntities  = _userIdentityRepository.GetUserByName(userName, _connectionFactory);
                var identityUsers = Mapper.Map <List <UserIdentityEntity>, List <IdentityUserModel> >(userEntities);

                // Should I throw if > 1 user?
                if (identityUsers != null && identityUsers.Count == 1)
                {
                    TUser result = Mapper.Map <IdentityUserModel, TUser>(identityUsers[0]);
                    return(Task.FromResult <TUser>(result));
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <TUser>(null));
            }

            return(Task.FromResult <TUser>(null));
        }
Ejemplo n.º 2
0
        protected override void OnException(ExceptionContext filterContext)
        {
            Exception exception = filterContext.Exception;

            DemLogger.Current.Error(exception, $"{nameof(ManageController)}. Error was caught in {DemLogger.GetCallerInfo()}");
        }
Ejemplo n.º 3
0
        public List <TopicTableViewModel> GetTopicTableViewModelsByForumId(int forumId, int onPage, int?page)
        {
            var topicTableViewModels = new List <TopicTableViewModel>();

            try
            {
                List <TopicsViewEntity> topicViewEntities = _topicRepository.GetTopicsByForumId(forumId, _connectionFactory, onPage, page);
                topicTableViewModels = Mapper.Map <List <TopicsViewEntity>, List <TopicTableViewModel> >(topicViewEntities);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(TopicReadService)}. Error in function {DemLogger.GetCallerInfo()}");
            }
            return(topicTableViewModels.OrderByDescending(x => x.LastPostTime).ToList());
        }
Ejemplo n.º 4
0
 public Task <bool> GetLockoutEnabledAsync(TUser user)
 {
     try
     {
         return(Task.FromResult(user.LockoutEnabled));
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         return(Task.FromResult <bool>(false));
     }
 }
Ejemplo n.º 5
0
        public Task <TUser> FindByIdAsync(int userId)
        {
            try
            {
                //if (string.IsNullOrEmpty(userId))
                //{
                //    throw new ArgumentException("Null or empty argument: userId");
                //}

                var userEntity   = _userIdentityRepository.GetUserById(userId, _connectionFactory);
                var identityUser = Mapper.Map <UserIdentityEntity, IdentityUserModel>(userEntity);

                if (identityUser != null)
                {
                    TUser result = Mapper.Map <IdentityUserModel, TUser>(identityUser);
                    return(Task.FromResult <TUser>(result));
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <TUser>(null));
            }
            return(Task.FromResult <TUser>(null));
        }
Ejemplo n.º 6
0
        public Task CreateAsync(TUser user)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                user.UserRegDate = DateTime.Now;

                var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                var id         = _userIdentityRepository.Insert(userEntity, _connectionFactory);
                user.Id = id;
                if (id != 0)
                {
                    AddToRoleAsync(user, "REGISTERED");
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <object>(null));
            }
            return(Task.FromResult <object>(null));
        }
Ejemplo n.º 7
0
        public Task ResetAccessFailedCountAsync(TUser user)
        {
            try
            {
                user.AccessFailedCount = 0;

                var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                _userIdentityRepository.Update(userEntity, _connectionFactory);

                return(Task.FromResult(0));
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult(0));
            }
        }
Ejemplo n.º 8
0
        public Task AddToRoleAsync(TUser user, string groupName)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                if (string.IsNullOrEmpty(groupName))
                {
                    throw new ArgumentException("Argument cannot be null or empty: group.");
                }

                int groupId = _groupIdentityRepository.GetGroupId(groupName, _connectionFactory);
                if (groupId > 0)
                {
                    var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                    _userGroupsIdentityRepository.Insert(userEntity, groupId, _connectionFactory);
                }
                //if (!string.IsNullOrEmpty(groupId))
                //{
                //    _userGroupsIdentityRepository.Insert(user, groupId);
                //}
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <object>(null));
            }

            return(Task.FromResult <object>(null));
        }
Ejemplo n.º 9
0
        public Task <IList <string> > GetRolesAsync(TUser user)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                List <string> groups = _userGroupsIdentityRepository.FindByUserId(user.Id, _connectionFactory);
                {
                    if (groups != null)
                    {
                        return(Task.FromResult <IList <string> >(groups));
                    }
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <IList <string> >(null));
            }

            return(Task.FromResult <IList <string> >(null));
        }
Ejemplo n.º 10
0
        public Task <IList <UserLoginInfo> > GetLoginsAsync(TUser user)
        {
            try
            {
                //List<UserLoginInfo> userLogins = new List<UserLoginInfo>();
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                var loginEntities           = _userLoginsIdentityRepository.FindByUserId(user.Id, _connectionFactory);
                List <UserLoginInfo> logins = Mapper.Map <List <UserLoginInfoIdentityEntity>, List <UserLoginInfo> >(loginEntities);

                if (logins != null)
                {
                    return(Task.FromResult <IList <UserLoginInfo> >(logins));
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <IList <UserLoginInfo> >(null));
            }
            return(Task.FromResult <IList <UserLoginInfo> >(null));
        }
Ejemplo n.º 11
0
        public Task RemoveLoginAsync(TUser user, UserLoginInfo login)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                if (login == null)
                {
                    throw new ArgumentNullException(nameof(login));
                }

                var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                _userLoginsIdentityRepository.Delete(userEntity, login, _connectionFactory);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <object>(null));
            }

            return(Task.FromResult <object>(null));
        }
Ejemplo n.º 12
0
        public Task <TUser> FindAsync(UserLoginInfo login)
        {
            try
            {
                if (login == null)
                {
                    throw new ArgumentNullException(nameof(login));
                }

                var userId = _userLoginsIdentityRepository.FindUserIdByLogin(login, _connectionFactory);
                if (userId > 0)
                {
                    var userEntity   = _userIdentityRepository.GetUserById(userId, _connectionFactory);
                    var identityUser = Mapper.Map <UserIdentityEntity, IdentityUserModel>(userEntity);

                    if (identityUser != null)
                    {
                        TUser result = Mapper.Map <IdentityUserModel, TUser>(identityUser);
                        return(Task.FromResult <TUser>(result));
                    }
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <TUser>(null));
            }
            return(Task.FromResult <TUser>(null));
        }
Ejemplo n.º 13
0
        public Task <IList <Claim> > GetClaimsAsync(TUser user)
        {
            try
            {
                ClaimsIdentity identity = _userClaimsIdentityRepository.FindByUserId(user.Id, _connectionFactory);

                return(Task.FromResult <IList <Claim> >(identity.Claims.ToList()));
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <IList <Claim> >(null));
            }
        }
Ejemplo n.º 14
0
        public Task AddClaimAsync(TUser user, Claim claim)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                if (claim == null)
                {
                    throw new ArgumentNullException(nameof(claim));
                }

                _userClaimsIdentityRepository.Insert(claim, user.Id, _connectionFactory);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <object>(null));
            }

            return(Task.FromResult <object>(null));
        }
Ejemplo n.º 15
0
        public Task <TUser> FindByEmailAsync(string email)
        {
            try
            {
                if (String.IsNullOrEmpty(email))
                {
                    throw new ArgumentNullException(nameof(email));
                }

                var userEntity   = _userIdentityRepository.GetUserByEmail(email, _connectionFactory);
                var identityUser = Mapper.Map <UserIdentityEntity, IdentityUserModel>(userEntity);

                if (identityUser != null)
                {
                    TUser result = Mapper.Map <IdentityUserModel, TUser>(identityUser);
                    return(Task.FromResult <TUser>(result));
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <TUser>(null));
            }
            return(Task.FromResult <TUser>(null));
        }
Ejemplo n.º 16
0
        public Task <bool> IsInRoleAsync(TUser user, string group)
        {
            try
            {
                if (user == null)
                {
                    throw new ArgumentNullException(nameof(user));
                }

                if (string.IsNullOrEmpty(group))
                {
                    throw new ArgumentNullException(nameof(group));
                }

                List <string> groups = _userGroupsIdentityRepository.FindByUserId(user.Id, _connectionFactory);
                {
                    if (groups != null && groups.Contains(group))
                    {
                        return(Task.FromResult <bool>(true));
                    }
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <bool>(false));
            }

            return(Task.FromResult <bool>(false));
        }
Ejemplo n.º 17
0
 public Task <string> GetPhoneNumberAsync(TUser user)
 {
     try
     {
         return(Task.FromResult(user.PhoneNumber));
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         return(Task.FromResult <string>(null));
     }
 }
Ejemplo n.º 18
0
 public Task RemoveFromRoleAsync(TUser user, string group)
 {
     try
     {
         throw new NotImplementedException();
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         throw;
     }
 }
Ejemplo n.º 19
0
 public Task <DateTimeOffset> GetLockoutEndDateAsync(TUser user)
 {
     try
     {
         return
             (Task.FromResult(user.LockoutEndDateUtc.HasValue
             ? new DateTimeOffset(DateTime.SpecifyKind(user.LockoutEndDateUtc.Value, DateTimeKind.Utc))
             : new DateTimeOffset()));
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         return(Task.FromResult <DateTimeOffset>(new DateTimeOffset()));
     }
 }
Ejemplo n.º 20
0
        public Task DeleteAsync(TUser user)
        {
            try
            {
                if (user != null)
                {
                    var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                    _userIdentityRepository.Delete(userEntity, _connectionFactory);
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <object>(null));
            }

            return(Task.FromResult <object>(null));
        }
Ejemplo n.º 21
0
 public Task <int> GetAccessFailedCountAsync(TUser user)
 {
     try
     {
         return(Task.FromResult(user.AccessFailedCount));
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         return(Task.FromResult(0));
     }
 }
Ejemplo n.º 22
0
 public Task <string> GetPasswordHashAsync(TUser user)
 {
     try
     {
         string passwordHash = _userIdentityRepository.GetPasswordHash(user.Id, _connectionFactory);
         return(Task.FromResult <string>(passwordHash));
     }
     catch (Exception exception)
     {
         DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
         return(Task.FromResult <string>(null));
     }
 }
Ejemplo n.º 23
0
        public Task SetLockoutEnabledAsync(TUser user, bool enabled)
        {
            try
            {
                user.LockoutEnabled = enabled;

                var userEntity = Mapper.Map <IdentityUserModel, UserIdentityEntity>(user);
                _userIdentityRepository.Update(userEntity, _connectionFactory);

                return(Task.FromResult(0));
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult(0));
            }
        }
Ejemplo n.º 24
0
        public Task <bool> HasPasswordAsync(TUser user)
        {
            try
            {
                var hasPassword = !string.IsNullOrEmpty(_userIdentityRepository.GetPasswordHash(user.Id, _connectionFactory));

                return(Task.FromResult <bool>(Boolean.Parse(hasPassword.ToString())));//todo review
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <bool>(false));
            }
        }
Ejemplo n.º 25
0
        private List <ConfigModel> GetAllConfigModels()
        {
            var configModels = new List <ConfigModel>();

            try
            {
                List <ConfigEntity> configEntities = _configRepository.GetAllConfigs(_connectionFactory);
                configModels = Mapper.Map <List <ConfigEntity>, List <ConfigModel> >(configEntities);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(ConfigReadService)}. Error in function {DemLogger.GetCallerInfo()}");
            }
            return(configModels);
        }
Ejemplo n.º 26
0
        public Task SetPasswordHashAsync(TUser user, string passwordHash)
        {
            try
            {
                user.PasswordHash = passwordHash;

                return(Task.FromResult <Object>(null));
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult <Object>(null));
            }
        }
        public bool UserHasPermissionByTopicId(int userId, int topicId, List <string> permissionsNameList)
        {
            bool result = false;

            try
            {
                var forumId = _forumRepository.GetForumIdByTopicId(topicId, _connectionFactory);

                var permissions       = _permissionRepository.GetSeveralPermissionsByUserId(permissionsNameList, userId, _connectionFactory);
                var permissoionModels = Mapper.Map <List <IdentityPermissionEntity>, List <IdentityPermissionModel> >(permissions);
                result = CalulateUserPermissionsForForumId(forumId, permissoionModels);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(PermissionsReadService)}. Error in function {DemLogger.GetCallerInfo()}");
            }
            return(result);
        }
Ejemplo n.º 28
0
        public Task SetSecurityStampAsync(TUser user, string stamp)
        {
            try
            {
                user.SecurityStamp = stamp;

                return(Task.FromResult(0));
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(UserIdentityService<TUser>)}. Error in function {DemLogger.GetCallerInfo()}");
                return(Task.FromResult(0));
            }
        }
Ejemplo n.º 29
0
        public TopicInfoViewModel GetTopicInfoViewModelById(int topicId)
        {
            var topicShowViewModel = new TopicInfoViewModel();

            try
            {
                TopicsViewEntity topicViewEntity = _topicRepository.GetTopicById(topicId, _connectionFactory);
                topicShowViewModel = Mapper.Map <TopicsViewEntity, TopicInfoViewModel>(topicViewEntity);
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(TopicReadService)}. Error in function {DemLogger.GetCallerInfo()}");
            }
            return(topicShowViewModel);
        }
Ejemplo n.º 30
0
        public List <PollViewModel> GetPollViewModelWithOptionsByTopicId(int topicId)
        {
            var pollViewModels        = new List <PollViewModel>();
            var pollOptionsViewModels = new List <PollOptionViewModel>();

            try
            {
                var pollEntities       = _pollRepository.GetPollsByTopicId(topicId, _connectionFactory);
                var pollOptionEntities = _pollOptionRepository.GetPollOptionsByPollsId(pollEntities.Select(x => x.PollId).ToList(), _connectionFactory);

                pollViewModels        = Mapper.Map <List <PollEntity>, List <PollViewModel> >(pollEntities);
                pollOptionsViewModels = Mapper.Map <List <PollOptionEntity>, List <PollOptionViewModel> >(pollOptionEntities);

                foreach (var pollViewModel in pollViewModels)
                {
                    var pollsOptionViewModels = pollOptionsViewModels.Where(x => x.PollId == pollViewModel.PollId).OrderBy(x => x.PollOptionId).ToList();
                    pollsOptionViewModels        = CalculatePollOptionTotalPercent(pollsOptionViewModels);
                    pollViewModel.PollOptionList = pollsOptionViewModels;
                }
            }
            catch (Exception exception)
            {
                DemLogger.Current.Error(exception, $"{nameof(PollReadService)}. Error in function {DemLogger.GetCallerInfo()}");
            }
            return(pollViewModels);
        }