public RoutesResponse GetRouteInformation([FromBody] int[] ids) { var response = new RoutesResponse(); if (ids.Length == 0) { return(response); } var idTable = CreateIdTable(ids); try { using (var connection = GetConnection()) { connection.Open(); using (var command = new SqlCommand("GetRouteInformation", connection)) { command.CommandType = CommandType.StoredProcedure; var errorCode = new SqlParameter("@ResponseCode", SqlDbType.Int) { Direction = ParameterDirection.Output }; command.Parameters.Add(errorCode); var param = command.Parameters.AddWithValue("@IDList", idTable); param.SqlDbType = SqlDbType.Structured; using (var reader = command.ExecuteReader()) { if ((int)(errorCode.Value ?? 0) != 0) { response.ApiResponseCode = ApiResponseCode.NoRoutesSupplied; } else { while (reader.Read()) { response.Routes.Add(ReadRoute(reader)); } } } } } } catch { response.ApiResponseCode = ApiResponseCode.InternalError; } return(response); }
public override async Task <RoutesResponse> GetRoutes(Empty request, ServerCallContext context) { var response = new RoutesResponse(); try { var airports = await _airportProxy.GetAllAirports(); var routes = (await _airlineRepository.GetFligthRoutes()) .Select(x => new RouteModel() { Source = airports.Where(y => y.Id == x.Source).FirstOrDefault().City, Target = airports.Where(y => y.Id == x.Target).FirstOrDefault().City, }); _logger.LogInformation($"Get all Routes"); response.Routes.AddRange(routes); } catch (Exception ex) { _logger.LogError(ex, $"ERROR: Get all Routes"); } return(response); }