public List <Response> GetResponsesForRequest(GetResponsesForRequestRequest request) { var newRequest = new Data.Models.Request { Amount = request.Count, Latitude = request.Lat, Longitude = request.Lng }; _context.Requests.Add(newRequest); _context.SaveChanges(); var responses = ServerLoadManager.CreateResponsesForRequest(newRequest); foreach (var response in responses) { if (response.Server != null) { var dbResponse = new Data.Models.Response() { RequestId = newRequest.Id, ServerId = response.Server.Id, Date = DateTime.Now, Count = response.Count }; _context.Responses.Add(dbResponse); } else { var dbResponse = new Data.Models.Response() { RequestId = newRequest.Id, ServerId = null, Date = DateTime.Now, Count = response.Count }; _context.Responses.Add(dbResponse); } } _context.SaveChanges(); return(responses); }
public ActionResult <GetResponsesResponse> GetResponseForRequest([FromBody] GetResponsesForRequestRequest request) { try { if (!TryValidateModel(request)) { return(StatusCode(400)); } var responses = _service.GetResponsesForRequest(request); var response = new GetResponsesResponse { Responses = responses }; return(Ok(response)); } catch (Exception ex) { return(StatusCode(500)); } }