These are my Attribute Models
public class MasterPricerTravelBoardSearchReplyModel
{
public MasterPricerTravelBoardSearchReplyModel()
{
FlightIndex = new List<MasterPricerTravelBoardSearchReplyFlightIndexModel>();
}
public List<MasterPricerTravelBoardSearchReplyFlightIndexModel> FlightIndex
{ get; set; }
}
public class MasterPricerTravelBoardSearchReplyFlightIndexModel
{
public MasterPricerTravelBoardSearchReplyFlightIndexModel()
{
RequestedSegmentRef = new OriginAndDestinationRequestType6Model();
GroupOfFlights = new List<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsModel>();
}
public OriginAndDestinationRequestType6Model RequestedSegmentRef { get; set; }
public List<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsModel> GroupOfFlights { get; set; }
}
public class OriginAndDestinationRequestType6Model
{
public string SegRef { get; set; }
}
public class MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsModel
{
public MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsModel()
{
FlightDetails = new List<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsFlightDetailsModel>();
}
public List<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsFlightDetailsModel> FlightDetails { get; set; }
}
public class MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsFlightDetailsModel
{
public MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsFlightDetailsModel()
{
FlightInformation = new TravelProductType2Model();
}
public TravelProductType2Model FlightInformation { get; set; }
}
public class TravelProductType2Model
{
public TravelProductType2Model()
{
ProductDateTime = new ProductDateTimeType8Model();
Location = new List<LocationIdentificationDetailsType2Model>();
CompanyId = new CompanyIdentificationType8Model();
ProductDetail = new AdditionalProductDetailsType3Model();
AddProductDetail = new ProductFacilitiesType2Model();
}
public ProductDateTimeType8Model ProductDateTime { get; set; }
public List<LocationIdentificationDetailsType2Model> Location { get; set; }
public CompanyIdentificationType8Model CompanyId { get; set; }
public string FlightOrtrainNumber { get; set; }
public AdditionalProductDetailsType3Model ProductDetail { get; set; }
public ProductFacilitiesType2Model AddProductDetail { get; set; }
public decimal TotalAmount { get; set; }
public string FlightName { get; set; }
public string CabinName { get; set; }
}
public class LocationIdentificationDetailsType2Model
{
public string LocationId { get; set; }
public string AirportCityQualifier { get; set; }
public string Terminal { get; set; }
}
public class CompanyIdentificationType8Model
{
public string MarketingCarrier { get; set; }
public string OperatingCarrier { get; set; }
}
public class AdditionalProductDetailsType3Model
{
public string EquipmentType { get; set; }
public string OperatingDay { get; set; }
public string TechStopNumber { get; set; }
//public List<string> LocationId { get; set; }
}
public class ProductFacilitiesType2Model
{
public string LastSeatAvailable { get; set; }
public string LevelOfAccess { get; set; }
public string ElectronicTicketing { get; set; }
public string OperationalSuffix { get; set; }
public string ProductDetailQualifier { get; set; }
//public List<string> FlightCharacteristic { get; set; }
}
public class ProductDateTimeType8Model
{
//public string TypeOfAircraft { get; set; }
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; }
}
and these are my viewModels
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; }
}
And i tried this..
Mapper.CreateMap<ProductDateTimeType8Model,Centra.Core.Model.Fare.FlightDetails>().ForMember(x=>x.ArrivalDate,c=>c.MapFrom(p=>p.ArrivalDate));
Mapper.CreateMap<ProductDateTimeType8Model,Centra.Core.Model.Fare.FlightDetails>().ForMember(x => x.ArrivalTime, c => c.MapFrom(p => p.ArrivalTime));
Mapper.CreateMap<ProductDateTimeType8Model,Centra.Core.Model.Fare.FlightDetails>().ForMember(x => x.DepartureDate, c => c.MapFrom(p => p.DepartureDate));
Mapper.CreateMap<ProductDateTimeType8Model,Centra.Core.Model.Fare.FlightDetails().ForMember(x => x.DepartureTime, c => c.MapFrom(p => p.DepartureTime));
Mapper.CreateMap<ProductDateTimeType8Model,Centra.Core.Model.Fare.FlightDetails().ForMember(x => x.Duration, c => c.MapFrom(p => p.Duration));
Mapper.CreateMap<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsFlightDetailsModel, Centra.Core.Model.Fare.FlightDetails>();
Mapper.CreateMap<MasterPricerTravelBoardSearchReplyFlightIndexGroupOfFlightsModel, Centra.Core.Model.Fare.GroupOfFlights>();
Mapper.CreateMap<MasterPricerTravelBoardSearchReplyFlightIndexModel, Flights>();
Mapper.CreateMap<MasterPricerTravelBoardSearchReplyModel, SearchReplyModel>().ForMember(x => x.Flights, c => c.MapFrom(p => p.FlightIndex));
var jsonResult = new JsonResult() { Data=response.Content.ReadAsAsync<Response>().Result };
SearchReplyModel searchReplyModel=Mapper.Map<SearchReplyModel(jsonResult.Data);
When i try to Automap FlightDetails, i am getting all null values and is their any alternative way to do it? i am not aware of how to implement this in ValueResolver,can anyBody please help me out to rectify this!