Esempio n. 1
0
        public List <AppUser> SearchUsers(UserSC search)
        {
            var result = new List <AppUser>();

            try
            {
                var query = Context.AppUser
                            .Where(u => u.IsDeleted != true && u.IsSysAdmin != true)
                            .Include(u => u.JobTitle)
                            .Include(u => u.Department)
                            .AsQueryable();

                query = query.Where(u => u.Department.IsActive == true);
                if (search != null)
                {
                    if (!string.IsNullOrWhiteSpace(search.Name))
                    {
                        query = query.Where(u => u.FullName != null && u.FullName.Contains(search.Name));
                    }
                    if (!string.IsNullOrWhiteSpace(search.Email))
                    {
                        query = query.Where(u => u.Email != null && u.Email.Contains(search.Email));
                    }
                    if (!string.IsNullOrWhiteSpace(search.PhoneNumber))
                    {
                        query = query.Where(u => u.PhoneNumber != null && u.PhoneNumber.Contains(search.PhoneNumber));
                    }
                    if (search.Role?.Count > 0 && !search.Role.Contains(0))
                    {
                        query = query.Where(u => u.LnkUserRole.Any(lnk => search.Role.Contains(lnk.RoleId)));
                    }
                    if (search.JobTitle?.Count > 0 && !search.JobTitle.Contains(0))
                    {
                        query = query.Where(u => search.JobTitle.Contains(u.JobTitleId.GetValueOrDefault()));
                    }
                    if (search.Department?.Count > 0 && !search.Department.Contains(0))
                    {
                        query = query.Where(u => search.Department.Contains(u.DepartmentId.GetValueOrDefault()));
                    }
                    if (search.Status > 0)
                    {
                        query = query.Where(u => (search.Status == 1 && u.IsActive == true) ||
                                            (search.Status == 2 && u.IsActive != true));
                    }
                }
                result = query.ToList();
            }
            catch { }
            return(result.OrderByDescending(p => p.Id).ToList());
        }
Esempio n. 2
0
        public IActionResult Login([FromQuery, Required, StringLength(30)] string username, [FromQuery, Required] string password)
        {
            // Realiza el login. El token será nulo si la contraseña es incorrecta.
            string token = new UserSC().Login(username, password);

            if (token != null)
            {
                return(Ok(new { Token = token }));
            }
            else
            {
                return(Unauthorized());
            }
        }
        public PartialViewResult _UserList(UserSC search)
        {
            var users = UnitOfWork.UserBL.SearchUsers(search);
            var model = users.Select(u =>
            {
                var roles    = UnitOfWork.RoleBL.GetUserRoles(u.Id);
                var Branches = UnitOfWork.BranchBL.GetUserBranches(u.Id);
                return(new UserVM(u)
                {
                    Branch = string.Join(", ", Branches.Select(r => r.Name).ToArray()),
                    Roles = string.Join(", ", roles.Select(r => r.Name).ToArray()),
                });
            }).ToList();

            return(PartialView(model));
        }
Esempio n. 4
0
        public PartialViewResult _UserList(UserSC search)
        {
            if (!LoggedIsSystemAdmin)
            {
                search.Department.Add(LoggedUserDepartmentId);
            }

            var users = UnitOfWork.AppUserBL.SearchUsers(search);
            var model = users.Select(u =>
            {
                var roles = UnitOfWork.RoleBL.GetUserRoles(u.Id);
                return(new UserVM(u)
                {
                    Roles = string.Join(", ", roles.Select(r => r.Name).ToArray()),
                });
            }).ToList();

            return(PartialView(model));
        }
Esempio n. 5
0
        public FileResult ExportUsers(UserSC search)
        {
            var users    = UnitOfWork.AppUserBL.SearchUsers(search);
            var allUsers = UnitOfWork.AppUserBL.GetAll();
            var data     = users.Select(u =>
            {
                var roles = UnitOfWork.RoleBL.GetUserRoles(u.Id);
                return(new UserExportModel(u)
                {
                    Roles = string.Join(", ", roles.Select(r => r.Name).ToArray()),
                    CreatedBy = allUsers.FirstOrDefault(p => p.Id == u.CreatedBy)?.FullName,
                    LastModifiedBy = allUsers.FirstOrDefault(p => p.Id == u.LastModifiedBy)?.FullName,
                });
            }).ToArray();

            if (data?.Length > 0)
            {
                var dt = Helper.GenerateDataTable(data);
                using (XLWorkbook wb = new XLWorkbook())
                {
                    wb.Worksheets.Add(dt, "Users");
                    using (MemoryStream stream = new MemoryStream())
                    {
                        var now = DateTime.Now;
                        var sb  = new StringBuilder();
                        sb.Append(now.ToShortDateString())
                        .Append('_')
                        .Append(now.ToShortTimeString());
                        var nowString = sb.ToString();
                        wb.SaveAs(stream);
                        return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"Users_{nowString}.xlsx"));
                    }
                }
            }
            else
            {
                return(null);
            }
        }
Esempio n. 6
0
 public static void Usuarios()
 {
     var UserQry = new UserSC().GetUser();
     var output  = UserQry.ToList();
 }