这是我的视图模型
public class SearchReplyModel
{
public SearchReplyModel()
{
Flights = new List<Flights>();
}
public List<Flights> Flights { get; set; }
}
public class Flights
{
public Flights()
{
GroupOfFlights = new List<GroupOfFlights>();
}
public List<GroupOfFlights> GroupOfFlights { get; set; }
}
public class GroupOfFlights
{
public GroupOfFlights()
{
FlightDetails = new List<FlightDetails>();
}
public string RefNumber { get; set; }
public string Duration { get; set; }
public List<FlightDetails> FlightDetails { get; set; }
}
public class FlightDetails
{
public string ArrivalDate { get; set; }
public string ArrivalTime { get; set; }
public string DepartureDate { get; set; }
public string DepartureTime { get; set; }
public string Duration { get; set; }
public string FromCity { get; set; }
public string ToCity { get; set; }
public string Terminal { get; set; }
public string FlightNumber { get; set; }
public string FlightName { get; set; }
public string ElectronicTicketing { get; set; }
public string EquipmentType { get; set; }
}
这是我的 mvc 控制器和自定义值解析器
public async Task<JsonResult> PostDatatoApi<Request, Response>(Request data, string apiUrl)
{
using (var client = new HttpClient())
{
SetupRestClient(client);
client.BaseAddress = new Uri(centraBaseUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(contentType));
HttpResponseMessage response = await client.PostAsJsonAsync(client.BaseAddress + apiUrl, data);
if (response.IsSuccessStatusCode)
{
var jsonResult = new JsonResult() { Data = response.Content.ReadAsAsync<Response>().Result };
MasterPricerTravelBoardSearchReplyModel masterPricerTravelBoardSearchReplyModel = jsonResult.Data as MasterPricerTravelBoardSearchReplyModel;
Mapper.CreateMap<MasterPricerTravelBoardSearchReplyModel, SearchReplyModel>().ForMember(x => x.Flights, op => op.ResolveUsing<CustomResolver1>());
SearchReplyModel myResult = Mapper.Map<MasterPricerTravelBoardSearchReplyModel, SearchReplyModel>(masterPricerTravelBoardSearchReplyModel);
return jsonResult;
}
throw new Exception("Invalid");
}
}
public class CustomResolver1 : ValueResolver<MasterPricerTravelBoardSearchReplyModel, List<Flights>>
{
protected override List<Flights> ResolveCore(MasterPricerTravelBoardSearchReplyModel source)
{
List<Flights> response = new List<Flights>();
Flights result = new Flights();
result = new Flights()
{
GroupOfFlights = new List<GroupOfFlights>() {
}
//{
// new GroupOfFlights()
// {
// RefNumber=source.FlightIndex[0].GroupOfFlights[0].PropFlightGrDetail.FlightProposal[0].Ref,
// FlightDetails = new List<Centra.Core.Model.Fare.FlightDetails>()
// {
// new Centra.Core.Model.Fare.FlightDetails()
// {
// ArrivalTime=source.FlightIndex[0].GroupOfFlights[0].FlightDetails[0].FlightInformation.ProductDateTime.ArrivalTime,
// DepartureDate=source.FlightIndex[0].GroupOfFlights[0].FlightDetails[0].FlightInformation.ProductDateTime.DepartureDate,
// DepartureTime=source.FlightIndex[0].GroupOfFlights[0].FlightDetails[0].FlightInformation.ProductDateTime.DepartureTime
// }
// }
// }
//},
};
response.Add(result);
return response;
}
}
在 jsonResult 我得到了 groupOfFlights 的列表,我想迭代该 groupOfFlights 以获取 ArrivalDate,ArrivalTime,...里面存在的对象groupOfFlights-->FlightDetials[0]-->FlightInformation-->ProductDateTime-->ArrivalDate
,我只想迭代 groupOfFlights 和那个 FlightDetails 所以这就是为什么我把它保留为FlightDetials[0]
, 有人找我吗?我知道它非常令人困惑..