public async Task <Tuple <ResponseMessageDto, MessageQueue> > ExecuteActionTemplate(Func <MessageQueue, Task <Tuple <ResponseMessageDto, MessageQueue> > > action, MessageQueue messageQueue) { if (messageQueue == null) { throw new ArgumentNullException(nameof(messageQueue)); } var responseMessageDto = new ResponseMessageDto { Success = true, Errors = new List <string>() }; var response = new Tuple <ResponseMessageDto, MessageQueue>(responseMessageDto, messageQueue); try { if (action == null) { throw new ArgumentNullException(nameof(action)); } response = await action(messageQueue); } catch (Exception ex) { response.Item1.Success = false; response.Item1.Errors = new List <string> { ex.Message }; // TODO: log exception } return(response); }
public async Task <IActionResult> ListStore() { ResponseMessageDto <List <ScheduleDto> > output = await _getStoreUseCase.Execute(); _storePresenter.PopulateFirst(output); return(_storePresenter.ContentResult); }
public void PopulateFirst(ResponseMessageDto <List <ScheduleDto> > dto) { if (dto == null) { ContentResult.StatusCode = (int)(HttpStatusCode.NoContent); return; } ContentResult.StatusCode = (int)(HttpStatusCode.OK); ContentResult.Content = JsonSerializer.SerializeObject(dto); }
public static async Task <ResponseMessageDto> GetRatesAsync() { Uri ratesUrl = ApiUrlConstructors.GetRatesUrl(); ResponseMessageDto getRatesResponse = await RequestDataAsync(ratesUrl); if (getRatesResponse?.Rates == null) { throw new HttpRequestException("The rates data cannot be found. Please check the API url and key for its validity."); } return(getRatesResponse); }
public static async Task <ResponseMessageDto> GetSymbolsAsync() { Uri symbolsUrl = ApiUrlConstructors.GetSymbolsUrl(); ResponseMessageDto checkKeyUrlRequest = await RequestDataAsync(symbolsUrl); if (checkKeyUrlRequest == null || !checkKeyUrlRequest.Success) { throw new HttpRequestException("The symbols data cannot be found. Please check the API url and key for its validity."); } return(checkKeyUrlRequest); }
public async Task <ResponseMessageDto> GetRatesAsync() { Uri ratesUrl = _apiUrlConstructors.GetRatesUrl(); ResponseMessageDto getRatesResponse = await RequestDataAsync(ratesUrl); if (getRatesResponse?.Rates == null) { throw new HttpRequestException("The request to get the currency rates failed."); } return(getRatesResponse); }
public async Task <ResponseMessageDto> GetSymbolsAsync() { Uri symbolsUrl = _apiUrlConstructors.GetSymbolsUrl(); ResponseMessageDto symbolsResponseData = await RequestDataAsync(symbolsUrl); if (symbolsResponseData == null || !symbolsResponseData.Success) { throw new HttpRequestException("The request to get the currenc symbols list failed."); } return(symbolsResponseData); }
public async Task <ResponseMessageDto <List <ScheduleDto> > > Execute() { var result = new ResponseMessageDto <List <ScheduleDto> >(); try { List <Schedules> store = _storeRepository.FindStoreAll(); if (store.Count > 0) { result.Data = new List <ScheduleDto>(); result.Message = "Consulta Ok"; result.Success = true; store.ForEach(q => { result.Data.Add(new ScheduleDto { Id = q.Id, Name = q.Name }); }); } else { return(result = new ResponseMessageDto <List <ScheduleDto> > { Message = "Não foi localizado nenhuma loja", Success = false, Data = null }); } return(result); } catch (Exception ex) { //RegisterLog.Log("GetStoreUseCase", ex.TargetSite.DeclaringType.Namespace); return(result = new ResponseMessageDto <List <ScheduleDto> > { Message = "Erro de Processamento para retornar store", Success = false, Data = null }); } }
public async Task <ResponseMessageDto> DeleteMessageAsync(Guid boardId, Guid topicId, ResponseMessageDto message) { var existingTopic = await _messageRepository.GetMessageAsync(message.Id); var returnedEntity = await _messageRepository.DeleteMessageAsync(existingTopic); var responseDto = _mapper.Map <Message, ResponseMessageDto>(returnedEntity); return(responseDto); }