Esempio n. 1
0
        public IActionResult Paging(SysUserCriteria criteria, int page, int size)
        {
            var data   = sysUserService.Paging(criteria, page, size, out int?rowCount);
            var result = new { data, totalItems = rowCount, page, size };

            return(Ok(result));
        }
Esempio n. 2
0
        public IQueryable <SysUserViewModel> QueryPermission(SysUserCriteria criteria)
        {
            var users     = DataContext.Get();
            var employees = employeeRepository.Get();
            var uslevel   = userlevelRepository.Get();
            var data      = from u in users
                            join l in uslevel on u.Id equals l.UserId
                            join e in employees on u.EmployeeId equals e.Id
                            where l.CompanyId.ToString() == criteria.CompanyId && u.Active == criteria.Active
                            select new  { u, e };
            List <SysUserViewModel> results = new List <SysUserViewModel>();

            foreach (var item in data)
            {
                var model = mapper.Map <SysUserViewModel>(item.u);
                model.EmployeeNameEn = item.e.EmployeeNameEn;
                model.EmployeeNameVn = item.e.EmployeeNameVn;
                results.Add(model);
            }
            if (results.Count > 0)
            {
                results = results.GroupBy(x => x.Username).Select(g => g.First()).ToList();
            }
            return(results?.OrderBy(x => x.Username).AsQueryable());
        }
        public async Task <IActionResult> ExportUser(SysUserCriteria sysUserCriteria)
        {
            var responseFromApi = await HttpServiceExtension.GetDataFromApi(sysUserCriteria, aPis.HostStaging + Urls.System.UserUrl);

            var dataObjects = responseFromApi.Content.ReadAsAsync <List <SysUserModel> >();
            var stream      = new Helper().GenerateUserExcel(dataObjects.Result);

            if (stream == null)
            {
                return(null);
            }
            FileContentResult fileContent = new FileHelper().ExportExcel(stream, FilesNames.UserName);

            return(fileContent);
        }
Esempio n. 4
0
        public IQueryable <SysUserViewModel> Query(SysUserCriteria criteria)
        {
            var users     = DataContext.Get();
            var employees = employeeRepository.Get();
            var datas     = from u in users
                            join e in employees on u.EmployeeId equals e.Id into em
                            from e in em.DefaultIfEmpty()
                            select new { u, e };

            if (criteria.All == null)
            {
                datas = datas.Where(x => (x.u.Username ?? "").IndexOf(criteria.Username ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.e.EmployeeNameEn ?? "").IndexOf(criteria.EmployeeNameEn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.e.EmployeeNameVn ?? "").IndexOf(criteria.EmployeeNameVn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.u.UserType ?? "").IndexOf(criteria.UserType ?? "", StringComparison.OrdinalIgnoreCase) >= 0 &&
                                    (x.e.Active == criteria.Active || criteria.Active == null));
            }
            else
            {
                if (criteria.All.Contains("Active"))
                {
                    criteria.Active = true;
                }
                if (criteria.All.Contains("InActive"))
                {
                    criteria.Active = false;
                }
                datas = datas.Where(x => (
                                        ((x.u.Username ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0) ||
                                        (x.e.EmployeeNameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.e.Title ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.u.UserType ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) >= 0 ||
                                        (x.u.Active == criteria.Active)
                                        ));
            }
            List <SysUserViewModel> results = new List <SysUserViewModel>();

            foreach (var item in datas)
            {
                var model = mapper.Map <SysUserViewModel>(item.u);
                model.EmployeeNameEn = item.e?.EmployeeNameEn;
                model.EmployeeNameVn = item.e?.EmployeeNameVn;
                results.Add(model);
            }
            return(results.AsQueryable());
        }
Esempio n. 5
0
        public IActionResult GetUserByLevel(SysUserCriteria criteria)
        {
            var results = sysUserService.QueryPermission(criteria);

            return(Ok(results));
        }
Esempio n. 6
0
        public IActionResult Get(SysUserCriteria criteria)
        {
            var results = sysUserService.Query(criteria);

            return(Ok(results));
        }
Esempio n. 7
0
        public IQueryable <SysUserViewModel> Paging(SysUserCriteria criteria, int page, int size, out int?rowsCount)
        {
            var users      = DataContext.Get();
            var employees  = employeeRepository.Get();
            var userLevels = userlevelRepository.Get();
            var companies  = sysCompanyRepository.Get();
            var offices    = sysCompanyRepository.Get();
            var datas      = from u in users
                             join e in employees on u.EmployeeId equals e.Id into em
                             from e in em.DefaultIfEmpty()
                             select new { u, e };

            if (criteria.All == null)
            {
                if (criteria.Active != null)
                {
                    datas = datas.Where(x => (x.u.Username ?? "").IndexOf(criteria.Username ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.e.EmployeeNameEn ?? "").IndexOf(criteria.EmployeeNameEn ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.e.EmployeeNameVn ?? "").IndexOf(criteria.EmployeeNameVn ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.u.UserType ?? "").IndexOf(criteria.UserType ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.u.Active == criteria.Active)
                                        );
                }
                else
                {
                    datas = datas.Where(x => (x.u.Username ?? "").IndexOf(criteria.Username ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.e.EmployeeNameEn ?? "").IndexOf(criteria.EmployeeNameEn ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.e.EmployeeNameVn ?? "").IndexOf(criteria.EmployeeNameVn ?? "", StringComparison.OrdinalIgnoreCase) > -1 &&
                                        (x.u.UserType ?? "").IndexOf(criteria.UserType ?? "", StringComparison.OrdinalIgnoreCase) > -1
                                        );
                }
            }
            else
            {
                if (criteria.All == "active")
                {
                    criteria.Active = true;
                }
                if (criteria.All == "inactive")
                {
                    criteria.Active = false;
                }
                if (criteria.Active == null)
                {
                    if (criteria.All == "status")
                    {
                        datas = null;
                    }
                    else
                    {
                        datas = datas.Where(x => (
                                                ((x.u.Username ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1) ||
                                                (x.e.EmployeeNameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 ||
                                                (x.e.EmployeeNameVn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 ||
                                                (x.u.UserType ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1
                                                ));
                    }
                }
                if (criteria.Active != null)
                {
                    datas = datas.Where(x => x.u.Active == criteria.Active);
                }
            }

            datas     = datas?.OrderByDescending(x => x.u.DatetimeModified);
            rowsCount = datas?.Count();
            if (size > 1)
            {
                if (page < 1)
                {
                    page = 1;
                }
                datas = datas?.Skip((page - 1) * size).Take(size);
            }
            List <SysUserViewModel> results = new List <SysUserViewModel>();

            if (datas != null)
            {
                foreach (var item in datas)
                {
                    var model = mapper.Map <SysUserViewModel>(item.u);
                    model.EmployeeNameEn = item.e?.EmployeeNameEn;
                    model.EmployeeNameVn = item.e?.EmployeeNameVn;
                    model.Title          = item.e?.Title;
                    results.Add(model);
                }
            }
            return(results.AsQueryable());
        }