Beispiel #1
0
        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));
        }
Beispiel #3
0
        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));
        }