private async Task <bool> GetDataFromMystifly(List <Domain.SelectFlightResponse> list, SelectFlightModel model) { var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.CommonRequestFarePricer.Body.AirRevalidate.ARAgencyCode , model.CommonRequestFarePricer.Body.AirRevalidate.ARSupplierCode, "select/flights"); List <SupplierAgencyDetails> supplierAgencyDetailslist = new List <SupplierAgencyDetails> { supplierAgencyDetails }; model.CommonRequestFarePricer.SupplierAgencyDetails = supplierAgencyDetailslist; string cardType = bookingServices.GetPaymentCardType(model.CommonRequestFarePricer.Body.AirRevalidate.ARAgencyCode); model.CommonRequestFarePricer.Body.AirRevalidate.paymentCardType = cardType; string req = JsonConvert.SerializeObject(model); var result = await partnerClient.Getselectflight(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, model); string strData = JsonConvert.SerializeObject(result.Data); string requestStr = JsonConvert.SerializeObject(model); string responseStr = JsonConvert.SerializeObject(result); string agencyCode = model.CommonRequestFarePricer.Body.AirRevalidate.ARAgencyCode; await supplierAgencyServices.SaveLog("Select-Flight", agencyCode, requestStr, responseStr); Domain.SelectFlightResponse partnerResponseEntity = JsonConvert.DeserializeObject <Domain.SelectFlightResponse>(strData); if (partnerResponseEntity != null) { list.Add(partnerResponseEntity); return(true); } return(false); }
private async Task <bool> GetSupplierTripDetails(List <SupplierTripDetailsResponse> list, SupplierTripDetailsModel model) { var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.AgencyCode, model.SupplierCode, "supplier-Tripdetails"); if (supplierAgencyDetails != null) { List <SupplierAgencyDetails> SupplierAgencyDetailsList = new List <SupplierAgencyDetails>() { supplierAgencyDetails }; model.supplierAgencyDetails = SupplierAgencyDetailsList; string req = JsonConvert.SerializeObject(model); var result = await partnerClient.GetSupplierTripDetails(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, model); string requestStr = JsonConvert.SerializeObject(model); string resposneStr = JsonConvert.SerializeObject(result); string agencyCode = model.AgencyCode; await supplierAgencyServices.SaveLog("supplier-trip-details", agencyCode, requestStr, resposneStr); if (result != null) { string strData = JsonConvert.SerializeObject(result.Data); SupplierTripDetailsResponse partnerResponseEntity = null; partnerResponseEntity = JsonConvert.DeserializeObject <SupplierTripDetailsResponse>(strData); if (partnerResponseEntity != null) { list.Add(partnerResponseEntity); return(true); } else { return(false); } } else { return(false); } } else { return(false); } }
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); }
private async Task <bool> GetDataFromMystifly(List <Domain.IssueTicketEntity> list, Models.IssueTickettModel model) { var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.ticketCreateTSTFromPricing.AgencyCode , model.ticketCreateTSTFromPricing.SupplierCode, "issueticket"); List <SupplierAgencyDetails> SupplierAgencyDetailslist = new List <SupplierAgencyDetails>() { supplierAgencyDetails }; model.SupplierAgencyDetails = SupplierAgencyDetailslist; //code to add supplier details in to request //var allSupplierBasicDetails = await supplierAgencyServices.GetSupplierAgencyBasicDetailswithsuppliercode(model.ticketCreateTSTFromPricing.AgencyCode, "T", model.ticketCreateTSTFromPricing.SupplierCode); // model.SupplierAgencyDetails = allSupplierBasicDetails; string req = JsonConvert.SerializeObject(model); var result = await partnerClient.GetIssueTicketflight(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, model); string strData = JsonConvert.SerializeObject(result.Data); string requestStr = JsonConvert.SerializeObject(model); string resposneStr = JsonConvert.SerializeObject(result); string agencyCode = model.ticketCreateTSTFromPricing.AgencyCode; await supplierAgencyServices.SaveLog("issue-Flight", agencyCode, requestStr, resposneStr); if (strData != "null") { Domain.IssueTicketEntity partnerResponseEntity = null; partnerResponseEntity = JsonConvert.DeserializeObject <Domain.IssueTicketEntity>(strData); if (partnerResponseEntity != null) { if (partnerResponseEntity.TripDetailsResult.ItineraryInformation.Length > 0) { string bookingStatus = partnerResponseEntity.TripDetailsResult.BookingStatus; //update details here strat await bookingServices.UpdateAirBookingAfterIssuedTicket(partnerResponseEntity.TripDetailsResult.ItineraryInformation, long.Parse(model.ticketCreateTSTFromPricing.BookingRefID), long.Parse(model.ticketCreateTSTFromPricing.UserID), partnerResponseEntity.TripDetailsResult.ReservationItem[0].AirlinePNR, bookingStatus); //update details here end partnerResponseEntity.TripDetailsResult.BookingId = model.ticketCreateTSTFromPricing.BookingRefID; list.Add(partnerResponseEntity); } else { list.Add(partnerResponseEntity); } return(true); } } else { Tkerror error = new Tkerror() { Code = "0000", Meassage = "Supplier not responding" }; Tkerror[] errors = new Tkerror[] { error }; Domain.IssueTicketEntity partnerResponseEntity = new IssueTicketEntity(); Itineraryinformation[] Itineraryinformations = new Itineraryinformation[0]; Triptotalfare triptotalfare = new Triptotalfare() { Currency = "", EquiFare = "", Tax = "", TotalFare = "" }; Domain.Reservationitem[] reservationitems = new Domain.Reservationitem[0]; Tripdetailsresult tripdetailsresult = new Tripdetailsresult() { BookingId = model.ticketCreateTSTFromPricing.BookingRefID, Success = "false", Target = model.ticketCreateTSTFromPricing.Target, UniqueID = model.ticketCreateTSTFromPricing.UniqueID, ItineraryInformation = Itineraryinformations, ReservationItem = reservationitems, TripTotalFare = triptotalfare, BookingStatus = "", TicketStatus = "", TKErrors = errors }; partnerResponseEntity.TripDetailsResult = tripdetailsresult; partnerResponseEntity.TripDetailsResult.TKErrors = errors; list.Add(partnerResponseEntity); return(true); } return(false); }
private async Task <bool> CancelbookingfromSupplier(List <CancelPNRResponse> list, Models.CancelBookingModel model) { var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.AgencyCode, model.SupplierCode, "cancel-pnr"); if (supplierAgencyDetails != null) { List <SupplierAgencyDetails> SupplierAgencyDetailsList = new List <SupplierAgencyDetails>() { supplierAgencyDetails }; model.supplierAgencyDetails = SupplierAgencyDetailsList; string req = JsonConvert.SerializeObject(model); var result = await partnerClient.GetCancelPNRStatus(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, model); string requestStr = JsonConvert.SerializeObject(model); string resposneStr = JsonConvert.SerializeObject(result); string agencyCode = model.AgencyCode; await supplierAgencyServices.SaveLog("cancel-Flight", agencyCode, requestStr, resposneStr); if (result != null) { string strData = JsonConvert.SerializeObject(result.Data); Domain.CancelPNRResponse partnerResponseEntity = null; partnerResponseEntity = JsonConvert.DeserializeObject <Domain.CancelPNRResponse>(strData); partnerResponseEntity.BookingRefID = model.BookingRefID; partnerResponseEntity.UserID = model.UserID; if (partnerResponseEntity != null) { list.Add(partnerResponseEntity); if (partnerResponseEntity.success == true) { await bookingServices.UpdateBookingStatusafterIssueTicket("XX", model.BookingRefID, model.UserID); } else { } return(true); } else { list.Add(partnerResponseEntity); return(true); } } else { Error[] errors = new Error[1]; Error error = new Error() { Code = "", Message = "Supplier not responding" }; errors[0] = error; CancelPNRResponse cancelPNRResponse = new CancelPNRResponse() { BookingRefID = model.BookingRefID, success = false, uniqueID = model.UniqueId, UserID = model.UserID, errors = errors }; list.Add(cancelPNRResponse); return(true); } } else { return(false); } }
private async Task <bool> GetDataFromMystifly(List <Domain.BookFlightResponse> list, Models.BookFlightModel model) { try { var supplierAgencyDetails = supplierAgencyServices.GetSupplierRouteBySupplierCodeAndAgencyCode(model.BookFlightEntity.BookFlight.AgencyCode , model.BookFlightEntity.BookFlight.SupplierCode, "book/flights"); List <SupplierAgencyDetails> _supplierAgencyDetailslist = new List <SupplierAgencyDetails> { supplierAgencyDetails }; model.BookFlightEntity.BookFlight.SupplierAgencyDetails = _supplierAgencyDetailslist; Paymentinfo paymentinfo = bookingServices.GetPaymentCardDetails(model.BookFlightEntity.BookFlight.AgencyCode); model.BookFlightEntity.BookFlight.PaymentInfo = paymentinfo; BookingData _BookingData = new BookingData(); BusinessEntitties.BookFlightModel bookFlightModel = new BusinessEntitties.BookFlightModel(); bookFlightModel.AirBagDetails = model.AirBagDetails; bookFlightModel.CostBreakuppax = model.CostBreakuppax; bookFlightModel.Fareruleseg = model.Fareruleseg; bookFlightModel.Totalfaregroup = model.Totalfaregroup; bookFlightModel.BookFlightEntity.BookFlight = model.BookFlightEntity.BookFlight; bookFlightModel.costAirMarkUp = model.costAirMarkUp; //Check RefID Exist in Database bool Exist = false; if (model.BookFlightEntity.BookFlight.BookingId != "") { Exist = bookingServices.CheckBookingRefIDExist(long.Parse(model.BookFlightEntity.BookFlight.BookingId)); } if (Exist) { //Update DataBase With New Price Details and Change Password await bookingServices.UpdateAllDetailsWithRefID(bookFlightModel); } else { // Add New Record in Database _BookingData = await bookingServices.SavingAirBookingFlight(bookFlightModel, supplierAgencyDetails.AgencyID, supplierAgencyDetails.SupplierId); } //Send Booking Request To Supplier string modelStr = JsonConvert.SerializeObject(model.BookFlightEntity); var result = await partnerClient.GetBookflight(supplierAgencyDetails.BaseUrl, supplierAgencyDetails.RequestUrl, model.BookFlightEntity); string responseStr = JsonConvert.SerializeObject(result.Data); string jsonData = JsonConvert.SerializeObject(result.Data); string requestStr = JsonConvert.SerializeObject(model); string agencyCode = model.BookFlightEntity.BookFlight.AgencyCode; await supplierAgencyServices.SaveLog("book-Flight", agencyCode, requestStr, jsonData); if (jsonData != "null") { Domain.BookFlightResponse partnerResponseEntity = JsonConvert.DeserializeObject <Domain.BookFlightResponse>(responseStr); string bookStatus = partnerResponseEntity.BookFlightResult.Status; if (bookStatus == "PRICECHANGED") { //Send Status to website with new bookingRefID partnerResponseEntity.BookFlightResult.BookingId = _BookingData.BookingRefID.ToString(); list.Add(partnerResponseEntity); return(true); } else { //Check PNR is Successfully Generated bool pnrstatus = CheckPNRorUniqIDexistornot(partnerResponseEntity); if (pnrstatus) { //Update PNR,BookingStatus and UniqID //Add Errors To Database bookingServices.UpdatePNRandStatus(partnerResponseEntity, _BookingData, bookFlightModel, supplierAgencyDetails.SupplierCode); partnerResponseEntity.BookFlightResult.BookingId = _BookingData.BookingRefID.ToString(); list.Add(partnerResponseEntity); } else { list.Add(partnerResponseEntity); } } } else { //Send Error Message to website // Error message = Supplier Note Responding Domain.BookFlightResponse bookFlightResponse = GetErrorTag("0000", "Supplier not responding"); list.Add(bookFlightResponse); } return(true); } catch (Exception ex) { throw ex; } }