public async Task <IActionResult> GetChangesForUser([FromBody] ChangesForUserRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } CultureInfo cultureInfo = new CultureInfo(request.CultureInfo); Resource.Culture = cultureInfo; UserEntity userEntity = await _context.Users .FirstOrDefaultAsync(u => u.Id == request.UserId.ToString()); if (userEntity == null) { return(BadRequest(Resource.UserDoesntExists)); } List <ChangeEntity> changeEntitys = await _context.Changes .Include(c => c.FirstDriver) .Include(c => c.FirstDriverService) .ThenInclude(c => c.Service) .ThenInclude(s => s.ServiceDetail) .Include(c => c.SecondDriver) .Include(c => c.SecondDriverService) .ThenInclude(s => s.Service) .ThenInclude(s => s.ServiceDetail) .Where(c => c.SecondDriver.Id == request.UserId.ToString() && c.State == "Pending") .ToListAsync(); List <ChangeResponse> changeResponses = new List <ChangeResponse>(); foreach (ChangeEntity changeEntity in changeEntitys) { changeResponses.Add(_converterHelper.ToChangeResponse(changeEntity)); } return(Ok(changeResponses.OrderBy(c => c.DateLocal))); }
public async Task <Response> GetChangesForUserAsync(string urlBase, string servicePrefix, string controller, ChangesForUserRequest changesForUserRequest, string tokenType, string accessToken) { try { string request = JsonConvert.SerializeObject(changesForUserRequest); StringContent content = new StringContent(request, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = result, }); } List <ChangeResponse> list = JsonConvert.DeserializeObject <List <ChangeResponse> >(result); return(new Response { IsSuccess = true, Result = list }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }