Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
 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);
            }
        }