// GET: Users public ActionResult Index(string name, int page = 1) { //return View(db.users.ToList()); UsersIndexVM model = new UsersIndexVM { name = name, page = page }; try { IEnumerable <ListUsers> list = _repo.UserList(model.name); model.list = list.OrderBy(o => o.name).Skip((page - 1) * _pageSize).Take(_pageSize); model.pagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = _pageSize, TotalItems = list.Count() }; } catch (Exception ex) { ModelState.AddModelError("", "Se produjo un error, en caso de persistir, ponerse en contacto con el Administrador."); //log.Error($"Index - {ex.Message}", ex); } // ViewBagIndex(model.service_id); return(View(model)); }
public ActionResult UserList() { var users = DbContext.UserChecks.Where(x => x.IsDeleted != true).ToList(); var model = new UsersIndexVM { UserChecks = users, }; return(View(model)); }
public ActionResult Index(UsersIndexVM model) { if (AuthenticationManager.LoggedUser == null) { return(RedirectToAction("Login", "Home")); } model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.Filter = model.Filter ?? new UsersFilterVM(); bool emptyUsername = string.IsNullOrWhiteSpace(model.Filter.Username); bool emptyFirstName = string.IsNullOrWhiteSpace(model.Filter.FirstName); bool emptyLastName = string.IsNullOrWhiteSpace(model.Filter.LastName); bool emptyRoleName = string.IsNullOrWhiteSpace(model.Filter.RoleName); IQueryable <User> query = this._userRepository.GetAll(u => (emptyUsername || u.Username.Contains(model.Filter.Username)) && (emptyFirstName || u.FirstName.Contains(model.Filter.FirstName)) && (emptyLastName || u.LastName.Contains(model.Filter.LastName)) && (emptyRoleName || u.Role.Name.Contains(model.Filter.RoleName))); model.Pager.PagesCount = (int)Math.Ceiling(query.Count() / (double)model.Pager.ItemsPerPage); query = query.OrderBy(u => u.Id).Skip((model.Pager.Page - 1) * model.Pager.ItemsPerPage).Take(model.Pager.ItemsPerPage); model.Items = query.Select(u => new UsersVM { Id = u.Id, Username = u.Username, FirstName = u.FirstName, LastName = u.LastName, RoleName = u.Role.Name }).ToList(); return(View(model)); }
public ActionResult AdminIndex(UsersIndexVM model) { // if (HotelReservationsManager.Models.AuthenticationManager.LoggedUser == null) // return RedirectToAction("Login", "Home"); model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.Filter = model.Filter ?? new UsersFilter(); bool emptyUsername = string.IsNullOrWhiteSpace(model.Filter.Username); bool emptyForeName = string.IsNullOrWhiteSpace(model.Filter.FirstName); bool emptyLastName = string.IsNullOrWhiteSpace(model.Filter.LastName); bool emptyEmailName = string.IsNullOrWhiteSpace(model.Filter.Email); IQueryable <User> query = this._userRepository.GetAll(u => (emptyUsername || u.UserName.Contains(model.Filter.Username)) && (emptyForeName || u.Forename.Contains(model.Filter.FirstName)) && (emptyLastName || u.SurName.Contains(model.Filter.LastName)) && (emptyEmailName || u.Email.Contains(model.Filter.Email))); model.Pager.PagesCount = (int)Math.Ceiling(query.Count() / (double)model.Pager.ItemsPerPage); query = query.OrderBy(u => u.Id).Skip((model.Pager.Page - 1) * model.Pager.ItemsPerPage).Take(model.Pager.ItemsPerPage); model.Items = query.Select(u => new UsersVM { Id = u.Id, Username = u.UserName, FirstName = u.Forename, LastName = u.SurName, Email = u.Email, IsActive = u.IsActiveAccount }).ToList(); return(View(model)); }
public ActionResult Index(string sortOrder) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); UsersRepository usersRepository = new UsersRepository(context); UsersIndexVM model = new UsersIndexVM(); this.TryUpdateModel(model); model.UsersPager = model.UsersPager ?? new GenericPagerVM(); model.UsersPager.CurrentPage = model.UsersPager.CurrentPage == 0 ? 1 : model.UsersPager.CurrentPage; model.UsersPager.Action = "Index"; model.UsersPager.Controller = "Users"; model.UsersPager.Prefix = "UsersPager"; model.UsersPager.CurrentParameters = new Dictionary <string, object>() { { "PersonaNumber", model.PersonalNumber }, { "CustomerName", model.UserName }, { "Email", model.Email }, { "Address", model.Address }, { "RoleName", model.RoleName }, { "BirthdayStartDate", model.BirthdayStartDate }, { "BirthdayEndDate", model.BirthdayEndDate }, { "DateInStartDate", model.DateInStartDate }, { "DateInEndDate", model.DateInEndDate }, { "DateOutStartDate", model.DateOutStartDate }, { "DateOutEndDate", model.DateOutEndDate }, { "UsersPager.CurrentPage", model.UsersPager.CurrentPage } }; #region Soring and Filtering Expression <Func <User, bool> > filter = u => (model.PersonalNumber == default(int) || u.PersonalNumber == model.PersonalNumber) && (string.IsNullOrEmpty(model.UserName) || (u.FirstName.Contains(model.UserName) || u.LastName.Contains(model.UserName))) && (string.IsNullOrEmpty(model.Email) || u.Email.Contains(model.Email)) && (string.IsNullOrEmpty(model.Address) || u.Address.Contains(model.Address)) && (string.IsNullOrEmpty(model.RoleName) || u.Roles.Any(r => r.Name.Contains(model.RoleName))) && (model.BirthdayStartDate == default(DateTime) || (u.Birthday == model.BirthdayStartDate || (u.Birthday >= model.BirthdayStartDate && u.Birthday <= model.BirthdayEndDate))) && (model.DateInStartDate == default(DateTime) || (u.DateIn == model.DateInStartDate || (u.DateIn >= model.DateInStartDate && u.Birthday <= model.DateInEndDate))) && (model.DateOutStartDate == default(DateTime) || (u.DateOut == model.DateOutStartDate || (u.DateOut >= model.DateOutStartDate && u.Birthday <= model.DateOutEndDate))); model.UsersPager.PagesCount = GetPagesCount(filter); ViewBag.NameSortParam = string.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.RolesSortParam = sortOrder == "Roles" ? "roles_desc" : "Roles"; ViewBag.PersonalNumberSortParam = sortOrder == "PersonalNumber" ? "personalNumber_desc" : "PersonalNumber"; ViewBag.EmailSortParam = sortOrder == "Email" ? "email_desc" : "Email"; ViewBag.AddressSortParam = sortOrder == "Address" ? "address_desc" : "Address"; ViewBag.BirthdaySortParam = sortOrder == "Birthday" ? "birthday_desc" : "Birthday"; ViewBag.DateInSortParam = sortOrder == "DateIn" ? "dateIn_desc" : "DateIn"; ViewBag.DateOutSortParam = sortOrder == "DateOut" ? "dateOut_desc" : "DateOut"; switch (sortOrder) { case "name_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.FirstName)); break; case "Roles": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.Roles.FirstOrDefault().Name)); break; case "roles_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.Roles.FirstOrDefault().Name)); break; case "PersonalNumber": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.PersonalNumber)); break; case "personalNumber_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.PersonalNumber)); break; case "Email": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.Email)); break; case "email_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.Email)); break; case "Address": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.Address)); break; case "address_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.Address)); break; case "Birthday": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.Birthday)); break; case "birthday_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.Birthday)); break; case "DateIn": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.DateIn)); break; case "dateIn_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.DateIn)); break; case "DateOut": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.DateOut)); break; case "dateOut_desc": model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderByDescending(c => c.DateOut)); break; default: model.UsersList = usersRepository .GetAll(model.UsersPager.CurrentPage, ApplicationConfiguration.ItemsPerPage, filter, order: x => x.OrderBy(c => c.FirstName)); break; } #endregion return(View(model)); }