public void UpsertAirTravel(TravelDataContract contract) { var routing = contract.RouteDetails; foreach (var legGroup in routing.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)) { var legParts = legGroup.Split("/\\".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); var money = contract.Money; var reversal = contract.Money < 1; for (var legIndex = 0; legIndex < (legParts.Length - 1); legIndex++) { var fromCode = string.Format("{0}", legParts[legIndex]).ToUpper().Trim(); var toCode = string.Format("{0}", legParts[legIndex + 1]).ToUpper().Trim(); var airTravelData = new AirTravelRouteDataContract { CostCode = contract.CostCode, EndDate = contract.EndDate, FromCode = fromCode, Money = money, RowNo = contract.RowNo, StartDate = contract.StartDate, ToCode = toCode, TravelClass = (TravelClass)contract.ClassCategory, SourceId = contract.SourceId, Reversal = reversal }; CallService <IAirTravelRouteService>(service => service.UpsertDataEntry(airTravelData)); money = 0; } } }
public override void UpsertDataEntry(LibertyAirTicketsDataContract contract) { var parts = contract.TicketType.Split(' '); var routeCodes = new string[0]; foreach (var part in parts) { if ((part.IndexOf('-') <= 0) || (routeCodes = part.Split('-')).Length != 2) { continue; } break; } if (routeCodes.Length != 2) { return; } var travelData = new AirTravelRouteDataContract { CostCode = "lb001", EndDate = contract.EndDate, FromCode = routeCodes[0], Money = contract.Money, RowNo = contract.RowNo, StartDate = contract.StartDate, ToCode = routeCodes[1], Reversal = false, TravelClass = TravelClass.Economy, SourceId = contract.SourceId }; CallService <IAirTravelRouteService>(s => s.UpsertDataEntry(travelData)); }
public virtual async Task <IHttpActionResult> UpsertAirTravelRouteData(AirTravelRouteDataContract data) { data.UserName = User.Identity.Name; var service = Bootstrapper.Container.Resolve <IAirTravelRouteService>(); var result = await Task.Run(() => service.UpsertDataEntry(data)); return(Ok(result)); }