Example #1
0
        /// <summary>
        /// Depending by the paramethers, performs certain methods and return array of users
        /// </summary>
        /// <param name="role"></param>
        /// <param name="count"></param>
        /// <param name="filter"></param>
        /// <param name="statusCode"></param>
        /// <returns></returns>
        public UserListResponse[] GetUserList(string role, int?count, string filter, out Errors statusCode)
        {
            try
            {
                GetUserListRequest getUserListRequest = new GetUserListRequest {
                    Count = count, Filter = filter
                };
                statusCode = Errors.OK;

                if (role != null)
                {
                    int roleId = (int)(GetUserListRequest.RoleId)Enum.Parse(typeof(GetUserListRequest.RoleId), role);
                    if (count > 0 && count != null)
                    {
                        var result = _dbManager.GetUserList(roleId, (int)getUserListRequest.Count, getUserListRequest.Filter);
                        return(result);
                    }
                    else
                    {
                        var result = _dbManager.GetUserListWithoutCount(roleId, getUserListRequest.Filter);
                        return(result);
                    }
                }

                if (count > 0 && count != null)
                {
                    var result = _dbManager.GetUserListWithoutRole((int)getUserListRequest.Count, getUserListRequest.Filter);
                    return(result);
                }
                else
                {
                    var result = _dbManager.GetUserListByFilter(getUserListRequest.Filter);
                    return(result);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                statusCode = Errors.DATA_BASE_ERROR;
                return(null);
            }
        }