Exemple #1
0
 public TrainingModuleModel(Module module, bool ignoreIncludeInSyllabus = false)
 {
     Module       = new ModuleModel(module, ignoreIncludeInSyllabus);
     UserCriteria = module.ModuleSections.SelectMany(x => x.Criteria.SelectMany(y => y.UserCriterias))
                    .Select(x => new UserCriterionModel(x)).ToArray();
     Users = UserCriteria.Select(x => x.User).Distinct(new UserModelComparer()).ToArray();
 }
Exemple #2
0
        public UserDetail Get(UserCriteria criteria)
        {
            var qUser = View <User>().All();

            if (criteria.IDToInt > 0)
            {
                qUser = qUser.Where(w => w.ID == criteria.IDToInt);
            }
            if (!string.IsNullOrWhiteSpace(criteria.Username))
            {
                qUser = qUser.Where(w => w.Username == criteria.Username);
            }

            var user = qUser.SingleOrDefault();

            if (user == null)
            {
                return(null);
            }

            var detail = new UserDetail();

            MapProperty(user, detail);

            return(detail);
        }
Exemple #3
0
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public List<User> Find(out int totalRecords, UserCriteria userCriteria = null, int currentRecordIndex = 0, int maxRecord = 0)
        {
            totalRecords = 0;
            List<User> resultList = null;
            IQueryable<ApplicationUser> rowList = _dbContext.Users;
            CriteriaTransformer.CompleteQuery(ref rowList, userCriteria);
            if(userCriteria.FieldSortList == null || userCriteria.FieldSortList.Count == 0)
                rowList = rowList.OrderBy(u => u.UserName);

            if (maxRecord > 0)
            {
                totalRecords = rowList.Count();
                rowList = rowList.Skip(currentRecordIndex).Take(maxRecord);
            }

            if (rowList != null && rowList.Count() > 0)
            {
                resultList = new List<User>();
                foreach (var applicationUserRow in rowList)
                {
                    resultList.Add(UserTransformer.ToBean(applicationUserRow));
                }
            }
            return resultList;
        }
Exemple #4
0
        public AuthSession GetAuthSession(UserCriteria criteria)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new UserService(uow);
                var detail  = service.Get(criteria);

                if (detail == null)
                {
                    var form = new UserForm
                    {
                        Username = criteria.Username,
                        //Location = criteria.Username,
                    };
                    var id = service.SaveChanges(form);
                    return(GetAuthSession(criteria));
                }

                var session = new AuthSession();
                session.UserID    = detail.ID;
                session.Username  = detail.Username;
                session.FirstName = detail.FirstName;
                session.LastName  = detail.LastName;
                session.Email     = detail.Email;

                criteria.ByUserID       = detail.ID;
                session.HiddenSeriesIDs = GetHiddenSeriesIDs(criteria);

                return(session);
            }
        }
Exemple #5
0
        public static AuthSession GetSession(this IPrincipal user)
        {
            var criteria = new UserCriteria();

            criteria.Username = user.Identity.IsAuthenticated ? user.Identity.GetUserName() : WebHelper.GetClientIpAddress();
            return(new UserFacade().GetAuthSession(criteria));
        }
Exemple #6
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public List <User> Find(out int totalRecords, UserCriteria userCriteria = null, int currentRecordIndex = 0, int maxRecord = 0)
        {
            totalRecords = 0;
            List <User> resultList = null;
            IQueryable <ApplicationUser> rowList = _dbContext.Users;

            CriteriaTransformer.CompleteQuery(ref rowList, userCriteria);
            if (userCriteria == null || userCriteria.FieldSortList == null || userCriteria.FieldSortList.Count == 0)
            {
                rowList = rowList.OrderBy(u => u.UserName);
            }

            if (maxRecord > 0)
            {
                totalRecords = rowList.Count();
                rowList      = rowList.Skip(currentRecordIndex).Take(maxRecord);
            }

            if (rowList != null)
            {
                foreach (var applicationUserRow in rowList)
                {
                    if (resultList == null)
                    {
                        resultList = new List <User>();
                    }
                    resultList.Add(UserTransformer.ToBean(applicationUserRow));
                }
            }
            return(resultList);
        }
Exemple #7
0
        public Response CreateUnQualifiedUser([FromBody] UserCriteria UCB)
        {
            Logger.Debug("Method called.");
            var user = UserSession.GetCurrent();

            {
                // User Securities
                Logger.Info(string.Format("Called by ({0},{1})", user.Username, user.IpsUserKey));

                // Called the SQL Query
                var taskResult = KioskCheckInService.Create_UserIsNotQualifiedUser(UCB);

                if (taskResult.Result.HasFailed)
                {
                    Logger.Error(string.Format("({0},{1}) [{2}] {3} Stack: {4}", user.Username, user.IpsUserKey, taskResult.Result.Code, taskResult.Result.Message, taskResult.Result.Stack));
                    Logger.Info("200 Success response sent with failure message.");
                    return(Response.Failure(taskResult.Result.Message));
                }

                Logger.Info("200 Success response sent.");
                return(Response.Success(taskResult.Data));
            }

            Logger.Info("401 Unauthorized response sent.");
            throw new HttpResponseException(HttpStatusCode.Unauthorized);
        }
Exemple #8
0
        public async Task <PageResultData <User> > SearchAsync(UserCriteria criteria)
        {
            var query = DbSet
                        .Include(x => x.UserRoles)
                        .ThenInclude(x => x.Role)
                        .Where(x =>
                               (
                                   string.IsNullOrEmpty(criteria.FirstName) || x.FirstName.ToLower().Contains(criteria.FirstName.ToLower())
                               )
                               &&
                               (
                                   string.IsNullOrEmpty(criteria.LastName) || x.LastName.ToLower().Contains(criteria.LastName.ToLower())
                               )
                               &&
                               (
                                   string.IsNullOrEmpty(criteria.UserName) || x.UserName.ToLower().Contains(criteria.UserName.ToLower())
                               )
                               &&
                               (
                                   string.IsNullOrEmpty(criteria.Email) || x.Email.ToLower().Contains(criteria.Email.ToLower())
                               )
                               &&
                               (
                                   string.IsNullOrEmpty(criteria.Role)
                                   ||
                                   (
                                       x.UserRoles.Any(ur => ur.Role.Name.ToLower().Equals(criteria.Role.ToLower()))
                                   )
                               )
                               )
                        .AsNoTracking();

            int totalRecord = await query.CountAsync();

            criteria.SortColumn = string.IsNullOrEmpty(criteria.SortColumn) ? string.Empty : criteria.SortColumn;
            bool isAsc = criteria.SortDirection.ToLower().Equals("asc");

            switch (criteria.SortColumn)
            {
            case "FirstName":
                query = isAsc ? query.OrderBy(t => t.FirstName) : query.OrderByDescending(t => t.FirstName);
                break;

            case "LastName":
                query = isAsc ? query.OrderBy(t => t.LastName) : query.OrderByDescending(t => t.LastName);
                break;

            case "UserName":
                query = isAsc ? query.OrderBy(t => t.UserName) : query.OrderByDescending(t => t.UserName);
                break;

            default:
                query = isAsc ? query.OrderBy(t => t.Email) : query.OrderByDescending(t => t.Email);
                break;
            }

            var returnData = await query.Skip(criteria.CurrentPage *criteria.ItemPerPage).Take(criteria.ItemPerPage).ToListAsync();

            return(new PageResultData <Entities.User>(totalRecord, returnData));
        }
        public bool EliminateUser(UserCriteria pCriteriaKey, String pCriteriaValue)
        {
            bool mBoolSuccess = false;
            String mStrSQL = "";
            String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey, pCriteriaValue);

            mStrSQL = "DELETE FROM USERS " +
                      "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " +
                                 ArrCriteria[cCRITERIAVALUE];

            try
            {
                oConnection.OpenConnection();
                oConnection.UpdateSQL(mStrSQL,null);
                mBoolSuccess = true;
                //oConnection.CloseConnection();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                oConnection.CloseConnection();
            }
            return mBoolSuccess;
        }
Exemple #10
0
        private string getFilterUser(UserCriteria userCriteria)
        {
            if (userCriteria == null)
            {
                return(string.Empty);
            }

            var qs = string.Empty;

            if (!string.IsNullOrEmpty(userCriteria.Fname))
            {
                qs += "FirstName:" + userCriteria.Fname + ";";
            }

            if (!string.IsNullOrEmpty(userCriteria.Lname))
            {
                qs += "LastName:" + userCriteria.Lname + ";";
            }

            if (!string.IsNullOrEmpty(userCriteria.PartyName))
            {
                qs += "PartyName:" + userCriteria.PartyName + ";";
            }

            if (string.IsNullOrEmpty(qs))
            {
                return(string.Empty);
            }

            return("&Filter=" + qs);
        }
        // GET: UserPreference
        public ActionResult Index(UserCriteria criteria)
        {
            criteria.ID = UserSession.UserID;

            var detail = Facade <UserFacade>().Get(criteria);

            return(View(detail));
        }
Exemple #12
0
 void init()
 {
     DisplayName            = "تعيين  دسترسی های کارتابل کاربر";
     Users                  = new PagedSortableCollectionView <UserDescriptionDTO>();
     PermittedWorkListUsers = new ObservableCollection <UserDescriptionDTO>();
     UserCriteria           = new UserCriteria();
     Users.OnRefresh       += (s, args) => getUsers(null);
 }
Exemple #13
0
        public int getTotalRecords(UserCriteria conditions)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                return(UsersDataLayer.GetInstance().GetTotalRecords(connection, conditions));
            }
        }
Exemple #14
0
        public JsonResult Users(UserCriteria criteria)
        {
            var searchModel = CreateSearchModel(criteria);

            searchModel.PagedListConfig.PageSize = 99999;
            var pagedList = Facade <SearchFacade>().Search(searchModel);

            return(Json(pagedList.Data, JsonRequestBehavior.AllowGet));
        }
Exemple #15
0
        public async Task <IActionResult> GetUsers([FromQuery] UserCriteria criteria)
        {
            if (!await _permissionService.HasGlobalPermissionAsync(Permission.Read))
            {
                return(StatusCode(403, "You have no permission to view users."));
            }

            return(Ok(await _service.GetUsersAsync(criteria)));
        }
 public ActionResult SearchUser(UserCriteria criteria)
 {
     using (var db = new Model1())
     {
         var query  = db.Users.Where(FilterUser(criteria));
         var result = query.OrderBy(t => t.Username).Select(userToModel).ToList();
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
 }
        public async Task <IActionResult> Get([FromQuery] UserCriteria criteria)
        {
            var users = await _manager.GetAsync(criteria);

            this.Response.AddPagination(
                users.CurrentPage, users.PageSize, users.TotalCount, users.TotalPages);

            return(Ok(users));
        }
Exemple #18
0
        public List <UserInfo> GetList(UserCriteria conditions)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                List <UserInfo> ListUserInfo = UsersDataLayer.GetInstance().Getlist(connection, conditions);
                return(ListUserInfo);
            }
        }
        public async Task <PageResultData <UserResponseModel> > SearchAsync(UserCriteria criteria)
        {
            const string actionName = nameof(SearchAsync);

            criteria = criteria ?? throw new ArgumentNullException(nameof(criteria));

            Logger.LogDebug(LoggingMessage.ProcessingInService, actionName, seviceName, criteria);
            var response = await _userRepository.SearchAsync(criteria);

            Logger.LogInfomation(LoggingMessage.ActionSuccessfullyWithoutModel, actionName, seviceName);

            return(_Mapper.Map <PageResultData <UserResponseModel> >(response));
        }
Exemple #20
0
        private void ApplyUserSort(ref UserCriteria userCriteria, string sortOrder)
        {
            if (userCriteria == null)
                userCriteria = new UserCriteria();

            userCriteria.FieldSortList = new List<FieldSort>();

            var sortFieldDirection = ControllerUtils.GetSortFieldDirection(sortOrder);
            if (sortFieldDirection != null && sortFieldDirection.Item2 != TFieldSort.None) // need sort value
            {
                userCriteria.FieldSortList.Add(new FieldSort() { Name = sortFieldDirection.Item1, Sort = sortFieldDirection.Item2 });
            }
        }
        public async Task <ActionResult> LoginLDAP(string returnUrl)
        {
            log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            string       DN     = "";
            var          name   = HttpContext.ApplicationInstance.Server.MachineName;

            logger.Debug("Machine name : " + name);
            //name = "ags00003";

            string ldapserver   = "LDAP://10.104.130.1:389/dc=hermes-epitek,dc=com,dc=sg";
            string ldapbasedn   = "dc=hermes-epitek,dc=com,dc=sg";
            string ldapuser     = "******";
            string ldappassword = "******";
            string ldapfilter   = "(&(objectclass=person)(uid={0}))";

            try
            {
                using (DirectoryEntry entry = new DirectoryEntry(ldapserver, ldapuser, ldappassword, AuthenticationTypes.None))
                {
                    DirectorySearcher ds = new DirectorySearcher(entry);
                    ds.Filter = string.Format(ldapfilter, name);
                    SearchResult result = ds.FindOne();
                    if (result != null)
                    {
                        var cri = new UserCriteria();
                        cri.LDAP = name;
                        var uService = new UserService();
                        var users    = uService.GetUser(cri);
                        if (users != null && users.Object != null && (users.Object as List <User_Profile>).Count() == 1)
                        {
                            var userlogin = (users.Object as List <User_Profile>).FirstOrDefault();
                            var u         = await UserManager.FindByIdAsync(userlogin.ApplicationUser_Id);

                            if (u != null)
                            {
                                await SignInAsync(u, true);

                                return(RedirectToAction("Material", "Material"));
                            }
                        }
                    }
                }
                return(RedirectToAction("ErrorPage", new { Message = "The username " + name + " not found." }));
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
                //return RedirectToAction("ErrorPage", new { Message = msg + name });
                return(RedirectToAction("Login"));
            }
        }
        public SearchResult <UserSearchModel> SearchUser(UserCriteria criteria)
        {
            var result = new SearchResult <UserSearchModel>();
            var query  = unitOfWork.UserRepository.GetAll().Include(t => t.Role)
                         .Where(FilterUser(criteria));

            result.ItemCount = query.Count();

            query = query.Sort(criteria.Sorting, new Sorting("UserName", SortDirection.Ascending));
            query = query.Page(criteria.Paging);

            result.ResultData = query.Select(userToSearchModel).ToList();
            return(result);
        }
        private Expression <Func <User, bool> > FilterUser(UserCriteria criteria)
        {
            Expression <Func <User, bool> > result = t => true;

            if (!string.IsNullOrWhiteSpace(criteria.FirstName))
            {
                result = result.And(t => SqlFunctions.PatIndex("%" + criteria.FirstName + "%", t.FirstName) > 0);
            }
            if (!string.IsNullOrWhiteSpace(criteria.LastName))
            {
                result = result.And(t => SqlFunctions.PatIndex("%" + criteria.LastName + "%", t.LastName) > 0);
            }
            return(result);
        }
        public ActionResult SearchUserMaintenance(DataSourceLoadOptions loadOptions, UserCriteria criteria)
        {
            criteria.UserID = criteria.UserID == "" ? null : criteria.UserID;
            criteria.Name   = criteria.Name == "" ? null : criteria.Name;
            criteria.Status = (criteria.StatusCri == ConstantValues.AllValue ? null : (bool?)(criteria.StatusCri == ConstantValues.STATUS_MISC_STATUS_ACTIVE ? true : false));
            List <UserMaintenanceViewModel> userList = new List <UserMaintenanceViewModel>();

            //List<UserMaintenanceViewModel> userList = this.SecurityService.GetUserMaintenance(criteria).ToModels();
            //foreach (UserMaintenanceViewModel user in userList)
            //{
            //    user.Password = CommonUtils.Decrypt(user.Password);
            //}
            return(Content(JsonConvert.SerializeObject(DataSourceLoader.Load(userList, loadOptions)), ConstantValues.JSON_CONTENT_TYPE));
        }
Exemple #25
0
 void init()
 {
     UserCriteria = new UserCriteria();
     Users        = new PagedSortableCollectionView <UserDTOWithActions> {
         PageSize = 20
     };
     Users.OnRefresh += (s, args) => refresh();
     UserCommands     = new List <DataGridCommandViewModel>
     {
         CommandHelper.GetControlCommands(this, appController, new List <int> {
             (int)ActionType.AddUser
         }).FirstOrDefault()
     };
 }
Exemple #26
0
        public List<User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0)
        {
            var userList = _userModule.Find(out totalRecords, userCriteria, currentRecordIndex, maxRecord);

            if(userList != null && manageRole)
            {
                foreach(var user in userList)
                {
                    if(user != null && manageRole)
                        CompleteUserRole(user);
                }
            }

            return userList;
        }
Exemple #27
0
        public UserCriteria GetCriteria()
        {
            UserCriteria criteria = new UserCriteria();

            criteria.UserName            = ctlUserId.Text;
            criteria.EmployeeName        = ctlName.Text;
            criteria.IsFavoriteApprover  = ctlSearchFavoriteApprover.Checked;
            criteria.IsFavoriteInitiator = ctlSearchFavoriteInitiator.Checked;
            criteria.IsApprovalFlag      = ctlApprovalFlag.Checked;
            criteria.RequesterID         = RequesterID;
            criteria.UserIdNOTIN         = UserIdNotIn;
            criteria.EmployeeCode        = ctlEmployeeCode.Text;

            return(criteria);
        }
        public UserCriteria GetCriteria()
        {
            UserCriteria criteria = new UserCriteria();

            if (!string.IsNullOrEmpty(ctlUserId.Text))
            {
                criteria.UserName = ctlUserId.Text;
            }

            criteria.Name         = ctlName.Text;
            criteria.CompanyName  = ctlCompany.Text;
            criteria.DivisionName = ctlDivision.Text;
            //criteria.Email = email.text;

            return(criteria);
        }
Exemple #29
0
        public UserDetail Get(UserCriteria criteria)
        {
            using (var uow = UnitOfWorkFactory.Create <NovelContext>())
            {
                var service = new UserService(uow);
                var detail  = service.Get(criteria);

                detail.Preferences = service.View <UserPreference>().Where(w => w.UserID == detail.ID).ToList();

                detail.HideSeriesIDs = GetHiddenSeriesIDs(criteria);



                return(detail);
            }
        }
Exemple #30
0
        public UserCriteria GetCriteria()
        {
            UserCriteria criteria = new UserCriteria();

            if (!this.DesignMode)
            {
                if (!string.IsNullOrEmpty(ctlUserId.Text))
                {
                    criteria.UserId = UIHelper.ParseLong(ctlUserId.Text);
                }
                criteria.Name        = ctlName.Text.Trim().Length < 0 ? string.Empty : ctlName.Text.Trim();
                criteria.CompanyName = ctlCompanyName.Text.Trim().Length < 0 ? string.Empty : ctlCompanyName.Text.Trim();
                criteria.Email       = ctlEmail.Text.Trim().Length < 0 ? string.Empty : ctlEmail.Text.Trim();
                criteria.UserIdNOTIN = UserIdNotIn.Trim().Length < 0 ? string.Empty : UserIdNotIn;
            }
            return(criteria);
        }
Exemple #31
0
        public List <User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0)
        {
            var userList = _userModule.Find(out totalRecords, userCriteria, currentRecordIndex, maxRecord);

            if (userList != null && manageRole)
            {
                foreach (var user in userList)
                {
                    if (user != null && manageRole)
                    {
                        CompleteUserRole(user);
                    }
                }
            }

            return(userList);
        }
Exemple #32
0
        public ListResponeMessage <UserInfo> GetList([FromQuery] UserCriteria criteria)
        {
            ListResponeMessage <UserInfo> ret = new ListResponeMessage <UserInfo>();

            try
            {
                ret.isSuccess    = true;
                ret.data         = UserService.GetInstance().GetList(criteria);
                ret.totalRecords = UserService.GetInstance().getTotalRecords(criteria);
            }
            catch (Exception ex)
            {
                ret.isSuccess     = false;
                ret.err.msgCode   = "005";
                ret.err.msgString = ex.ToString();
            }
            return(ret);
        }
        public async Task <List <UserRow> > FindAllAsync(UserCriteria userCriteria)
        {
            var repository = await GetRepositoryAsync();

            var query = repository.AsQueryable();

            if (!string.IsNullOrWhiteSpace(userCriteria.Login))
            {
                query = query.Where(u => u.Login.ToLowerInvariant() == userCriteria.Login.ToLowerInvariant());
            }

            if (!string.IsNullOrWhiteSpace(userCriteria.Email))
            {
                query = query.Where(u => u.Email.ToLowerInvariant() == userCriteria.Email.ToLowerInvariant());
            }

            return(query.ToList());
        }
Exemple #34
0
        /// <summary>
        /// Aply sort on user criteria search
        /// </summary>
        /// <param name="userCriteria">user search criteria</param>
        /// <param name="sortOrder">order type</param>
        private void ApplyUserSort(ref UserCriteria userCriteria, string sortOrder)
        {
            if (userCriteria == null)
            {
                userCriteria = new UserCriteria();
            }

            userCriteria.FieldSortList = new List <FieldSort>();

            var sortFieldDirection = ControllerUtils.GetSortFieldDirection(sortOrder);

            if (sortFieldDirection != null && sortFieldDirection.Item2 != TFieldSort.None) // need sort value
            {
                userCriteria.FieldSortList.Add(new FieldSort()
                {
                    Name = sortFieldDirection.Item1, Sort = sortFieldDirection.Item2
                });
            }
        }
Exemple #35
0
    public void removeSSAEktronMember(string UserPIN)
    {
        try
        {
            UserManager Usermanager = new UserManager();
            UserCriteria criteria = new UserCriteria(UserProperty.UserName, EkEnumeration.OrderByDirection.Ascending);

            criteria.AddFilter(UserProperty.UserName, CriteriaFilterOperator.EqualTo, UserPIN);

            List<UserData> UserList = Usermanager.GetList(criteria);
            long EktronUserID = UserList[0].Id;

            if (Ektron.Cms.Framework.Context.UserContextService.Current.IsLoggedIn)
            {
                Usermanager.Delete(EktronUserID);
                // add user to group MSBA Members
                //UserGroupManager UserGroupmanager = new UserGroupManager();
                //Add a User  to a UserGroup
                // UserGroupmanager.DeleteUser(1, newUserdata.Id);
            }
        }
        catch { }
    }
Exemple #36
0
 public List<User> FindUsers(out int totalRecords, UserCriteria userCriteria = null, bool manageRole = true, int currentRecordIndex = 0, int maxRecord = 0)
 {
     return GetUserManager().FindUsers(out totalRecords, userCriteria, manageRole, currentRecordIndex, maxRecord);
 }
        public String[,] ListUsersByCriteria(UserCriteria pCriteriaKey, String pCriteriaValue)
        {
            String[,] ArrUsers;
            String[] ArrCriteria = GetDBFieldByCriteria(pCriteriaKey,pCriteriaValue);
            String mStrSQL = "";

            mStrSQL = "SELECT ID, FIRSTNAME, LASTNAME, ROLEID, R, W, E, S " +
                      "FROM USERS " +
                      "WHERE " + ArrCriteria[cCRITERIAKEY] + " = " +
                                 ArrCriteria[cCRITERIAVALUE];
            try
            {
                oConnection.OpenConnection();
                ArrUsers = oConnection.QuerySQLResultFlatArray(mStrSQL);
                oConnection.CloseConnection();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                oConnection.CloseConnection();
            }
            return ArrUsers;
        }
 private String[] GetDBFieldByCriteria(UserCriteria pCriteriaKey, String pCriteriaValue)
 {
     String[] ArrCriteriaField = new String[2];
     switch (pCriteriaKey) {
         case UserCriteria.cID : ArrCriteriaField[cCRITERIAKEY] = "ID";
                                 ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                 break;
         case UserCriteria.cFIRSTNAME : ArrCriteriaField[cCRITERIAKEY] = "FIRSTNAME";
                                        ArrCriteriaField[cCRITERIAVALUE] = "'"+pCriteriaValue+"'";
                                        break;
         case UserCriteria.cLASTNAME : ArrCriteriaField[cCRITERIAKEY] = "LASTNAME";
                                       ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'";
                                        break;
         case UserCriteria.cROLEDESCRIPTION: ArrCriteriaField[cCRITERIAKEY] = "ROLEDESCRIPTION";
                                        ArrCriteriaField[cCRITERIAVALUE] = "'" + pCriteriaValue + "'";
                                        break;
         case UserCriteria.cREAD: ArrCriteriaField[cCRITERIAKEY] = "R";
                                    ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                        break;
         case UserCriteria.cWRITE: ArrCriteriaField[cCRITERIAKEY] = "W";
                                        ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                        break;
         case UserCriteria.cEDIT: ArrCriteriaField[cCRITERIAKEY] = "E";
                                        ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                        break;
         case UserCriteria.cSEARCH: ArrCriteriaField[cCRITERIAKEY] = "S";
                                        ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                        break;
         default: ArrCriteriaField[cCRITERIAKEY] = "";
                  ArrCriteriaField[cCRITERIAVALUE] = pCriteriaValue;
                                        break;
     }
     return ArrCriteriaField;
 }
Exemple #39
0
        public async Task<IActionResult> Index(SearchUserViewModel searchUserViewModel = null, int currentPage = 1, string sortOrder = null)
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.SortPossibilities = new Dictionary<string, string>()
            {
                {"id", "asc"},
                {"username", "asc"},
                {"email", "asc"},
                {"registrationdate", "asc"},
                {"lastlogindate", "asc"}
            };
            ControllerUtils.ManageSortingPossibilities(ViewBag.SortPossibilities, sortOrder);

            if (searchUserViewModel == null)
                searchUserViewModel = new SearchUserViewModel();

            if (currentPage < 1 || currentPage > 999)
            {
                return View(searchUserViewModel);
            }
            UserViewModel userViewModel;
            const int pageSize = 10;
            int currentRecordIndex = (currentPage - 1) * pageSize;
            var userViewModels = new List<UserViewModel>();

            UserCriteria userCriteria = null;
            if (!string.IsNullOrWhiteSpace(searchUserViewModel.UserId))
            {
                if(userCriteria == null)
                    userCriteria = new UserCriteria();
                userCriteria.Id = new StringCriteria();
                userCriteria.Id.StartsWithList = new List<string>() { searchUserViewModel.UserId };
            }
            if (!string.IsNullOrWhiteSpace(searchUserViewModel.UserName))
            {
                if (userCriteria == null)
                    userCriteria = new UserCriteria();
                userCriteria.UserName = new StringCriteria();
                userCriteria.UserName.StartsWithList = new List<string>() { searchUserViewModel.UserName };
            }

            ApplyUserSort(ref userCriteria, sortOrder);

            int totalRecords;
            var users = _usersService.FindUsers(out totalRecords, userCriteria, true, currentRecordIndex, pageSize);
            if (users != null)
            {
                ApplicationUser appUser;
                bool emailConfirmed;
                foreach (var user in users)
                {
                    appUser = await _identityUserManager.FindByIdAsync(user.Id);
                    emailConfirmed = appUser != null && appUser.EmailConfirmed;

                    userViewModel = new UserViewModel()
                    {
                        Id = user.Id,
                        Name = user.Name,
                        Email = user.Email,
                        RegistrationDate = user.RegistrationDate,
                        LastLoginDate = user.LastLoginDate,
                        Suspended = user.Suspended,
                        EmailConfirmed = emailConfirmed
                    };
                    if (user.Role != null)
                    {
                        userViewModel.RoleId = user.Role.Id;
                        userViewModel.RoleName = user.Role.Name;
                    }
                    userViewModels.Add(userViewModel);
                }
            }

            ViewBag.Users = userViewModels;
            ViewBag.CurrentPage = currentPage;
            ViewBag.PageSize = pageSize;
            ViewBag.TotalRecords = totalRecords;

            //Security
            if (currentRecordIndex > totalRecords)
            {
                ViewBag.CurrentPage = 1;
            }

            return View(searchUserViewModel);
        }