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)); }
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); }
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()); }
public IActionResult GetUserByLevel(SysUserCriteria criteria) { var results = sysUserService.QueryPermission(criteria); return(Ok(results)); }
public IActionResult Get(SysUserCriteria criteria) { var results = sysUserService.Query(criteria); return(Ok(results)); }
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()); }