public async Task <IResponse <ShiftResponse> > GetShifts(DateTime visitDate) { try { var partnerId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.PartnerId); var password = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.Password); var cityId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.CityId); var parkId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.ParkId); TicketBookSoapClient ticketBookSoapClient = new TicketBookSoapClient(TicketBookSoapClient.EndpointConfiguration.TicketBookSoap); Shift_Out[] shiftOut = await ticketBookSoapClient.FnSchedule_ShiftAsync(Convert.ToInt64(cityId), Convert.ToInt64(parkId), visitDate, partnerId, password).ConfigureAwait(false); Vd_Park_Out[] parkOut = await ticketBookSoapClient.FnSchedule_VisitDate_ParkAsync(Convert.ToInt64(parkId), visitDate, partnerId, password).ConfigureAwait(false); return(GetResponse(true, new ShiftResponse { ShiftOut = AutoMapper.Mapper.Map <List <ShiftOut> >(shiftOut), ParkOut = AutoMapper.Mapper.Map <List <ParkOut> >(parkOut) })); } catch (Exception ex) { _logger.Log(LogCategory.Error, new Exception("Failed to get shifts", ex)); return(GetResponse(false, null)); } }
public async Task <IResponse <BookResponse> > BuyAsync(BuyOption buyOption) { try { var partnerId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.PartnerId); var password = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.Password); var cityId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.CityId); var parkId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.ParkId); TicketBookSoapClient ticketBookSoapClient = new TicketBookSoapClient(TicketBookSoapClient.EndpointConfiguration.TicketBookSoap); long[] visitorTypeId = new long[10]; string[] visitorTypeDesc = new string[10]; string[] visitorName = new string[10]; string[] visitorGender = new string[10]; long[] visitorAge = new long[10]; for (int i = 0; i < 10; i++) { visitorTypeDesc[i] = visitorName[i] = visitorGender[i] = string.Empty; } Buy_Out buyOut = await ticketBookSoapClient.BuyAsync(Convert.ToInt64(parkId), partnerId, password, Convert.ToInt64(buyOption.TransactionId), buyOption.PayType, buyOption.PayConfNo, buyOption.Remarks, buyOption.MobileNo, buyOption.VisitDate, buyOption.ShiftId, buyOption.OrderId, buyOption.OrderRef, buyOption.MTR, buyOption.TransactionId, buyOption.RRN, buyOption.PayAuthId).ConfigureAwait(false); return(GetResponse(true, AutoMapper.Mapper.Map <List <BookResponse> >(buyOut).FirstOrDefault())); } catch (Exception ex) { _logger.Log(LogCategory.Error, new Exception("Failed to book tickets", ex)); return(GetResponse(false, null)); } }
public async Task <IResponse <BookResponse> > BookAsync(BookOption bookOption) { try { var partnerId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.PartnerId); var password = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.Password); var cityId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.CityId); var parkId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.ParkId); TicketBookSoapClient ticketBookSoapClient = new TicketBookSoapClient(TicketBookSoapClient.EndpointConfiguration.TicketBookSoap); long[] visitorTypeId = new long[10]; string[] visitorTypeDesc = new string[10]; string[] visitorName = new string[10]; string[] visitorGender = new string[10]; long[] visitorAge = new long[10]; for (int i = 0; i < 10; i++) { visitorTypeDesc[i] = visitorName[i] = visitorGender[i] = string.Empty; } Book_Out bookOut = await ticketBookSoapClient.BookAsync(Convert.ToInt64(parkId), bookOption.ShiftId, bookOption.VisitDate, bookOption.NoOfTickets, visitorTypeId[0], visitorTypeDesc[0], visitorName[0], visitorGender[0], visitorAge[0], visitorTypeId[1], visitorTypeDesc[1], visitorName[1], visitorGender[1], visitorAge[1], visitorTypeId[2], visitorTypeDesc[2], visitorName[2], visitorGender[2], visitorAge[2], visitorTypeId[3], visitorTypeDesc[3], visitorName[3], visitorGender[3], visitorAge[3], visitorTypeId[4], visitorTypeDesc[4], visitorName[4], visitorGender[4], visitorAge[4], visitorTypeId[5], visitorTypeDesc[5], visitorName[5], visitorGender[5], visitorAge[5], visitorTypeId[6], visitorTypeDesc[6], visitorName[6], visitorGender[6], visitorAge[6], visitorTypeId[7], visitorTypeDesc[7], visitorName[7], visitorGender[7], visitorAge[7], visitorTypeId[8], visitorTypeDesc[8], visitorName[8], visitorGender[8], visitorAge[8], visitorTypeId[9], visitorTypeDesc[9], visitorName[9], visitorGender[9], visitorAge[9], partnerId, password, bookOption.TransactionId, bookOption.Ip).ConfigureAwait(false); return(GetResponse(true, AutoMapper.Mapper.Map <List <BookResponse> >(bookOut).FirstOrDefault())); } catch (Exception ex) { _logger.Log(LogCategory.Error, new Exception("Failed to book tickets", ex)); return(GetResponse(false, null)); } }
public async Task <IResponse <VisitorTypeResponse> > GetVisitorTypes(DateTime visitDate, long ShiftId) { try { var partnerId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.PartnerId); var password = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.Password); var cityId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.CityId); var parkId = _settings.GetConfigSetting <string>(SettingKeys.Integration.KidZania.ParkId); TicketBookSoapClient ticketBookSoapClient = new TicketBookSoapClient(TicketBookSoapClient.EndpointConfiguration.TicketBookSoap); Vd_Park_Out[] parkOuts = await ticketBookSoapClient.FnSchedule_VisitDate_ParkAsync(Convert.ToInt64(parkId), visitDate, partnerId, password).ConfigureAwait(false); List <VisitorTypes> VisitorTypes = new List <VisitorTypes>(); if (ShiftId != 0) { IEnumerable <Vd_Park_Out> parkOutsByShiftId = parkOuts.Where(p => p.ShiftId == ShiftId); if (parkOutsByShiftId != null) { parkOuts = parkOuts.Where(p => p.ShiftId == ShiftId).ToArray(); } VisitorTypes = parkOuts[0].VisitorTypes.ToList(); } return(GetResponse(true, new VisitorTypeResponse { VisitorTypes = AutoMapper.Mapper.Map <List <FIL.Contracts.Models.Integrations.Kidzania.VisitorType> >(VisitorTypes) })); } catch (Exception ex) { _logger.Log(LogCategory.Error, new Exception("Failed to get shifts", ex)); return(GetResponse(false, null)); } }