public async Task <ActionResult <PaginatedResponseModel <AppUserModel> > > GetAll( [FromQuery] UserSearchRequestModel model ) { try { IQueryable <AppUser> query; if (string.IsNullOrEmpty(model.RoleName)) { query = userMgr.Users; } else { var usersInRole = await userMgr.GetUsersInRoleAsync(model.RoleName); query = usersInRole.AsQueryable(); } if (model.UserName.IsNotNullOrEmpty()) { query = query.Where(u => u.UserName.Contains(model.UserName)); } var total = query.LongCount(); var sortInfo = model.SortBy.Split( ':', StringSplitOptions.RemoveEmptyEntries ); var propertyName = sortInfo[0]; var isAsc = sortInfo[1].Equals( "ASC", StringComparison.OrdinalIgnoreCase ); var data = query .AddOrderBy(sortInfo[0], isAsc) .Skip(model.Skip) .Take(model.Take) .ToList(); var models = new List <AppUserModel>(); foreach (var user in data) { var claims = await userMgr.GetClaimsAsync(user); var userModel = user.ToUserModel(mapper, claims); models.Add(userModel); } var result = new PaginatedResponseModel <AppUserModel> { Skip = model.Skip, Take = model.Take, Total = total, Data = models }; return(result); } catch (Exception ex) { logger.LogError(ex, $"Can not search user with {model.ToJson()} ."); return(this.InternalServerError(ex)); } }
public async Task <ActionResult> Get([FromQuery] UserSearchRequestModel model = null) { try { return(Ok(await _userService.GetOsoblje(model))); } catch (Exception ex) { return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest))); } }
private async Task LoadOsoblje(string ime = null, string prezime = null) { try { UserSearchRequestModel searchRequest = null; if (ime != null || prezime != null) { searchRequest = new UserSearchRequestModel { Ime = ime, Prezime = prezime }; } gridOsoblje.RowTemplate.Height = 100; var result = await _osobljeService.Get <List <OsobljeModel> >(searchRequest); gridOsoblje.DataSource = result; gridOsoblje.Columns[nameof(OsobljeModel.Id)].Visible = false; gridOsoblje.Columns[nameof(OsobljeModel.OpcinaId)].Visible = false; gridOsoblje.Columns[nameof(OsobljeModel.UposlenikId)].Visible = false; gridOsoblje.Columns[nameof(OsobljeModel.OpcinaNaziv)].HeaderText = "Općina"; gridOsoblje.Columns[nameof(OsobljeModel.DatumRodjenja)].HeaderText = "Datum Rodjenja"; gridOsoblje.Columns[nameof(OsobljeModel.DatumZaposlenja)].HeaderText = "Datum Zaposlenja"; gridOsoblje.Columns[nameof(OsobljeModel.Id)].DisplayIndex = 0; gridOsoblje.Columns[nameof(OsobljeModel.Ime)].DisplayIndex = 1; gridOsoblje.Columns[nameof(OsobljeModel.Prezime)].DisplayIndex = 2; gridOsoblje.Columns[nameof(OsobljeModel.Username)].DisplayIndex = 3; gridOsoblje.Columns[nameof(OsobljeModel.Email)].DisplayIndex = 4; gridOsoblje.Columns[nameof(OsobljeModel.DatumRodjenja)].DisplayIndex = 5; gridOsoblje.Columns[nameof(OsobljeModel.OpcinaNaziv)].DisplayIndex = 6; gridOsoblje.Columns[nameof(OsobljeModel.Spol)].DisplayIndex = 7; gridOsoblje.Columns[nameof(OsobljeModel.JMBG)].DisplayIndex = 8; gridOsoblje.Columns[nameof(OsobljeModel.DatumZaposlenja)].DisplayIndex = 9; gridOsoblje.Columns[nameof(OsobljeModel.Active)].DisplayIndex = 10; gridOsoblje.Columns[nameof(OsobljeModel.Slika)].DisplayIndex = 11; gridOsoblje.Columns[nameof(OsobljeModel.UposlenikId)].DisplayIndex = 12; gridOsoblje.Columns[nameof(OsobljeModel.OpcinaId)].DisplayIndex = 13; //gridOsoblje.Columns[nameof(OsobljeModel.Role)].DisplayIndex = 1; } catch (ApiException ex) { MessageBox.Show(ex.Message); } }
public async Task <List <OsobljeModel> > GetOsoblje(UserSearchRequestModel model = null) { try { var query = _context.Uposlenik .Include(u => u.ApplicationUser) .ThenInclude(au => au.ApplicationUserRoles) .ThenInclude(aur => aur.Role) .Include(u => u.ApplicationUser.Opcina) .AsQueryable(); if (model != null) { if (!string.IsNullOrEmpty(model.Ime)) { query = query .Where(u => u.ApplicationUser.Ime.StartsWith(model.Ime)); } if (!string.IsNullOrEmpty(model.Prezime)) { query = query .Where(u => u.ApplicationUser.Prezime.StartsWith(model.Prezime)); } } var result = await query.ToListAsync(); var returnModel = new List <OsobljeModel>(); foreach (var r in result) { returnModel.Add(MapUposlenikToOsobljeModel(r)); } return(returnModel); } catch (Exception ex) { throw new Exception(ex.Message); } }