public async Task <IActionResult> Search([FromBody] SearchMessagesRequest request) { try { var thisUserId = ClaimsExtractor.GetUserIdClaim(User.Claims); var messages = await messagesService.SearchForMessages( request.deviceId, request.searchString, request.offset, request.count, thisUserId); return(Ok(new ResponseApiModel <List <Message> > { IsSuccessfull = true, Response = messages })); } catch (InvalidDataException ex) { return(BadRequest(new ResponseApiModel <bool> { IsSuccessfull = false, ErrorMessage = ex.Message })); } catch (UnauthorizedAccessException ex) { return(StatusCode((int)HttpStatusCode.Forbidden, new ResponseApiModel <bool> { IsSuccessfull = false, ErrorMessage = ex.Message })); } catch (KeyNotFoundException ex) { return(NotFound(new ResponseApiModel <bool> { IsSuccessfull = false, ErrorMessage = ex.Message })); } catch (Exception) { return(StatusCode((int)HttpStatusCode.InternalServerError, new ResponseApiModel <bool> { IsSuccessfull = false })); } }
public SearchMessagesRequestHandler(Request request, ClientConnection clientConnection, ILoadMessagesService loadMessagesService) { this.request = (SearchMessagesRequest)request; this.clientConnection = clientConnection; this.loadMessagesService = loadMessagesService; }
public void SearchMessages(SearchMessagesRequest searchMessagesRequest) { SendRequest(searchMessagesRequest.ToXML()); }