//constructor public UserAddReport(string Email, string PasswordHash) //this page if accesible only for logged users so it requested the datas of the //logged users { try { this.Email = Email; this.PasswordHash = PasswordHash; InitializeComponent(); // Initializing Design BookingListComboBox.DropDownStyle = ComboBoxStyle.DropDownList; //initialize connection with the server this.bookingManager = new BookingManagerClient(); bookings = bookingManager.GetBookingsForUser(Email, Email, PasswordHash); //show all the bookings of the user so he can select the one to add the report foreach (Booking.Booking SingleBooking in bookings) { BookingListComboBox.Items.Add(SingleBooking.ID.ToString() + " - " + SingleBooking.BookedCar.Make + " " + SingleBooking.BookedCar.Model); } } catch (Exception exc) { MessageBox.Show("Errore nella connessione al server.", "Proprio non riesco.", MessageBoxButtons.OK); this.cancelReport(); } }
//overloaded constructor. in this case the admin add a report public AdminReportEdit(string Email, string PassHash, int BookingID) { InitializeComponent(); this.Email = Email; this.PassHash = PassHash; this.ReportedBooking = new Report.Booking(); this.newReport = true; subjectTextbox.Text = ""; messageTextBox.Text = ""; DeleteButton.Visible = false; try { BookingManagerClient bookingManager = new BookingManagerClient(); this.reportManager = new ReportManagerClient(); Booking.Booking FetchedBooking = bookingManager.GetBookingByID(BookingID, this.Email, this.PassHash); ReportedBooking.ID = FetchedBooking.ID; ReportedBooking.BookedCar = new Report.Car(); ReportedBooking.BookedCar.PlateNumber = FetchedBooking.BookedCar.PlateNumber; ReportedBooking.Booker = new Report.User(); ReportedBooking.Booker.Email = FetchedBooking.Booker.Email; ReportedBooking.End = FetchedBooking.End; ReportedBooking.Start = FetchedBooking.Start; }catch (Exception exc) { MessageBox.Show("Errore nella connessione al server.", "Proprio non riesco.", MessageBoxButtons.OK); } }
public async Task <IActionResult> SellJourneys([FromBody] string[] journeyFareSellKeys) { var signature = string.Empty; var sessionManager = new SessionManagerClient(); var logonResponse = await sessionManager.LogonAsync(new LogonRequest { logonRequestData = new LogonRequestData { DomainCode = "DEF", AgentName = "sculthorpe070884", Password = "******" } }); var client = new BookingManagerClient(); var sellKeyList = new SellKeyList[journeyFareSellKeys.Length]; for (var i = 0; i < journeyFareSellKeys.Length; i++) { var split = journeyFareSellKeys[i].Split('|'); sellKeyList[i] = new SellKeyList { JourneySellKey = split[0], FareSellKey = split[1] }; } var sellRequestData = new SellRequestData { SellBy = SellBy.JourneyBySellKey, SellJourneyByKeyRequest = new SellJourneyByKeyRequest { SellJourneyByKeyRequestData = new SellJourneyByKeyRequestData { ActionStatusCode = "NN", CurrencyCode = "SAR", JourneySellKeys = sellKeyList, PaxCount = 1, PaxPriceType = new PaxPriceType[] { new PaxPriceType { PaxCount = 1, PaxType = "ADT" } } } } }; var response = await client.SellAsync(348, false, "3.4.13", logonResponse.Signature, sellRequestData); return(new OkObjectResult(response)); }
//constuctor public UserCarBooker(string Email, string PassHash) //this page if accesible only for logged users so it requested the datas of the //logged users { InitializeComponent(); try { //initialize connection with the server this.bookingManager = new BookingManagerClient(); this.carManager = new CarManagerClient(); this.Email = Email; this.PassHash = PassHash; this.UpdateAvailableCars(); bookingBox.DropDownStyle = ComboBoxStyle.DropDownList; carBox.DropDownStyle = ComboBoxStyle.DropDownList; } catch (Exception exc) { MessageBox.Show("Errore nella connessione al server.", exc.ToString(), MessageBoxButtons.OK); this.StopEditing(); } }
//constructor public AdminBookingList(string Email, string PassHash, string UserEmail = "") { this.Email = Email; this.PassHash = PassHash; InitializeComponent(); bookingsListView.Clear(); this.UserEmail = UserEmail; bookingsListView.View = View.Details; bookingsListView.Columns.Add("ID", 230, HorizontalAlignment.Left); bookingsListView.Columns.Add("Targa", 230, HorizontalAlignment.Left); bookingsListView.Columns.Add("Utente", 200, HorizontalAlignment.Left); bookingsListView.Columns.Add("Inizio", 150, HorizontalAlignment.Left); bookingsListView.Columns.Add("Fine", 50, HorizontalAlignment.Left); try { this.bookingManager = new BookingManagerClient(); this.UpdateBookings(); }catch (Exception exc) { MessageBox.Show("Errore nella connessione al server.", "Proprio non riesco.", MessageBoxButtons.OK); } }
public static void GetAvailability1(string source, string destination, string ddate, string returndate, string waytype, string noofPassenger) { IBookingManager bookingManager = new BookingManagerClient(); string signature = Login(); GetAvailabilityRequest gar = new GetAvailabilityRequest(); TripAvailabilityRequest tar = new TripAvailabilityRequest(); AvailabilityRequest ar = new AvailabilityRequest(); ar.DepartureStation = source; // "DEL";// HttpContext.Current.Session["origin"].ToString(); ar.ArrivalStation = destination; // "BOM";// HttpContext.Current.Session["destination"].ToString(); //string[] date = ddate.Split('/');// HttpContext.Current.Session["ddate"].ToString().Split('/'); //int year = int.Parse(date[2]), month = int.Parse(date[1]), day = int.Parse(date[0]); int year = int.Parse(ddate.Substring(0, 4)), month = int.Parse(ddate.Substring(4, 2)), day = int.Parse(ddate.Substring(6)); ar.BeginDate = new DateTime(year, month, day); //Convert.ToDateTime("2015-07-07"); ar.EndDate = new DateTime(year, month, day); ar.FlightType = FlightType.Direct; //ar.FlightNumber = b.FlightNo.Length == 3 ? " " + b.FlightNo : b.FlightNo; int pax = Convert.ToInt16(noofPassenger);//+ Convert.ToInt16(page.child); ar.PaxCount = Convert.ToSByte(pax); ar.Dow = DOW.Daily; ar.CurrencyCode = "INR"; ar.AvailabilityType = AvailabilityType.Default; //change 15 oct 2015 ar.MaximumConnectingFlights = 5; ar.AvailabilityFilter = AvailabilityFilter.Default; //change ar.FareClassControl = FareClassControl.LowestFareClass; ar.MinimumFarePrice = 0; ar.MaximumFarePrice = 0; ar.SSRCollectionsMode = SSRCollectionsMode.None; ar.InboundOutbound = InboundOutbound.None; ar.NightsStay = 0; ar.IncludeAllotments = false; ar.FareTypes = new string[1];// change ar.FareTypes[0] = "R"; //ar.FareTypes = new string[1];// change //ar.FareTypes[0] = "BD"; //ar.ProductClasses = new string[1]; //ar.ProductClasses[0] = "BD"; PaxPriceType[] priceTypes = new PaxPriceType[ar.PaxCount]; for (int i = 0; i < ar.PaxCount; i++) { priceTypes[i] = new PaxPriceType(); priceTypes[i].PaxType = "ADT"; priceTypes[i].PaxDiscountCode = String.Empty; } ar.PaxPriceTypes = priceTypes; ar.IncludeTaxesAndFees = false; ar.FareRuleFilter = FareRuleFilter.Default; ar.LoyaltyFilter = LoyaltyFilter.MonetaryOnly; if (!string.IsNullOrEmpty(returndate))// for round trip { AvailabilityRequest rar = new AvailabilityRequest(); rar.DepartureStation = destination; // "DEL";// HttpContext.Current.Session["origin"].ToString(); rar.ArrivalStation = source; // "BOM";// HttpContext.Current.Session["destination"].ToString(); //string[] date = ddate.Split('/');// HttpContext.Current.Session["ddate"].ToString().Split('/'); //int year = int.Parse(date[2]), month = int.Parse(date[1]), day = int.Parse(date[0]); int ryear = int.Parse(returndate.Substring(0, 4)), rmonth = int.Parse(returndate.Substring(4, 2)), rday = int.Parse(returndate.Substring(6)); rar.BeginDate = new DateTime(ryear, rmonth, rday); //Convert.ToDateTime("2015-07-07"); rar.EndDate = new DateTime(ryear, rmonth, rday); rar.FlightType = FlightType.Direct; //ar.FlightNumber = b.FlightNo.Length == 3 ? " " + b.FlightNo : b.FlightNo; int rpax = Convert.ToInt16(noofPassenger);//+ Convert.ToInt16(page.child); rar.PaxCount = Convert.ToSByte(rpax); rar.Dow = DOW.Daily; rar.CurrencyCode = "INR"; rar.AvailabilityType = AvailabilityType.Default; //change 15 oct 2015 rar.MaximumConnectingFlights = 5; rar.AvailabilityFilter = AvailabilityFilter.Default; //change rar.FareClassControl = FareClassControl.LowestFareClass; rar.MinimumFarePrice = 0; rar.MaximumFarePrice = 0; rar.SSRCollectionsMode = SSRCollectionsMode.None; rar.InboundOutbound = InboundOutbound.None; rar.NightsStay = 0; rar.IncludeAllotments = false; rar.FareTypes = new string[1];// change rar.FareTypes[0] = "R"; //ar.FareTypes = new string[1];// change //ar.FareTypes[0] = "BD"; //ar.ProductClasses = new string[1]; //ar.ProductClasses[0] = "BD"; PaxPriceType[] rpriceTypes = new PaxPriceType[ar.PaxCount]; for (int i = 0; i < ar.PaxCount; i++) { rpriceTypes[i] = new PaxPriceType(); rpriceTypes[i].PaxType = "ADT"; rpriceTypes[i].PaxDiscountCode = String.Empty; } rar.PaxPriceTypes = rpriceTypes; rar.IncludeTaxesAndFees = false; rar.FareRuleFilter = FareRuleFilter.Default; rar.LoyaltyFilter = LoyaltyFilter.MonetaryOnly; tar.AvailabilityRequests = new AvailabilityRequest[2]; tar.AvailabilityRequests[0] = ar; tar.AvailabilityRequests[1] = rar; } else { tar.AvailabilityRequests = new AvailabilityRequest[1]; tar.AvailabilityRequests[0] = ar; } tar.LoyaltyFilter = LoyaltyFilter.MonetaryOnly; gar.TripAvailabilityRequest = tar; gar.Signature = signature; gar.ContractVersion = 0; GetAvailabilityResponse gare = bookingManager.GetAvailability(gar); //if (waytype == "1") GetPrice(signature, gare, noofPassenger); //if (waytype == "2") // GetPriceReturn(signature, gare,page); }
public static void GetPriceReturn(string signature, GetAvailabilityResponse response, string noofPassenger) { IBookingManager bookingManager = new BookingManagerClient(); DataTable flights = Table_Flights(); DataTable fare = Table_Fare(); foreach (JourneyDateMarket[] jdmArray in response.GetTripAvailabilityResponse.Schedules) { foreach (JourneyDateMarket jdm in jdmArray) { foreach (Journey journey in jdm.Journeys) { PriceItineraryRequest pir = new PriceItineraryRequest(); ItineraryPriceRequest ipr = new ItineraryPriceRequest(); ipr.PriceItineraryBy = PriceItineraryBy.JourneyBySellKey; ipr.SellByKeyRequest = new SellJourneyByKeyRequestData(); ipr.SellByKeyRequest.ActionStatusCode = "NN"; SellKeyList[] list = new SellKeyList[1]; list[0] = new SellKeyList(); list[0].JourneySellKey = journey.JourneySellKey; foreach (Segment segment in journey.Segments) { DataRow dr = flights.NewRow(); if (segment.Fares.Length > 0) { list[0].FareSellKey = segment.Fares[0].FareSellKey; dr["ShortDate"] = segment.STD.ToString("ddd MMM d yyyy"); dr["Date"] = segment.STD.ToShortDateString(); dr["From"] = segment.DepartureStation; dr["To"] = segment.ArrivalStation; dr["FlightNo"] = segment.FlightDesignator.FlightNumber; dr["STD"] = segment.STD.ToString("dd/MM/yyy hh:mm tt"); dr["STA"] = segment.STA.ToString("dd/MM/yyy hh:mm tt"); dr["BaseFare"] = segment.Fares[0].PaxFares[0].ServiceCharges[0].Amount; dr["TimeDuration"] = TimeDuration(segment.STD.ToString(), segment.STA.ToString()); flights.Rows.Add(dr); } } ipr.SellByKeyRequest.JourneySellKeys = list; int pax = Convert.ToInt16(noofPassenger);//+ Convert.ToInt16(page.child); ipr.SellByKeyRequest.PaxCount = Convert.ToSByte(pax); PaxPriceType[] priceTypes = new PaxPriceType[ipr.SellByKeyRequest.PaxCount]; for (int i = 0; i < ipr.SellByKeyRequest.PaxCount; i++) { priceTypes[i] = new PaxPriceType(); priceTypes[i].PaxType = "ADT"; priceTypes[i].PaxDiscountCode = string.Empty; } ipr.SellByKeyRequest.PaxPriceType = priceTypes; ipr.SellByKeyRequest.CurrencyCode = "INR"; ipr.SellByKeyRequest.LoyaltyFilter = LoyaltyFilter.MonetaryOnly; ipr.SellByKeyRequest.IsAllotmentMarketFare = false; pir.ItineraryPriceRequest = ipr; pir.Signature = signature; PriceItineraryResponse pire = bookingManager.GetItineraryPrice(pir); foreach (Journey j in pire.Booking.Journeys) { foreach (Segment segment in j.Segments) { foreach (BookingServiceCharge bsc in segment.Fares[0].PaxFares[0].ServiceCharges) { DataRow drr = fare.NewRow(); drr["FlightNo"] = segment.FlightDesignator.FlightNumber; drr["Heads"] = bsc.ChargeType.ToString() + bsc.ChargeCode.ToString(); drr["Amount"] = bsc.Amount; fare.Rows.Add(drr); } } } } } } foreach (DataRow dr in flights.Rows) { dr["TotalFare"] = TotalFare(fare, dr["FlightNo"].ToString()) * (Convert.ToDouble(noofPassenger.ToString())); } HttpContext.Current.Session["Rflights"] = flights; HttpContext.Current.Session["Rfare"] = fare; Logout(signature); }
public async Task <IActionResult> Test() { try { var result = new List <object>(); var sessionManager = new SessionManagerClient(); var logonResponse = await sessionManager.LogonAsync(new LogonRequest { //logonRequestData = new LogonRequestData //{ // DomainCode = "WWW", // AgentName = "awdta1", // Password = "******" //} logonRequestData = new LogonRequestData { DomainCode = "DEF", AgentName = "sculthorpe070884", Password = "******" } }); result.Add(logonResponse); IBookingManager bookingManager = new BookingManagerClient(); // { var bookingResponse = await bookingManager.GetBookingAsync(new GetBookingRequest { Signature = logonResponse.Signature, GetBookingReqData = new GetBookingRequestData { GetByRecordLocator = new GetByRecordLocator { RecordLocator = "V4HSFS"/// "EWRT45" } } }); var availRequest = new AvailabilityRequest { DepartureStation = "JED", ArrivalStation = "RUH", BeginDate = new DateTime(2017, 10, 01), // BeginTime = new Time(), EndDate = new DateTime(2017, 10, 01), // EndTime = new Time(), PaxPriceTypes = new[] { new PaxPriceType { PaxType = "ADT", PaxCount = 1 } }, InboundOutbound = InboundOutbound.Both, FareClassControl = FareClassControl.CompressByProductClass, AvailabilityFilter = AvailabilityFilter.ExcludeUnavailable, AvailabilityType = AvailabilityType.Default, FareRuleFilter = FareRuleFilter.Default, PaxCount = 1, CurrencyCode = "SAR", FareTypes = new[] { "R" }, FlightType = FlightType.All, Dow = DOW.Daily, IncludeAllotments = true, IncludeTaxesAndFees = true, SSRCollectionsMode = SSRCollectionsMode.All, LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, JourneySortKeys = new[] { JourneySortKey.EarliestDeparture, JourneySortKey.LowestFare }, PaxResidentCountry = "SA" }; var availResponse = await bookingManager.GetAvailabilityAsync(new GetAvailabilityRequest { Signature = logonResponse.Signature, TripAvailabilityRequest = new TripAvailabilityRequest { LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, AvailabilityRequests = new[] { availRequest } } }); dto.GetAvailabilityResponse dtoAvailResponse = _mapper.Map <GetAvailabilityResponse, dto.GetAvailabilityResponse>(availResponse); result.Add(dtoAvailResponse); var GetTripAvailabilityWithSSRAsyncResp = await bookingManager.GetTripAvailabilityWithSSRAsync(new GetTripAvailabilityWithSSRRequest { TripAvailabilityWithSSRRequest = new TripAvailabilityWithSSRRequest { AvailabilityRequests = new AvailabilityRequest[] { availRequest }, LoyaltyFilter = Navitaire.NewSkies.WebServices.DataContracts.Common.Enumerations.LoyaltyFilter.PointsAndMonetary, IncludeSSRList = new string[] { "INFT" } }, Signature = logonResponse.Signature }); result.Add(GetTripAvailabilityWithSSRAsyncResp); /* * var legKey = new System.Collections.Generic.List<LegKey>(); * foreach (var segment in availResponse.GetTripAvailabilityResponse.Schedules[0][0].Journeys[0].Segments) * { * legKey.Add(new LegKey { ArrivalStation = segment.ArrivalStation, DepartureStation = segment.DepartureStation, CarrierCode = segment.FlightDesignator.CarrierCode.Trim(), DepartureDate = segment.STD, FlightNumber = segment.FlightDesignator.FlightNumber.Trim(), OpSuffix = segment.FlightDesignator.OpSuffix.Trim() }); * } * GetSSRAvailabilityForBookingRequest getSSRAvailabilityForBookingRequest = new GetSSRAvailabilityForBookingRequest(); * SSRAvailabilityForBookingRequest SSRAvailRequest = new SSRAvailabilityForBookingRequest(); * SSRAvailRequest.SegmentKeyList = legKey.ToArray(); * // "20080303 1L1501 SLCLAX"; * // "20171001 0P 101 JEDRUH"; * // "20171001 0P 101 JEDRUH" * SSRAvailRequest.CurrencyCode = "SAR"; * SSRAvailRequest.PassengerNumberList = new short[] { 0 }; * SSRAvailRequest.InventoryControlled = true; * SSRAvailRequest.NonInventoryControlled = true; * SSRAvailRequest.SeatDependent = true; * SSRAvailRequest.NonSeatDependent = true; * getSSRAvailabilityForBookingRequest.SSRAvailabilityForBookingRequest = SSRAvailRequest; * getSSRAvailabilityForBookingRequest.Signature = logonResponse.Signature; * var getSSRAvailabilityForBookingresult = await bookingManager.GetSSRAvailabilityForBookingAsync(getSSRAvailabilityForBookingRequest); * result[2] = getSSRAvailabilityForBookingRequest; */ var legKeyList = new System.Collections.Generic.List <string>(); foreach (var segment in availResponse.GetTripAvailabilityResponse.Schedules[0][0].Journeys[0].Segments) { // "20080303 1L1501 SLCLAX"; var legKey = string.Format("{0}{1}{2}{3}{4}{5}", segment.STD.ToString("yyyyMMdd"), segment.FlightDesignator.CarrierCode.PadLeft(3, ' '), segment.FlightDesignator.FlightNumber.PadLeft(4, ' '), segment.FlightDesignator.OpSuffix, segment.DepartureStation, segment.ArrivalStation); legKeyList.Add(legKey); } GetSSRAvailabilityRequest getSSRAvailabilityRequest = new GetSSRAvailabilityRequest(); SSRAvailabilityRequest SSRAvailRequest = new SSRAvailabilityRequest(); SSRAvailRequest.InventoryLegKeys = legKeyList.ToArray(); SSRAvailRequest.SSRCollectionsMode = SSRCollectionsMode.All; getSSRAvailabilityRequest.Signature = logonResponse.Signature; getSSRAvailabilityRequest.SSRAvailabilityRequest = SSRAvailRequest; var getSSRAvailabilityresult = await bookingManager.GetSSRAvailabilityAsync(getSSRAvailabilityRequest); result.Add(getSSRAvailabilityresult); // } IUtilitiesManager utilities = new UtilitiesManagerClient(); var stationsResponse = await utilities.GetStationListAsync(new GetStationListRequest { Signature = logonResponse.Signature, EnableExceptionStackTrace = true, GetStationListRequestData = new GetStationListRequestData { CultureCode = "en-US" } }); result.Add(stationsResponse); IAgentManager agentManager = new AgentManagerClient(); var rolesResponse = await agentManager.GetRoleListAsync(new GetRoleListRequest { Signature = logonResponse.Signature }); result.Add(rolesResponse); var logoutResponse = await sessionManager.LogoutAsync(new LogoutRequest { Signature = logonResponse.Signature }); result.Add(logoutResponse); return(new OkObjectResult(result)); } catch (Exception e) { return(new BadRequestObjectResult(e)); } }
internal static void AddNewskiesServices(this IServiceCollection services) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; services.AddSingleton <IBookingManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new BookingManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.BookingManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.BookingManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IAgentManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new AgentManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.AgentManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.AgentManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IPersonManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new PersonManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.PersonManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.PersonManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IUtilitiesManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new UtilitiesManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.UtilitiesManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.UtilitiesManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IOperationManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new OperationManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.OperationManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.OperationManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IQueueManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new QueueManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.QueueManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.QueueManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IVoucherManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new VoucherManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.VoucherManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.VoucherManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <IAccountManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new AccountManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.AccountManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.AccountManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); services.AddSingleton <ISessionManager>(service => { var options = service.GetService(typeof(IOptions <AppSettings>)) as IOptions <AppSettings>; var client = new SessionManagerClient(); if (!string.IsNullOrEmpty(options.Value.NewskiesSettings.ServiceEndpoints.SessionManagerUrl)) { client.Endpoint.Address = new EndpointAddress(options.Value.NewskiesSettings.ServiceEndpoints.SessionManagerUrl); var timeout = options.Value.NewskiesSettings.ServiceTimeoutSeconds; client.Endpoint.Binding.OpenTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.CloseTimeout = TimeSpan.FromSeconds(timeout); client.Endpoint.Binding.SendTimeout = TimeSpan.FromSeconds(timeout); } return(client); }); }