Пример #1
0
        private async Task <GetTripDetailsModelRS> GetTraveldetails(List <Domain.GetTripDetailsModelRS> list, Models.GetTripDetailsModel model)
        {
            GetTripDetailsModelRS _GetTripDetailsModelRS = new GetTripDetailsModelRS();

            _GetTripDetailsModelRS = await supplierAgencyServices.GetTravellerDetailsfromDB(model.ConnectiontoDBreq.BookingRefID.ToString());

            return(_GetTripDetailsModelRS);
        }
Пример #2
0
        public async Task <ResponseObject> Handle(GetTripDetailsModel message)
        {
            List <Domain.GetTripDetailsModelRS> getTripDetailsModelRS = new List <Domain.GetTripDetailsModelRS>();
            GetTripDetailsModelRS _GetTripDetailsModelRS = new GetTripDetailsModelRS();

            _GetTripDetailsModelRS = await GetTraveldetails(getTripDetailsModelRS, message);

            var response = new ResponseObject
            {
                ResponseMessage = new HttpResponseMessage(HttpStatusCode.OK),
                Data            = _GetTripDetailsModelRS,
                Message         = "Data retrieved Successfully",
                IsSuccessful    = true
            };

            return(response);
        }
Пример #3
0
        private async Task <GetTripDetailsModelRS> GetTraveldetails(List <Domain.GetTripDetailsModelRS> list, Models.GetTripDetailsModel model)
        {
            GetTripDetailsModelRS    _GetTripDetailsModelRS   = new GetTripDetailsModelRS();
            SupplierTripDetailsModel supplierTripDetailsModel = new SupplierTripDetailsModel();

            if (model.ConnectiontoDBreq.Issupplier == true)
            {
                var bookedSupplierInfo = bookingServices.GetBookedSupplierInfo(long.Parse(model.ConnectiontoDBreq.BookingRefID));
                if (bookedSupplierInfo != null)
                {
                    model.ConnectiontoDBreq.SupplierCodeDb   = bookedSupplierInfo.SupplierCodeDb;
                    model.ConnectiontoDBreq.SupplierPnr      = bookedSupplierInfo.SupplierPnr;
                    model.ConnectiontoDBreq.SupplierUniqueId = bookedSupplierInfo.SupplierUniqueId;
                }
                if (bookedSupplierInfo.BookingStatusCode == "HK" || bookedSupplierInfo.BookingStatusCode == "TP")
                {
                    var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.ConnectiontoDBreq.AgencyCodeDb, model.ConnectiontoDBreq.SupplierCodeDb, "getDBtripdetails");
                    if (supplierAgencyDetails != null)
                    {
                        List <SupplierAgencyDetails> SupplierAgencyDetailsList = new List <SupplierAgencyDetails>()
                        {
                            supplierAgencyDetails
                        };
                        supplierTripDetailsModel = new SupplierTripDetailsModel()
                        {
                            AgencyCode            = model.ConnectiontoDBreq.AgencyCodeDb,
                            SupplierCode          = model.ConnectiontoDBreq.SupplierCodeDb,
                            Target                = model.ConnectiontoDBreq.Target,
                            UniqueID              = model.ConnectiontoDBreq.SupplierUniqueId,
                            supplierAgencyDetails = SupplierAgencyDetailsList
                        };
                        string req    = JsonConvert.SerializeObject(supplierTripDetailsModel);
                        var    result = await partnerClient.GetSupplierTripDetails(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, supplierTripDetailsModel);

                        string requestStr  = JsonConvert.SerializeObject(model);
                        string resposneStr = JsonConvert.SerializeObject(result);
                        string agencyCode  = model.ConnectiontoDBreq.AgencyCodeDb;
                        await supplierAgencyServices.SaveLog("supplier-trip-details", agencyCode, requestStr, resposneStr);

                        if (result != null)
                        {
                            string strData = JsonConvert.SerializeObject(result);
                            Domain.SupplierTripDetailsResponse supplierTripDetailsResponse = new Domain.SupplierTripDetailsResponse();
                            try
                            {
                                supplierTripDetailsResponse = JsonConvert.DeserializeObject <Domain.SupplierTripDetailsResponse>(strData);
                                if (supplierTripDetailsResponse.data.success == true)
                                {
                                    bookingServices.UpdateBookingInformatiomFromTripDetails(supplierTripDetailsResponse, long.Parse(model.ConnectiontoDBreq.BookingRefID));
                                }
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }
                        }
                    }
                }
            }
            _GetTripDetailsModelRS = await supplierAgencyServices.GetTravellerDetailsfromDB(model.ConnectiontoDBreq.BookingRefID.ToString());

            return(_GetTripDetailsModelRS);
        }
Пример #4
0
        public async Task <GetTripDetailsModelRS> GetTravellerDetailsfromDB(string bookingRefID)
        {
            GetTripDetailsModelRS _GetTripDetailsModelRS = new GetTripDetailsModelRS();

            using (var _ctx = new MediationEntities())
            {
                long _bookref = Convert.ToInt64(bookingRefID);
                var  BookingRefIDBasicData = (from sm in _ctx.tblBookings
                                              join bs in _ctx.tblBookingStatus on sm.BookingStatusCode equals bs.BookingStatusCode
                                              join ur in _ctx.tblUsers on sm.UserID equals ur.UserID
                                              join ag in _ctx.tblAgencies on ur.AgencyID equals ag.AgencyID
                                              join bc in _ctx.tblAirBookingCost on sm.BookingRefID equals bc.BookingRefID
                                              join bd in _ctx._tblAirBookingData on sm.BookingRefID equals bd.BookingRefID
                                              join sp in _ctx.tblSupplierMasters on sm.SupplierID equals sp.SupplierId
                                              where sm.BookingRefID == _bookref
                                              select new
                {
                    BookingDate = sm.BookingDate,
                    UserID = sm.UserID,
                    BookingID = sm.BookingRefID,
                    SupplierBookingReference = sm.SupplierBookingReference,
                    CancellationDeadline = sm.CancellationDeadline,
                    BookingStatusCode = sm.BookingStatusCode,
                    BookingStatus = bs.BookingStatus,
                    AgencyCode = ag.AgencyCode,
                    TotalBaseNet = bc.TotalBaseNet,
                    TotalTaxNet = bc.TotalTaxNet,
                    TotalNet = bc.TotalNet,
                    NetCurrency = bc.NetCurrency,
                    MarkupTypeID = bc.MarkupTypeID,
                    MarkupValue = bc.MarkupValue,
                    MarkupCurrency = bc.MarkupCurrency,
                    SellAmount = bc.SellAmount,
                    SellCurrency = bc.SellCurrency,
                    AdditionalServiceFee = bc.AdditionalServiceFee,
                    CancellationAmount = bc.CancellationAmount,
                    CancellationCurrency = bc.CancellationCurrency,
                    SupplierCode = sp.SupplierCode,
                    UniqueID = bd.UniqueID
                }).ToList();
                //To Response Json Start
                if (BookingRefIDBasicData.Count > 0)
                {
                    Dbconnectionresponse _Dbconnectionresponse = new Dbconnectionresponse()
                    {
                        AgencyCode    = BookingRefIDBasicData[0].AgencyCode,
                        BookingId     = BookingRefIDBasicData[0].BookingID.ToString(),
                        SupplierCode  = BookingRefIDBasicData[0].SupplierCode,
                        BookingStatus = BookingRefIDBasicData[0].BookingStatusCode,
                        TicketLimit   = DateTime.Parse(BookingRefIDBasicData[0].CancellationDeadline.ToString()).ToString("dd-MM-yyyy hh:mm:ss"),
                        BookingDate   = DateTime.Parse(BookingRefIDBasicData[0].BookingDate.ToString()).ToString("dd-MM-yyyy hh:mm:ss"),
                        UniqueID      = BookingRefIDBasicData[0].UniqueID
                    };
                    Dbtotalfaregroup _Dbtotalfaregroup = new Dbtotalfaregroup()
                    {
                        totalBaseNet         = BookingRefIDBasicData[0].TotalBaseNet.ToString(),
                        totalTaxNet          = BookingRefIDBasicData[0].TotalTaxNet.ToString(),
                        markupTypeID         = BookingRefIDBasicData[0].MarkupTypeID.ToString(),
                        netCurrency          = BookingRefIDBasicData[0].NetCurrency.ToString(),
                        markupValue          = BookingRefIDBasicData[0].MarkupValue.ToString(),
                        markupCurrency       = BookingRefIDBasicData[0].MarkupCurrency,
                        sellAmount           = BookingRefIDBasicData[0].SellAmount.ToString(),
                        sellCurrency         = BookingRefIDBasicData[0].SellCurrency.ToString(),
                        additionalServiceFee = BookingRefIDBasicData[0].AdditionalServiceFee.ToString(),
                        cancellationAmount   = BookingRefIDBasicData[0].CancellationAmount.ToString(),
                        cancellationCurrency = BookingRefIDBasicData[0].CancellationCurrency,
                        paidDate             = "",
                        paidAmount           = BookingRefIDBasicData[0].TotalNet.ToString(),
                        paymentTypeID        = ""
                    };
                    _Dbconnectionresponse.DBTotalfaregroup = _Dbtotalfaregroup;
                    //To Response Json End
                    var RefIDBaggDetails = (from bg in _ctx.tblAirbaggageDetails
                                            where bg.BookingRefID == _bookref
                                            select new
                    {
                        paxType = bg.PAXType,
                        cabinBaggageQuantity = bg.CabinBaggageQuantity,
                        cabinBaggageUnit = bg.CabinBaggageUnit,
                        checkinBaggageQuantity = bg.CheckinBaggageQuantity,
                        checkinBaggageUnit = bg.CheckinBaggageUnit
                    }).ToList();
                    //To Response Json Start
                    int totalbaggdetails = RefIDBaggDetails.Count;
                    if (totalbaggdetails > 0)
                    {
                        Dbairbagdetail[] _Dbairbagdetails = new Dbairbagdetail[totalbaggdetails];
                        int bagSeq = 0;
                        foreach (var item in RefIDBaggDetails)
                        {
                            Dbairbagdetail _Dbairbagdetail = new Dbairbagdetail()
                            {
                                paxType = item.paxType,
                                cabinBaggageQuantity   = item.cabinBaggageQuantity.ToString(),
                                cabinBaggageUnit       = item.cabinBaggageUnit,
                                checkinBaggageQuantity = item.checkinBaggageQuantity.ToString(),
                                checkinBaggageUnit     = item.checkinBaggageUnit
                            };
                            _Dbairbagdetails[bagSeq] = _Dbairbagdetail;
                            ++bagSeq;
                        }
                        _Dbconnectionresponse.DBairBagDetails = _Dbairbagdetails;
                    }
                    else
                    {
                        Dbairbagdetail[] _Dbairbagdetails = new Dbairbagdetail[0];
                        _Dbconnectionresponse.DBairBagDetails = _Dbairbagdetails;
                    }
                    //To Response Json End
                    var RefIDCostbreakup = (from br in _ctx.tblAirBookingCostBreakup
                                            join bc in _ctx.tblAirBookingCost on br.BookingCostID equals bc.BookingCostID
                                            where bc.BookingRefID == _bookref
                                            select new
                    {
                        paxType = br.PaxType,
                        paxtotalTaxNet = br.TaxNet,
                        paxtotalBaseNet = br.BaseNet,
                        paxmarkupTypeID = br.MarkupTypeID,
                        paxnetCurrency = br.NetCurrency,
                        paxmarkupValue = br.MarkupValue,
                        paxmarkupCurrency = br.MarkupCurrency,
                        paxsellAmount = br.SellAmount,
                        paxsellCurrency = br.SellCurrency,
                        paxadditionalServiceFee = br.AdditionalServiceFee,
                        paxquantity = br.NoOfPAx,
                        paxpaidAmount = br.SellAmount
                    }).ToList();
                    //To Response Json Start
                    int totalpricebk = RefIDCostbreakup.Count;
                    if (totalpricebk > 0)
                    {
                        int costSeq = 0;
                        Dbcostbreakuppax[] _Dbcostbreakuppaxs = new Dbcostbreakuppax[totalpricebk];
                        foreach (var item in RefIDCostbreakup)
                        {
                            Dbcostbreakuppax _Dbcostbreakuppax = new Dbcostbreakuppax()
                            {
                                paxType                 = item.paxType,
                                paxquantity             = item.paxquantity.ToString(),
                                paxtotalBaseNet         = item.paxtotalBaseNet.ToString(),
                                paxtotalTaxNet          = item.paxtotalTaxNet.ToString(),
                                paxmarkupTypeID         = item.paxmarkupTypeID.ToString(),
                                paxnetCurrency          = item.paxnetCurrency.ToString(),
                                paxmarkupValue          = item.paxmarkupValue.ToString(),
                                paxmarkupCurrency       = item.paxmarkupCurrency.ToString(),
                                paxsellAmount           = item.paxsellAmount.ToString(),
                                paxsellCurrency         = item.paxsellCurrency.ToString(),
                                paxadditionalServiceFee = item.paxadditionalServiceFee.ToString(),
                                paxpaidAmount           = item.paxpaidAmount.ToString()
                            };
                            _Dbcostbreakuppaxs[costSeq] = _Dbcostbreakuppax;
                            ++costSeq;
                        }
                        _Dbconnectionresponse.DBcostBreakuppax = _Dbcostbreakuppaxs;
                    }
                    else
                    {
                        Dbcostbreakuppax[] _Dbcostbreakuppaxs = new Dbcostbreakuppax[0];
                        _Dbconnectionresponse.DBcostBreakuppax = _Dbcostbreakuppaxs;
                    }
                    //To Response Json End
                    var RefIDfarerule = (from fr in _ctx.tblAirFarerules
                                         where fr.BookingRefID == _bookref
                                         select new
                    {
                        FareRule = fr.FareRule,
                        Segment = fr.Segment,
                        FareRef = fr.FareRef,
                        FilingAirline = fr.FilingAirline,
                        MarketingAirline = fr.MarketingAirline
                    }).ToList();
                    //To Response Json Start
                    int totRefIDfarerule = RefIDfarerule.Count;
                    if (totRefIDfarerule > 0)
                    {
                        int             ruleSeq         = 0;
                        Dbfareruleseg[] _Dbfarerulesegs = new Dbfareruleseg[totRefIDfarerule];
                        foreach (var item in RefIDfarerule)
                        {
                            Dbfareruleseg _Dbfareruleseg = new Dbfareruleseg()
                            {
                                fareRule         = item.FareRule,
                                Segment          = item.Segment,
                                FareRef          = item.FareRef,
                                FilingAirline    = item.FilingAirline,
                                MarketingAirline = item.MarketingAirline
                            };
                            _Dbfarerulesegs[ruleSeq] = _Dbfareruleseg;
                            ++ruleSeq;
                        }
                        _Dbconnectionresponse.DBfareruleseg = _Dbfarerulesegs;
                    }
                    else
                    {
                        Dbfareruleseg[] _Dbfarerulesegs = new Dbfareruleseg[0];
                        _Dbconnectionresponse.DBfareruleseg = _Dbfarerulesegs;
                    }
                    //To Response Json End
                    var RefIDTravellers = (from ap in _ctx.tblAirPassengers
                                           join tl in _ctx.tblTitles on ap.TitleID equals tl.TitleID
                                           join pd in _ctx._tblAirPassengerDoc on ap.PaxID equals pd.PaxID
                                           join doc in _ctx._tblDocType on pd.DocTypeID equals doc.DocTypeID
                                           join pax in _ctx._tblPassengerType on ap.PaxTypeID equals pax.PaxTypeID
                                           where ap.BookingRefID == _bookref
                                           select new
                    {
                        Title = tl.Title,
                        GivenName = ap.GivenName,
                        Surname = ap.Surname,
                        BirthDate = ap.DateofBirth,
                        DocType = doc.DocType,
                        DocumentNumber = pd.DocumentNumber,
                        DocIssueCountry = pd.IssueCountry,
                        ExpireDate = pd.ExpiryDate,
                        AirPnr = ap.PNR,
                        AirTicketNo = ap.ETicketNo,
                        paxtype = pax.PaxType
                    }).ToList();
                    //To Response Json Start
                    int totRefIDTravellers = RefIDTravellers.Count;
                    if (totRefIDTravellers > 0)
                    {
                        int travellerSeq = 0;
                        Dbtravelerinfo[] _Dbtravelerinfos = new Dbtravelerinfo[totRefIDTravellers];
                        foreach (var item in RefIDTravellers)
                        {
                            Dbtravelerinfo _Dbtravelerinfo = new Dbtravelerinfo()
                            {
                                PassengerType   = item.paxtype.ToString(),
                                GivenName       = item.GivenName,
                                NamePrefix      = item.Title,
                                Surname         = item.Surname,
                                BirthDate       = Convert.ToDateTime(item.BirthDate).ToString("dd-MM-yyyy"),
                                DocType         = item.DocType,
                                DocumentNumber  = item.DocumentNumber,
                                DocIssueCountry = item.DocIssueCountry,
                                ExpireDate      = Convert.ToDateTime(item.ExpireDate).ToString("dd-MM-yyyy"),
                                AirPnr          = item.AirPnr,
                                AirTicketNo     = item.AirTicketNo
                            };
                            _Dbtravelerinfos[travellerSeq] = _Dbtravelerinfo;
                            ++travellerSeq;
                        }
                        _Dbconnectionresponse.DBTravelerInfo = _Dbtravelerinfos;
                    }
                    else
                    {
                        Dbtravelerinfo[] _Dbtravelerinfos = new Dbtravelerinfo[0];
                        _Dbconnectionresponse.DBTravelerInfo = _Dbtravelerinfos;
                    }
                    //To Response Json End
                    var RefiDLegs = (from lg in _ctx.tblAirOriginDestinationOption
                                     where lg.BookingRefID == _bookref
                                     select new
                    {
                        OriginDestinationID = lg.OriginDestinationID,
                        RefNumber = lg.RefNumber,
                        DirectionID = lg.RefNumber,
                        ElapsedTime = lg.ElapsedTime
                    }).ToList();
                    int totRefiDLegs = RefiDLegs.Count;
                    if (totRefiDLegs > 0)
                    {
                        Dbflleggroup[] _Dbflleggroups = new Dbflleggroup[totRefiDLegs];
                        int            legSeq         = 0;
                        foreach (var item in RefiDLegs)
                        {
                            Dbflleggroup _Dbflleggroup = new Dbflleggroup();
                            _Dbflleggroup.elapsedtime = item.ElapsedTime;
                            long _LegID       = item.OriginDestinationID;
                            var  RefIDSegmant = (from seg in _ctx.tblAirSegment
                                                 join segf in _ctx._tblAirSegmentBookingAvail on seg.SegmentID equals segf.SegmentID
                                                 where seg.OriginDestinationID == _LegID
                                                 select new
                            {
                                FareBasis = "",
                                DepartureDate = seg.DepartureDateTime,
                                ArrivalDate = seg.ArrivalDateTime,
                                DepartureFrom = seg.DepartureAirportLocationCode,
                                DepartureTo = seg.ArrivalAirportLocationCode,
                                MarketingCompany = seg.MarketingAirlineCode,
                                OperatingCompany = seg.OperatingAirlineCode,
                                FlightNumber = seg.FlightNumber,
                                BookingClass = "",
                                terminalTo = seg.ArrivalAirportTerminal,
                                terminalFrom = seg.DepartureAirportTerminal,
                                flightequip = seg.EquipmentAirEquipType,
                                cabin = segf.ResBookDesigCabinCode
                            }).ToList();
                            int totRefIDSegmant = RefIDSegmant.Count;
                            if (totRefIDSegmant > 0)
                            {
                                int         segSeq      = 0;
                                Dbsegment[] _Dbsegments = new Dbsegment[totRefIDSegmant];
                                foreach (var segitem in RefIDSegmant)
                                {
                                    Dbsegment _Dbsegment = new Dbsegment();
                                    _Dbsegment.DepartureDate    = Convert.ToDateTime(segitem.DepartureDate).ToString("dd-MM-yyyy");
                                    _Dbsegment.DepartureTime    = Convert.ToDateTime(segitem.DepartureDate).ToString("HHmm");
                                    _Dbsegment.ArrivalDate      = Convert.ToDateTime(segitem.ArrivalDate).ToString("dd-MM-yyyy");
                                    _Dbsegment.ArrivalTime      = Convert.ToDateTime(segitem.ArrivalDate).ToString("HHmm");
                                    _Dbsegment.DepartureFrom    = segitem.DepartureFrom;
                                    _Dbsegment.DepartureTo      = segitem.DepartureTo;
                                    _Dbsegment.MarketingCompany = segitem.MarketingCompany;
                                    _Dbsegment.OperatingCompany = segitem.OperatingCompany;
                                    _Dbsegment.FlightNumber     = segitem.FlightNumber;
                                    _Dbsegment.BookingClass     = segitem.BookingClass;
                                    _Dbsegment.terminalTo       = segitem.terminalTo;
                                    _Dbsegment.terminalFrom     = segitem.terminalFrom;
                                    _Dbsegment.flightequip      = segitem.flightequip;
                                    _Dbsegment.cabin            = segitem.cabin;
                                    _Dbsegments[segSeq]         = _Dbsegment;
                                    ++segSeq;
                                }
                                _Dbflleggroup.from       = RefIDSegmant[0].DepartureFrom;
                                _Dbflleggroup.to         = RefIDSegmant[totRefIDSegmant - 1].DepartureTo;
                                _Dbflleggroup.DBsegments = _Dbsegments;
                            }
                            else
                            {
                                Dbsegment[] _Dbsegments = new Dbsegment[0];
                                _Dbflleggroup.DBsegments = _Dbsegments;
                            }
                            _Dbflleggroups[legSeq] = _Dbflleggroup;
                            ++legSeq;
                        }
                        _Dbconnectionresponse.DBFLLegGroup = _Dbflleggroups;
                    }
                    else
                    {
                        Dbflleggroup[] _Dbflleggroups = new Dbflleggroup[0];
                        _Dbconnectionresponse.DBFLLegGroup = _Dbflleggroups;
                    }

                    var refidPaxAdtcound = (from px in _ctx.tblAirBookingCostBreakup
                                            join pc in _ctx.tblAirBookingCost_1 on px.BookingCostID equals pc.BookingCostID
                                            where pc.BookingRefID == _bookref && px.PaxType == "ADT"
                                            select new
                    {
                        PaxType = px.PaxType,
                        quantity = px.NoOfPAx
                    }).ToList();

                    var refidPaxchdcound = (from px in _ctx.tblAirBookingCostBreakup
                                            join pc in _ctx.tblAirBookingCost_1 on px.BookingCostID equals pc.BookingCostID
                                            where pc.BookingRefID == _bookref && px.PaxType == "CHD"
                                            select new
                    {
                        PaxType = px.PaxType,
                        quantity = px.NoOfPAx
                    }).ToList();

                    var refidPaxinfcound = (from px in _ctx.tblAirBookingCostBreakup
                                            join pc in _ctx.tblAirBookingCost_1 on px.BookingCostID equals pc.BookingCostID
                                            where pc.BookingRefID == _bookref && px.PaxType == "INF"
                                            select new
                    {
                        PaxType = px.PaxType,
                        quantity = px.NoOfPAx
                    }).ToList();

                    if (refidPaxAdtcound.Count > 0)
                    {
                        _Dbconnectionresponse.ADT = Convert.ToInt16(refidPaxAdtcound[0].quantity);
                    }
                    else
                    {
                        _Dbconnectionresponse.ADT = 0;
                    }
                    if (refidPaxchdcound.Count > 0)
                    {
                        _Dbconnectionresponse.CHD = Convert.ToInt16(refidPaxchdcound[0].quantity);
                    }
                    else
                    {
                        _Dbconnectionresponse.CHD = 0;
                    }
                    if (refidPaxinfcound.Count > 0)
                    {
                        _Dbconnectionresponse.INF = Convert.ToInt16(refidPaxinfcound[0].quantity);
                    }
                    else
                    {
                        _Dbconnectionresponse.INF = 0;
                    }
                    _GetTripDetailsModelRS.DBConnectionResponse = _Dbconnectionresponse;
                }
                else
                {
                }
            }
            return(_GetTripDetailsModelRS);
        }