Example #1
0
        // 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));
        }
Example #2
0
        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));
        }
Example #5
0
        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));
        }