public FindRolesResponse Find(FindRolesRequest request)
        {
            try
            {
                _roleQuery.WithOnlyActivated(true);
                _roleQuery.WithOnlyStatusActivated(request.OnlyStatusActivated);
                _roleQuery.WithOnlyStatusDeactivated(request.OnlyStatusDeactivated);
                _roleQuery.WithName(request.Name);
                _roleQuery.Sort(request.Sort, request.SortBy);
                var totalRecords = _roleQuery.TotalRecords();
                _roleQuery.Paginate(request.StartPage, request.EndPage);
                var roles = _roleQuery.Execute();

                return(new FindRolesResponse
                {
                    Roles = TypeAdapter.Adapt <List <RoleResponse> >(roles),
                    TotalRecords = totalRecords
                });
            }
            catch (DataAccessException)
            {
                throw new ApplicationException();
            }
        }
 public FindRolesResponse Get(FindRolesRequest request)
 {
     return(_roleService.Find(request));
 }