private void btnCreate_Click(object sender, EventArgs e) { string message = IsValid(); if (string.IsNullOrEmpty(message)) { FailedCount = 0; ProcessedCount = 0; SuccessCount = 0; ReceipentEmail = string.Empty; frmEmailPopup popup = new frmEmailPopup(); popup.ShowDialog(); ReceipentEmail = popup.ReceipentEmail; if (!popup.IsClose) { lstPNRsProcessed = new List<PNRsProcessed>(); FlightRequest objFlightRequest = new FlightRequest(); objFlightRequest.Origin = txtOrigin.Text.Trim(); objFlightRequest.Destination = cmbDestination.Text.Trim(); objFlightRequest.TotalPNRsRequired = Convert.ToInt16(txtPNRs.Text.Trim()); objFlightRequest.AdtCount = Convert.ToInt16(txtAdtCount.Text); objFlightRequest.ChdCount = Convert.ToInt16(txtChildCount.Text); objFlightRequest.InfCount = Convert.ToInt16(txtInfantCount.Text); objFlightRequest.DepartureDate = Convert.ToDateTime(dtDepartureDate.Text); objFlightRequest.ReturnDate = Convert.ToDateTime(dtArrivalDate.Text); objFlightRequest.OutboundFlightNo = Convert.ToString(txtOBFlightNo.Text); objFlightRequest.InboundFlightNo = Convert.ToString(txtIBFlightNo.Text); objFlightRequest.IsRT = chkRT.Checked; objFlightRequest.VoucherNo = (string.IsNullOrEmpty(txtVoucherNo.Text) ? string.Empty : txtVoucherNo.Text.Trim()); objFlightRequest.OutboundCabin = (cmbOBCabin.Text != null ? Convert.ToString(cmbOBCabin.Text) : EnumCabin.Economy.ToString()); objFlightRequest.InboundCabin = (cmbIBCabin.Text != null ? Convert.ToString(cmbIBCabin.Text) : EnumCabin.Economy.ToString()); objFlightRequest.OutboundBaggage = cmbOBBaggage.Text; objFlightRequest.InboundBaggage = cmbIBBaggage.Text; objFlightRequest.OutboundMeal = cmbOBMeal.Text; objFlightRequest.InboundMeal = cmbIBMeal.Text; objFlightRequest.IFE = chkIFE.Checked; objFlightRequest.Seating = chkSeating.Checked; lblInfo.Text = "PROCESS STARTED"; lblInfo.ForeColor = Color.Blue; progressBar.Refresh(); progressBar.MarqueeAnimationSpeed = 30; progressBar.Visible = true; btnCreate.Enabled = false; Logger.LogToFile("====== Create PNR Started at : " + DateTime.Now.ToString()); List<FlightRequest> request = new List<FlightRequest>(); request.Add(objFlightRequest); Task.Factory.StartNew(() => CreateBooking(request)); } } else { MessageBox.Show(message); } }
/// <summary> /// 3. Create summary /// </summary> /// <param name="objColPaxWiseFareId"></param> /// <param name="token"></param> /// <param name="adtCount"></param> /// <param name="childCount"></param> /// <param name="infantCount"></param> /// <param name="lastName"></param> /// <returns></returns> public ViewPNR GenerateSummary(List<PaxWiseFareIdResult> objColPaxWiseFareId, string token, int adtCount, int childCount, int infantCount, string lastName, FlightRequest objFlightRequest) { ViewPNR viewPnr = new ViewPNR(); try { var request = new SummaryPNR { ActionType = SummaryPNRActionTypes.GetSummary, Address = GetEmptyAddress(), CarrierCodes = GetCarrierCodes(), SecurityGUID = token, ClientIPAddress = string.Empty, SecurityToken = token, ReceiptLanguageID = "1", ReservationInfo = new ReservationInfo { ConfirmationNumber = "NA", SeriesNumber = "299" }, User = "******", CarrierCurrency = ReservationService.EnumerationsCurrencyCodeTypes.AED, ContactInfos = GetPassengerContactInfos().ToArray(), DisplayCurrency = ReservationService.EnumerationsCurrencyCodeTypes.AED, Payments = GetEmptyPayments().ToArray(), }; List<Person> lstPersons = GetPersons(adtCount, childCount, infantCount, lastName); request.Passengers = lstPersons.ToArray(); request.Segments = GetSegments(token, lstPersons, objColPaxWiseFareId, objFlightRequest).ToArray(); using (ReservationService.ConnectPoint_Reservation client = new ReservationService.ConnectPoint_Reservation()) { viewPnr = client.SummaryPNR(request); if (viewPnr.Exceptions != null) { foreach (var exception in viewPnr.Exceptions) { if (exception.ExceptionCode != 0) { var radixxException = new RadixxException( message: exception.ExceptionDescription, radixxExceptionCode: this.ParseErrorCode(exception.ExceptionDescription) ?? exception.ExceptionCode, radixxExceptionSource: exception.ExceptionSource, type: new StackFrame(1, true).GetType(), flydubaiOperation: new StackFrame(1, true).GetMethod().Name, securityGuid: token, request: "",//DataHelpers.SerializeToString(request), responseMessage: "");//DataHelpers.SerializeToString(response)); throw radixxException; } } } } } catch (Exception ex) { throw ex; } return viewPnr; }
public List<Segment> GetSegments(string token, List<Person> lstPersons, List<PaxWiseFareIdResult> objPaxWiseFareId, FlightRequest objFlightRequest) { List<SeatsInfo> objSeatsInfo = new List<SeatsInfo>(); var segments = new List<Segment>(); foreach (var item in objPaxWiseFareId) { List<AlreadyTakenSeat> colAlreadyUsedInThisProcessSpecialService = new List<AlreadyTakenSeat>(); if (objFlightRequest.Seating) { objSeatsInfo = RetrieveSeatsAvailability(token, item.DepartureDate, item.LFID, item.Cabin); } foreach (var person in lstPersons) { List<SpacialServiceAndSeat> colSpecialService = new List<SpacialServiceAndSeat>(); SeatCharge seat = new SeatCharge(); //Seating //if (!objFlightRequest.Seating) // return colSpecialService; //else if (objFlightRequest.Seating && person.PTCID != 5)// Not an infant { colSpecialService = GetAvailableSeatForAllLegs(objSeatsInfo, item, person, ref colAlreadyUsedInThisProcessSpecialService);//get seat from all physical flight for the person i.e for OW per person } Segment segment = new Segment(); segment.FareInformationID = GetFareId(item, person.PTCID); segment.MarketingCode = "NA"; segment.StoreFrontID = "NA"; segment.PersonOrgID = person.PersonOrgID; segment.SpecialServices = GetSpecialService(objFlightRequest, item, person).ToArray(); //new List<SpecialService>(), //GetSpecialServices(p, localFlight, currency), List<Seat> seatassigned = new List<Seat>(); if (colSpecialService != null && colSpecialService.Count > 0) { seatassigned = new List<Seat>(); foreach (var service in colSpecialService) { if (service.Special_Service.CodeType != string.Empty) { var serviceList = segment.SpecialServices == null ? new List<SpecialService>() : segment.SpecialServices.ToList(); serviceList.Add(service.Special_Service); segment.SpecialServices = serviceList.ToArray(); } seatassigned.Add(new Seat() { DepartureDate = item.DepartureDate.Date, LogicalFlightID = item.LFID, PersonOrgID = person.PersonOrgID, RowNumber = Convert.ToString(service.Seat_Charges.RowNumber), PhysicalFlightID = service.PhysicalFlightID, SeatSelected = service.Seat_Charges.Seat }); } } segment.Seats = seatassigned.ToArray(); segments.Add(segment); } } return segments; }
private List<SpecialService> GetSpecialService(FlightRequest objFlightRequest, PaxWiseFareIdResult objPaxWiseFareIdResult, Person person) { List<SpecialService> colSpecialService = new List<SpecialService>(); if (person.PTCID != 5) { //Baggage var BaggageRequested = objPaxWiseFareIdResult.EnumFlightType == FlightType.Inbound ? objFlightRequest.InboundBaggage : objFlightRequest.OutboundBaggage; if (!String.IsNullOrEmpty(BaggageRequested) && objPaxWiseFareIdResult.Cabin == EnumCabin.Economy.ToString()) { colSpecialService.Add(new SpecialService() { CodeType = BaggageRequested, ServiceID = -2147483648, SSRCategory = 99, LogicalFlightID = objPaxWiseFareIdResult.LFID, DepartureDate = objPaxWiseFareIdResult.DepartureDate.Date, Amount = (BaggageRequested == "BAGB" ? 50 : (BaggageRequested == "BAGL" ? 100 : 200)), OverrideAmount = false, CurrencyCode = ReservationService.EnumerationsCurrencyCodeTypes.AED, PersonOrgID = person.PersonOrgID, ChargeComment = string.Empty }); } //Meal var MealRequested = objPaxWiseFareIdResult.EnumFlightType == FlightType.Inbound ? objFlightRequest.InboundMeal : objFlightRequest.OutboundMeal; if (!String.IsNullOrEmpty(MealRequested)) { colSpecialService.Add(new SpecialService() { CodeType = MealRequested, ServiceID = -2147483648, SSRCategory = 162, LogicalFlightID = objPaxWiseFareIdResult.LFID, DepartureDate = objPaxWiseFareIdResult.DepartureDate.Date, Amount = 50, OverrideAmount = false, CurrencyCode = ReservationService.EnumerationsCurrencyCodeTypes.AED, PersonOrgID = person.PersonOrgID, ChargeComment = string.Empty }); } //IFE if (objFlightRequest.IFE && objPaxWiseFareIdResult.Cabin == EnumCabin.Economy.ToString()) { colSpecialService.Add(new SpecialService() { CodeType = "IFPP", ServiceID = -2147483648, SSRCategory = 141, LogicalFlightID = objPaxWiseFareIdResult.LFID, DepartureDate = objPaxWiseFareIdResult.DepartureDate.Date, Amount = 30, OverrideAmount = false, CurrencyCode = ReservationService.EnumerationsCurrencyCodeTypes.AED, PersonOrgID = person.PersonOrgID, ChargeComment = string.Empty }); } } return colSpecialService; }