private VO_PurchaseConfirmRQ getParametros() { VO_PurchaseConfirmRQ vo_PurchaseConfirmRQ = new VO_PurchaseConfirmRQ(); VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ = clsSesiones.getParametrosHotel(); VO_Holder vo_Holder = new VO_Holder(); List <VO_ServiceData> lvo_ServiceData = new List <VO_ServiceData>(); //List<VO_Customer> lvo_Customer = new List<VO_Customer>(); string sAdulto = string.Empty; try { sAdulto = ConfigurationManager.AppSettings["AdultoHB"].ToString(); } catch { sAdulto = "AD"; } DataSet dsRoomType = clsSesiones.getReservaHotel(); DataTable dtHotelRoom = dsRoomType.Tables[TABLA_HOTEL_ROOM]; DataRow[] drHotelRoom = dtHotelRoom.Select(); vo_PurchaseConfirmRQ.Credentials = vo_HotelValuedAvailRQ.Credentials; int iPos = vo_HotelValuedAvailRQ.lHotelOccupancy.Count; for (int i = 0; i < iPos; i++) { VO_ServiceData vo_ServiceData = new VO_ServiceData(); vo_ServiceData.lCustomer = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList; vo_ServiceData.SPUI = drHotelRoom[0][COLUMN_SPUI].ToString(); lvo_ServiceData.Add(vo_ServiceData); } vo_PurchaseConfirmRQ.lServiceData = lvo_ServiceData; int iContador = lvo_ServiceData[0].lCustomer.Count; for (int j = 0; j < iContador; j++) { if (lvo_ServiceData[0].lCustomer[j].Type.Equals(sAdulto)) { vo_Holder.Name = lvo_ServiceData[0].lCustomer[j].Name; vo_Holder.LastName = lvo_ServiceData[0].lCustomer[j].LastName; vo_Holder.Type = lvo_ServiceData[0].lCustomer[j].Type; break; } } vo_PurchaseConfirmRQ.Holder = vo_Holder; // Traemos la tabla /*Recuperamos la cache para traer el id de la empresa y enviarlo en el AgencyReference*/ clsCache cCache = new csCache().cCache(); vo_PurchaseConfirmRQ.AgencyReference = cCache.Empresa;//drHotelRoom[0][COLUMN_BRANCH].ToString(); vo_PurchaseConfirmRQ.PurchaseToken = drHotelRoom[0][COLUMN_PURCHASE_TOKEN].ToString(); return(vo_PurchaseConfirmRQ); }
private VO_ServiceAddRQ getParametros(string sId) { VO_ServiceAddRQ vo_ServiceAddRQ = new VO_ServiceAddRQ(); VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ = clsSesiones.getParametrosHotel(); VO_HotelInfo vo_HotelInfo = new VO_HotelInfo(); VO_HotelRoom vo_HotelRoom = new VO_HotelRoom(); DataSet dsRoomType = clsSesiones.getResultadoHotel(); string sWhere = COLUMN_SELECCION + "=" + sId + ""; vo_ServiceAddRQ.Credentials = vo_HotelValuedAvailRQ.Credentials; vo_ServiceAddRQ.lHotelOccupancy = vo_HotelValuedAvailRQ.lHotelOccupancy; // Traemos la tabla DataTable dtHotelRoom = dsRoomType.Tables[TABLA_HOTEL_ROOM]; DataRow[] drHotelRoom = dtHotelRoom.Select(sWhere); vo_ServiceAddRQ.AvailToken = drHotelRoom[0][COLUMN_AVAIL_TOKEN].ToString(); vo_ServiceAddRQ.IncomingOffice = drHotelRoom[0][COLUMN_INCOMING_CODE].ToString(); vo_ServiceAddRQ.ContractName = drHotelRoom[0][COLUMN_CONTRACT_NAME].ToString(); vo_ServiceAddRQ.DateFrom = drHotelRoom[0][COLUMN_DATE_FROM].ToString(); vo_ServiceAddRQ.DateTo = drHotelRoom[0][COLUMN_DATE_TO].ToString(); vo_HotelInfo.Code = drHotelRoom[0][COLUMN_HOTEL_INFO_CODE].ToString(); vo_HotelInfo.Destination = vo_HotelValuedAvailRQ.Destination; vo_HotelRoom.BoardCode = drHotelRoom[0][COLUMN_BOARD_CODE].ToString(); vo_HotelRoom.RoomTypeCharacteristic = drHotelRoom[0][COLUMN_CHARASTERISTIC].ToString(); vo_HotelRoom.RoomTypeCode = drHotelRoom[0][COLUMN_CODE].ToString(); vo_HotelRoom.SHRUI = drHotelRoom[0][COLUMN_SHRUI].ToString(); try { for (int j = 0; j < vo_ServiceAddRQ.lHotelOccupancy.Count; j++) { VO_HotelRoom vo_HotelRoomId = new VO_HotelRoom(); vo_HotelRoomId.BoardCode = drHotelRoom[j][COLUMN_BOARD_CODE].ToString(); vo_HotelRoomId.RoomTypeCharacteristic = drHotelRoom[j][COLUMN_CHARASTERISTIC].ToString(); vo_HotelRoomId.RoomTypeCode = drHotelRoom[j][COLUMN_CODE].ToString(); vo_HotelRoomId.SHRUI = drHotelRoom[j][COLUMN_SHRUI].ToString(); vo_ServiceAddRQ.lHotelOccupancy[j].HotelRoom = vo_HotelRoomId; } } catch { } vo_ServiceAddRQ.HotelInfo = vo_HotelInfo; vo_ServiceAddRQ.HotelRoom = vo_HotelRoom; return(vo_ServiceAddRQ); }
public VO_HotelValuedAvailRQ cRecuperaParamHot() { VO_HotelValuedAvailRQ vo_Object = null; try { string idSession = new clsCacheControl().RecuperarSesionId(); string FileCache = "vo_HotelValuedAvailRQ" + idSession; string strPathXML = clsValidaciones.CacheTempCrea(); TextReader txtReader = new StreamReader(strPathXML + FileCache + ".xml"); XmlSerializer SerializerRS = new XmlSerializer(typeof(VO_HotelValuedAvailRQ)); vo_Object = (VO_HotelValuedAvailRQ)SerializerRS.Deserialize(txtReader); txtReader.Close(); txtReader.Dispose(); } catch { } return(vo_Object); }
public void cGuardaParamHot(VO_HotelValuedAvailRQ vo_Object) { try { string idSession = new clsCacheControl().RecuperarSesionId(); string FileCache = "vo_HotelValuedAvailRQ" + idSession; string strPathXML = clsValidaciones.CacheTempCrea(); try { XmlSerializer SerializerRQ = new XmlSerializer(typeof(VO_HotelValuedAvailRQ)); StreamWriter WriterRQ = new StreamWriter(strPathXML + FileCache + ".xml"); SerializerRQ.Serialize(WriterRQ, vo_Object); WriterRQ.Flush(); WriterRQ.Close(); } catch { } } catch { } }
public HotelShopRS getHoteles(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ, string strMoneda, string Ruta) { clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); StringBuilder consulta = new StringBuilder(); HotelShopRQ oHotelShopRQ = new HotelShopRQ(); HotelShopRS oHotelShopRS = new HotelShopRS(); VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip); vo_HotelValuedAvailRQ.Credentials = vo_Credentials; bool bSoloTT = false; try { bSoloTT = bool.Parse(clsValidaciones.GetKeyOrAdd("bSoloTT", "False")); } catch { } try { string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD"); string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH"); int iRoom = vo_HotelValuedAvailRQ.lHotelOccupancy.Count; Room[] oRoomArray = new Room[iRoom]; for (int i = 0; i < iRoom; i++) { Room oRoom = new Room(); int iPax = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList.Count; Pax[] oPaxArray = new Pax[iPax]; for (int j = 0; j < iPax; j++) { Pax oPax = new Pax(); oPax.Age = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Age; if (vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Type.Equals(sAdulto)) { oPax.PaxType = PaxType.Adult; } else { oPax.PaxType = PaxType.Child; } oPaxArray[j] = oPax; } oRoom.Paxes = oPaxArray; oRoomArray[i] = oRoom; } oHotelShopRQ.CityTo = vo_HotelValuedAvailRQ.Destination; oHotelShopRQ.DateFrom = DateTime.Parse(clsValidaciones.ConverFechaSinSeparadorYMD(vo_HotelValuedAvailRQ.CheckInDate)); oHotelShopRQ.DateTo = DateTime.Parse(clsValidaciones.ConverFechaSinSeparadorYMD(vo_HotelValuedAvailRQ.CheckOutDate)); oHotelShopRQ.Rooms = oRoomArray; oHotelShopRQ.Username = vo_Credentials.LoginUser; oHotelShopRQ.Password = vo_Credentials.PasswordUser; oHotelShopRQ.Currency = strMoneda; oHotelShopRQ.Language = "ES"; int iResultados = Convert.ToInt32(clsValidaciones.GetKeyOrAdd("CantidadRHoteles", "500")); try { if (HttpContext.Current.Session["$CantHoteles"] != null) { iResultados = Convert.ToInt32(HttpContext.Current.Session["$CantHoteles"].ToString()); } } catch { } oHotelShopRQ.MaxResults = iResultados; if (bSoloTT) { oHotelShopRQ.ContentType = ContentType.Exclusive; } else { oHotelShopRQ.ContentType = ContentType.NonExclusive; } HotelShopService oHotelShopService = new HotelShopService(); oHotelShopService.Url = clsEsquema.setConexionWs(oHotelShopService.Url); string sRutaGen = Ruta; string sHotelShopRQ = "HotelShopRQ"; string sHotelShopRS = "HotelShopRS"; try { clsXML.ClaseXML(oHotelShopRQ, sRutaGen + sHotelShopRQ + "hilo.xml"); } catch { } oHotelShopRS = oHotelShopService.HotelShop(oHotelShopRQ); try { clsXML.ClaseXML(oHotelShopRS, sRutaGen + sHotelShopRS + "hilo.xml"); } catch { } } catch (Exception Ex) { cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = System.Reflection.MethodBase.GetCurrentMethod().Name; cParametros.Complemento = "Resultados de Hoteles"; cParametros.Source = Ex.Source; consulta.AppendLine("Credenciales: "); try { if (vo_Credentials != null) { consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices); clsCache cCache = new csCache().cCache(); if (cCache != null) { consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString()); } } } catch { } cParametros.Info = consulta.ToString(); cParametros.StackTrace = Ex.StackTrace; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "501"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.TotalTrip; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(oHotelShopRS); }
public clsResultados getServices() { clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); StringBuilder consulta = new StringBuilder(); VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip); try { cResultados.dsResultados = clsSesiones.getReservaHotel(); VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ = clsSesiones.getParametrosHotel(); HotelConfirmRQ oHotelConfirmRQ = new HotelConfirmRQ(); HotelConfirmRS oHotelConfirmRS = new HotelConfirmRS(); HotelFare oHotelFare = getHotelFare(cResultados.dsResultados); oHotelConfirmRQ.HotelFare = oHotelFare; oHotelConfirmRQ.Username = vo_Credentials.LoginUser; oHotelConfirmRQ.Password = vo_Credentials.PasswordUser; HotelConfirmService oHotelConfirmService = new HotelConfirmService(); oHotelConfirmService.Url = clsEsquema.setConexionWs(oHotelConfirmService.Url); string sRutaGen = clsValidaciones.XMLDatasetCrea(); string sHotelConfirmRQ = "HotelConfirmRQ"; string sHotelConfirmRS = "HotelConfirmRS"; clsCache cCache = new csCache().cCache(); try { if (cCache != null) { sHotelConfirmRQ += cCache.SessionID; sHotelConfirmRS += cCache.SessionID; } } catch { } try { clsXML.ClaseXML(oHotelConfirmRQ, sRutaGen + sHotelConfirmRQ + ".xml"); } catch { } oHotelConfirmRS = oHotelConfirmService.HotelConfirm(oHotelConfirmRQ); bool bCambioTarifa = getValidaCambioTarifa(oHotelFare, oHotelConfirmRS.HotelFare); try { clsXML.ClaseXML(oHotelConfirmRS, sRutaGen + sHotelConfirmRS + ".xml"); } catch { } cParametros = new clsEsquema().GetDatasetConfirmaReserva(cResultados.dsResultados, oHotelConfirmRS, bCambioTarifa); if (!cParametros.Id.Equals(0)) { clsSesiones.setReservaHotel(cResultados.dsResultados); cResultados.Error = cParametros; } else { cParametros.Id = 0; cParametros.Message = cResultados.dsResultados.Tables[clsEsquema.TABLA_ERROR].Rows[0][clsEsquema.COLUMN_MESSAGE].ToString(); cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "HotelConfirmRQ"; consulta.AppendLine("Credenciales: "); try { if (vo_Credentials != null) { consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices); if (cCache != null) { consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString()); } } } catch { } cParametros.Info = consulta.ToString(); cParametros.Complemento = "Resultados de Hoteles"; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "502"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.TotalTrip; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } } catch (Exception Ex) { cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = System.Reflection.MethodBase.GetCurrentMethod().Name; cParametros.Complemento = "Confirmacion de reserva de Hoteles"; cParametros.Source = Ex.Source; consulta.AppendLine("Credenciales: "); try { if (vo_Credentials != null) { consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices); clsCache cCache = new csCache().cCache(); if (cCache != null) { consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString()); } } } catch { } cParametros.Info = consulta.ToString(); cParametros.StackTrace = Ex.StackTrace; cParametros.ViewMessage.Add("La reserva no se confirmo"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "502"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.TotalTrip; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(cResultados); }
public HotelFare getHotelFare(DataSet dsData) { clsParametros cParametros = new clsParametros(); HotelFare oHotelFare = new HotelFare(); StringBuilder consulta = new StringBuilder(); VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip); bool bSoloTT = false; try { bSoloTT = bool.Parse(clsValidaciones.GetKeyOrAdd("bSoloTT", "False")); } catch { } try { VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ = clsSesiones.getParametrosHotel(); DataTable dtHotelInfo = dsData.Tables[clsEsquema.TABLA_HOTEL_INFO]; DataTable dtHotelRoom = dsData.Tables[clsEsquema.TABLA_HOTEL_ROOM]; DataTable dtPriceDate = dsData.Tables[clsEsquema.TABLA_PRICE]; if (dtHotelInfo.Rows.Count > 0) { string sWhere = string.Empty; int sHotel = int.Parse(dtHotelInfo.Rows[0][clsEsquema.COLUMN_HOTELCODE].ToString()); string sCityCode = dtHotelInfo.Rows[0][clsEsquema.COLUMN_DESTINATION_CODE].ToString(); decimal dAgencyComision = clsValidaciones.getDecimalNotRound(dtHotelInfo.Rows[0][clsEsquema.COLUMN_AGENCY_COMISION].ToString()); decimal dIva = clsValidaciones.getDecimalNotRound(dtHotelInfo.Rows[0][clsEsquema.COLUMN_IVA].ToString()); int iSource = int.Parse(dtHotelInfo.Rows[0][clsEsquema.COLUMN_SOURCE].ToString()); Hotel oHotel = new Hotel(); string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD"); string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH"); int iRoom = dtHotelRoom.Rows.Count; HotelRoom[] oRoomArray = new HotelRoom[iRoom]; oHotel.CityCode = sCityCode; oHotel.HotelCode = sHotel; oHotel.Source = iSource; for (int i = 0; i < iRoom; i++) { HotelRoomType[] oHotelRoomTypeArray = new HotelRoomType[1]; sWhere = clsEsquema.COLUMN_HOTEL_ROOM_ID + " = " + dtHotelRoom.Rows[i][clsEsquema.COLUMN_HOTEL_ROOM_ID].ToString(); HotelRoom oRoom = new HotelRoom(); HotelRoomType oHotelRoomType = new HotelRoomType(); int iPax = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList.Count; HotelRoomPax[] oPaxArray = new HotelRoomPax[iPax]; for (int j = 0; j < iPax; j++) { HotelRoomPax oPax = new HotelRoomPax(); oPax.Age = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Age; if (vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Type.Equals(sAdulto)) { oPax.PaxType = PaxType.Adult; } else { oPax.PaxType = PaxType.Child; } oPax.EmailAddress = "*****@*****.**"; oPax.FirstName = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Name; oPax.LastName = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].LastName; oPax.PhoneNumber = "571"; oPaxArray[j] = oPax; } oRoom.Paxes = oPaxArray; DataRow[] drRoomsPrices = dtPriceDate.Select(sWhere); int iFechas = drRoomsPrices.Length; EffectiveDate[] eFechasArray = new EffectiveDate[iFechas]; int k = 0; foreach (DataRow drRoomPrice in drRoomsPrices) { EffectiveDate eFechas = new EffectiveDate(); eFechas.Date = DateTime.Parse(drRoomPrice[clsEsquema.COLUMN_DATE].ToString());; eFechas.AmountAfterTax = decimal.Parse(drRoomPrice[clsEsquema.COLUMN_PRICE_AMOUN_AFTER_TAX].ToString()); eFechas.AmountBeforeTax = decimal.Parse(drRoomPrice[clsEsquema.COLUMN_PRICE_AMOUN_BEFORE_TAX].ToString()); eFechas.DiscountAfterTax = decimal.Parse(drRoomPrice[clsEsquema.COLUMN_PRICE_DISCOUNT_AFTER_TAX].ToString()); eFechas.DiscountBeforeTax = decimal.Parse(drRoomPrice[clsEsquema.COLUMN_PRICE_DISCOUNT_BEFORE_TAX].ToString()); try { eFechas.Currency = drRoomPrice[clsEsquema.COLUMN_CURRENCY].ToString(); eFechas.ProviderCurrency = drRoomPrice[clsEsquema.COLUMN_PROVIDER_CURRENCY].ToString(); eFechas.ROE = decimal.Parse(drRoomPrice[clsEsquema.COLUMN_ROE].ToString()); } catch { } eFechasArray[k] = eFechas; k++; } oHotelRoomType.EffectiveDates = eFechasArray; oHotelRoomType.InvBlockCode = dtHotelRoom.Rows[i][clsEsquema.COLUMN_CHARASTERISTIC].ToString(); oHotelRoomType.RatePlanType = dtHotelRoom.Rows[i][clsEsquema.COLUMN_CONFIRM_RATEPLANTYPE].ToString(); oHotelRoomType.RoomDesc = dtHotelRoom.Rows[i][clsEsquema.COLUMN_ROOM_TYPE_TEXT].ToString(); oHotelRoomType.RoomRate = dtHotelRoom.Rows[i][clsEsquema.COLUMN_SHRUI].ToString(); oHotelRoomType.RoomType = dtHotelRoom.Rows[i][clsEsquema.COLUMN_TYPE].ToString(); oHotelRoomType.AmountIncludedBoardSurcharge = decimal.Parse(dtHotelRoom.Rows[i][clsEsquema.COLUMN_ROOM_AMOUNT_SURCHARGE].ToString()); try { if (!dtHotelRoom.Rows[i][clsEsquema.COLUMN_ROOM_TTL].ToString().Equals("True")) { oHotelRoomType.TTL = DateTime.Parse(dtHotelRoom.Rows[i][clsEsquema.COLUMN_ROOM_TTL].ToString()); } } catch { } oHotelRoomTypeArray[0] = oHotelRoomType; oRoom.RoomTypes = oHotelRoomTypeArray; oRoomArray[i] = oRoom; } oHotelFare.Hot = oHotel; oHotelFare.Rooms = oRoomArray; oHotelFare.AgencyCommission = dAgencyComision; oHotelFare.Iva = dIva; if (bSoloTT) { oHotelFare.ContentType = ContentType.Exclusive; } else { oHotelFare.ContentType = ContentType.NonExclusive; } } } catch (Exception Ex) { cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = System.Reflection.MethodBase.GetCurrentMethod().Name; cParametros.Complemento = "Confirmacion de Hoteles"; consulta.AppendLine("Credenciales: "); try { if (vo_Credentials != null) { consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices); clsCache cCache = new csCache().cCache(); if (cCache != null) { consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString()); } } } catch { } cParametros.Info = consulta.ToString(); cParametros.Source = Ex.Source; cParametros.StackTrace = Ex.StackTrace; cParametros.ViewMessage.Add("No se confirmo la reserva"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); ExceptionHandled.Publicar(cParametros); } return(oHotelFare); }
public clsResultados getServicesMulti(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ) { clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); clsSerializer cDataXml = new clsSerializer(); cParametros.Id = 1; cResultados.Error = cParametros; //cResultados.dsResultados = cDataXml.XMLDataset("HotelBeds"); cResultados = getServices(vo_HotelValuedAvailRQ); try { if (!cResultados.Error.Id.Equals(0)) { DataTable dtHotelInfo = cResultados.dsResultados.Tables[TABLA_HOTEL_INFO]; DataTable dtPageData = cResultados.dsResultados.Tables[TABLA_PAGINATION_DATA]; DataTable dtHotelValue = cResultados.dsResultados.Tables[TABLA_HOTEL_VALUE_AVAIL]; int iPaginas = dtHotelInfo.Rows.Count; foreach (DataRow drPageData in dtPageData.Rows) { drPageData[COLUMN_TOTAL_PAGES] = 1; } foreach (DataRow drHotelValue in dtHotelValue.Rows) { drHotelValue[COLUMN_TOTAL_ITEMS] = iPaginas; } dtPageData.AcceptChanges(); dtHotelValue.AcceptChanges(); clsSesiones.setResultadoHotel(cResultados.dsResultados); if (cResultados.dsResultados.Tables.Count < 5) { cParametros.Id = 0; try { cParametros.Code = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString(); cParametros.Info = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString(); cParametros.Message = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString(); } catch { } cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "HotelValuedAvailRQ"; cParametros.Complemento = "Resultados de Hoteles"; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "501"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } else { cParametros.Id = 1; cResultados.Error = cParametros; } } } catch (Exception Ex) { cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "HotelValuedAvailRQ"; cParametros.Complemento = "Resultados de Hoteles"; cParametros.Source = Ex.Source; cParametros.StackTrace = Ex.StackTrace; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "501"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(cResultados); }
public clsResultados getServices(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ) { clsSerializer cDataXml = new clsSerializer(); clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); try { string sesion = new clsCacheControl().CrearSession() + HttpContext.Current.Session.SessionID.ToString(); try { if (sesion.Length > 25) { sesion = sesion.Substring(0, 25); } } catch { } string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD"); string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH"); string sRuta = clsConfiguracionHB.RutaArchivosXml; string sXml = clsEstilosXmlHB.HotelValuedAvailRQ + ".xml"; //string sXmlCopia = sRuta + clsEstilosXmlHB.HotelValuedAvailRQ + "_" + sesion + ".xml"; if (vo_HotelValuedAvailRQ.Zone != null) { sXml = clsEstilosXmlHB.HotelValuedAvailZoneRQ + ".xml"; //sXmlCopia = sRuta + clsEstilosXmlHB.HotelValuedAvailZoneRQ + "_" + sesion + ".xml"; } XmlDocument xmlDoc = cDataXml.RecuperarXML(sRuta, sXml); clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp(); VO_Credentials vo_Credentials = new VO_Credentials(); try { vo_Credentials.Language = ConfigurationManager.AppSettings[clsSesiones.getIdioma()].ToString(); } catch { vo_Credentials.Language = "CAS"; } vo_Credentials.User = clsConfiguracionHB.User; vo_Credentials.Password = clsConfiguracionHB.Password; vo_Credentials.SessionId = sesion; vo_Credentials.UrlWebServices = clsConfiguracionHB.UrlWebService; vo_HotelValuedAvailRQ.Credentials = vo_Credentials; clsSesiones.setParametrosHotel(vo_HotelValuedAvailRQ); //cDataXml.ClaseXML(vo_HotelValuedAvailRQ, clsEstilosXml.HotelValuedAvailRQ); clsCredencialesHB cCredenciales = new clsCredencialesHB(); xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_HotelValuedAvailRQ.Credentials, clsEstilosXmlHB.HotelValuedAvailRQ, true); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "pageNumber", "PaginationData", vo_HotelValuedAvailRQ.PaginationData); if (HttpContext.Current.Session["$Busqueda"] != null) { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "itemsPerPage", "PaginationData", "2000"); } if (HttpContext.Current.Session["$Estrellas"] != null) { string cadena = "<CategoryList><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + HttpContext.Current.Session["$Estrellas"].ToString() + "EST" + '"' + "/><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + HttpContext.Current.Session["$Estrellas"].ToString() + "LL" + '"' + "/><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + "H" + HttpContext.Current.Session["$Estrellas"].ToString() + "_5" + '"' + "/></CategoryList>"; xmlDoc.InnerXml = xmlDoc.InnerXml.Replace("$", cadena); } xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "CheckInDate", vo_HotelValuedAvailRQ.CheckInDate); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "CheckOutDate", vo_HotelValuedAvailRQ.CheckOutDate); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Destination", vo_HotelValuedAvailRQ.Destination); if (vo_HotelValuedAvailRQ.Zone != null) { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Zone", vo_HotelValuedAvailRQ.Zone); if (vo_HotelValuedAvailRQ.Type.Equals(Enum_TypeZone.SIMPLE)) { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Zone", "SIMPLE"); } else { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Zone", "GROUP"); } } int intHabitaciones = vo_HotelValuedAvailRQ.lHotelOccupancy.Count; XmlNode objNodoGen = cDataXml.AsignarNodo(xmlDoc, "HotelOccupancy", 0); XmlNode objNodeAgeGen = cDataXml.AsignarNodo(xmlDoc, "GuestList", 0); int iInfant = 0; for (int intIndex = 0; intIndex < intHabitaciones; intIndex++) { XmlNode objNodo = null; // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo if (intIndex == 0) { objNodo = objNodoGen; } else { objNodo = objNodoGen.Clone(); } if (intIndex > 0) { cDataXml.AsignarNodo(xmlDoc, "OccupancyList", 0).AppendChild(objNodo); } xmlDoc = cDataXml.AsignarParametro(xmlDoc, "RoomCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].RoomCount.ToString(), intIndex); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AdultCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.AdultCount.ToString(), intIndex); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "ChildCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.ChildCount.ToString(), intIndex); XmlNode objNodoOcupancy = cDataXml.AsignarNodo(xmlDoc, "Occupancy", intIndex); if (vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count == 0) { objNodoOcupancy.RemoveChild(objNodeAgeGen); } else { for (int x = 0; x < vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count; x++) { if (vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type == sInfante) { XmlNode objNodoAge = null; // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo if (x == 0) { objNodoAge = objNodeAgeGen; } else { objNodoAge = objNodeAgeGen.Clone(); } if (x > 0) { cDataXml.AsignarNodo(xmlDoc, "GuestList", intIndex).AppendChild(objNodoAge); //cDataXml.AsignarNodo(xmlDoc, "Customer", intIndex).AppendChild(objNodoAge); } xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant); iInfant++; } else { XmlNode objNodoAge = null; // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo if (x == 0) { objNodoAge = objNodeAgeGen; xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant); iInfant++; } } } } } string sXmlRS = sRuta + clsSolicitudesXmlHB.HotelValuedAvailRS + "_pag_" + vo_HotelValuedAvailRQ.PaginationData.ToString() + ".xml"; string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_HotelValuedAvailRQ.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml); //try //{ // //cDataXml.SaveXML(sXmlCopia, xmlDoc.InnerXml); // cDataXml.SaveXML(sXmlRS, sResponse); //} //catch { } cResultados.dsResultados = cDataXml.CrearDataSet(sResponse); //try //{ //cDataXml.SaveXML(sXmlCopia, xmlDoc.InnerXml); //cDataXml.DatasetXML(cResultados.dsResultados, "HotelBeds"); //} //catch { } clsSesiones.setResultadoHotel(cResultados.dsResultados); if (cResultados.dsResultados.Tables.Count < 5) { cParametros.Id = 0; cParametros.Code = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString(); cParametros.Info = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString(); cParametros.Message = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString(); cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "HotelValuedAvailRQ"; cParametros.Complemento = "Resultados de Hoteles"; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "501"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } else { cParametros.Id = 1; cResultados.Error = cParametros; } } catch (Exception Ex) { cParametros.Id = 0; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "HotelValuedAvailRQ"; cParametros.Complemento = "Resultados de Hoteles"; cParametros.Source = Ex.Source; cParametros.StackTrace = Ex.StackTrace; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "501"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(cResultados); }