public XmlDocument Credenciales(XmlDocument xmlDoc, VO_Credentials vo_Credentials, string sRQ, bool bSession) { clsSerializer cDataXml = new clsSerializer(); try { if (bSession) { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "sessionId", sRQ, vo_Credentials.SessionId); } } catch { } xmlDoc = cDataXml.AsignarParametro(xmlDoc, "User", vo_Credentials.User); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Password", vo_Credentials.Password); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Language", vo_Credentials.Language); return(xmlDoc); }
public clsResultados getServices() { clsSerializer cDataXml = new clsSerializer(); clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); VO_PurchaseConfirmRQ vo_PurchaseConfirmRQ = getParametros(); try { DataTable dtAdult = (DataTable)HttpContext.Current.Session["TableID"]; DataTable dtCh = (DataTable)HttpContext.Current.Session["TableIDCH"]; string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD"); int passajer = 0; string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH"); string sXml = clsEstilosXmlHB.PurchaseConfirmRQ + ".xml"; //string sXml = clsSolicitudesXml.PurchaseConfirmRS + ".xml"; string sRuta = clsConfiguracionHB.RutaArchivosXml; XmlDocument xmlDoc = cDataXml.RecuperarXML(sRuta, sXml); clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp(); XmlNode objNodo2 = null; clsCredencialesHB cCredenciales = new clsCredencialesHB(); xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_PurchaseConfirmRQ.Credentials, clsEstilosXmlHB.PurchaseConfirmRQ, false); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "purchaseToken", "ConfirmationData", vo_PurchaseConfirmRQ.PurchaseToken); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Holder", vo_PurchaseConfirmRQ.Holder.Type); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.Holder.Name, 0); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.Holder.LastName, 0); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AgencyReference", vo_PurchaseConfirmRQ.AgencyReference, 0); int intHabitaciones = vo_PurchaseConfirmRQ.lServiceData.Count; int j = 0; int k = 1; int childs = 0; int Adultos = 0; int Adults = 0; bool infante = true; XmlNode objNodoGen = cDataXml.AsignarNodo(xmlDoc, "ServiceData", 0); XmlNode objNodeAgeGen = cDataXml.AsignarNodo(xmlDoc, "Customer", 0); int iInfant = 0; for (int lcostumer = 0; lcostumer < intHabitaciones; lcostumer++) { passajer = passajer + vo_PurchaseConfirmRQ.lServiceData[lcostumer].lCustomer.Count; } 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; objNodo2 = objNodo; } else { objNodo = objNodo2.Clone(); } if (intIndex < 1) { xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SPUI", "ServiceData", vo_PurchaseConfirmRQ.lServiceData[intIndex].SPUI, intIndex); } if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count > 0) { for (int x = 0; x < vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count; x++) { if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type == sAdulto) { XmlNode objNodoAge = null; // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo if (Adults < 1) { for (int r = 0; r < passajer - 1; r++) { objNodo = objNodeAgeGen.Clone(); cDataXml.AsignarNodo(xmlDoc, "CustomerList", intIndex).AppendChild(objNodo); } xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Name.ToString(), 0); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), 0); Adults = 1; } xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type, j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Age.ToString(), j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "CustomerId", dtAdult.Rows[Adultos]["customerId"].ToString(), j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Name.ToString(), k); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k); j++; k++; Adultos++; } } for (int x = 0; x < vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count; x++) { if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type == sInfante) { XmlNode objNodoAge = null; xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type, j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Age.ToString(), j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "CustomerId", dtCh.Rows[childs]["customerId"].ToString(), j); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k); childs++; j++; k++; } } } } string sXmlRS = sRuta + clsSolicitudesXmlHB.PurchaseConfirmRS + ".xml"; xmlDoc.InnerXml = xmlDoc.InnerXml.ToString().Replace("<LastName></LastName>", ""); xmlDoc.InnerXml = xmlDoc.InnerXml.ToString().Replace("<Name></Name>", ""); HttpContext.Current.Session["TableID"] = null; HttpContext.Current.Session["TableIDCH"] = null; string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_PurchaseConfirmRQ.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml); try { cDataXml.SaveXML(sXmlRS, sResponse); } catch { } //string sResponse = xmlDoc.InnerXml; cResultados.dsResultados = cDataXml.CrearDataSet(sResponse); clsSesiones.setConfirmaHotel(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 = "PurchaseConfirmRQ"; cParametros.Complemento = "Confirmacion 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.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 = "PurchaseConfirmRQ"; cParametros.Complemento = "Confirmacion 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 = "502"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(cResultados); }
public clsResultados getServices(VO_PurchaseReference vo_PurchaseReference) { clsSerializer cDataXml = new clsSerializer(); clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); string sesion = new clsCacheControl().CrearSession() + HttpContext.Current.Session.SessionID.ToString(); //VO_PurchaseReference vo_PurchaseReference = clsSesiones.getPurchaseReference(); try { string sXml = clsEstilosXmlHB.PurchaseCancelRQ + ".xml"; string sRuta = clsConfiguracionHB.RutaArchivosXml; XmlDocument xmlDoc = cDataXml.RecuperarXML(sRuta, sXml); clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp(); clsCredencialesHB cCredenciales = new clsCredencialesHB(); 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_PurchaseReference.Credentials = vo_Credentials; xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_PurchaseReference.Credentials, clsEstilosXmlHB.PurchaseCancelRQ, false); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "IncomingOffice", vo_PurchaseReference.IncomingOffice); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "FileNumber", vo_PurchaseReference.FileNumber, 0); string sXmlRS = sRuta + clsSolicitudesXmlHB.PurchaseCancelRS + ".xml"; string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_PurchaseReference.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml); cDataXml.SaveXML(sXmlRS, sResponse); cResultados.dsResultados = cDataXml.CrearDataSet(sResponse); if (cResultados.dsResultados.Tables.Count < 5) { cParametros.Id = 0; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "PurchaseCancelRQ"; cParametros.Complemento = "Cancelacion de Hoteles"; cParametros.ViewMessage.Add("No existen resultados para esta búsqueda"); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "0"; 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 = "PurchaseCancelRQ"; cParametros.Complemento = "Cancelacion 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 = "0"; cParametros.ValidaInfo = false; cParametros.MessageBD = true; cParametros.TipoWs = Enum_ProveedorWebServices.HotelBeds; cResultados.Error = cParametros; ExceptionHandled.Publicar(cParametros); } return(cResultados); }
public clsResultados getServices(string sId) { clsSerializer cDataXml = new clsSerializer(); clsResultados cResultados = new clsResultados(); clsParametros cParametros = new clsParametros(); VO_ServiceAddRQ vo_ServiceAddRQ = getParametros(sId); try { string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD"); string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH"); string sXml = clsEstilosXmlHB.ServiceAddRQ_Hotel + ".xml"; string sRuta = clsConfiguracionHB.RutaArchivosXml; string sUrl = clsConfiguracionHB.UrlWebService; XmlDocument xmlDoc = cDataXml.RecuperarXML(sRuta, sXml); clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp(); clsCredencialesHB cCredenciales = new clsCredencialesHB(); xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_ServiceAddRQ.Credentials, clsEstilosXmlHB.ServiceAddRQ_Hotel, false); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "availToken", "Service", vo_ServiceAddRQ.AvailToken); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "IncomingOffice", vo_ServiceAddRQ.IncomingOffice); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "DateFrom", vo_ServiceAddRQ.DateFrom); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "DateTo", vo_ServiceAddRQ.DateTo); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Destination", vo_ServiceAddRQ.HotelInfo.Destination); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Code", vo_ServiceAddRQ.HotelInfo.Code, 0); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_ServiceAddRQ.ContractName, 0); int intHabitaciones = vo_ServiceAddRQ.lHotelOccupancy.Count; XmlNode objNodoGen = cDataXml.AsignarNodo(xmlDoc, "AvailableRoom", 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, "Service", 0).AppendChild(objNodo); } xmlDoc = cDataXml.AsignarParametro(xmlDoc, "RoomCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].RoomCount.ToString(), intIndex); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AdultCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.AdultCount.ToString(), intIndex); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "ChildCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.ChildCount.ToString(), intIndex); XmlNode objNodoOcupancy = cDataXml.AsignarNodo(xmlDoc, "Occupancy", intIndex); if (vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count == 0) { objNodoOcupancy.RemoveChild(objNodeAgeGen); } else { for (int x = 0; x < vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count; x++) { if (vo_ServiceAddRQ.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); } xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_ServiceAddRQ.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_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant); xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant); iInfant++; } } } } //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SHRUI", "HotelRoom", vo_ServiceAddRQ.HotelRoom.SHRUI, intIndex); //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Board", vo_ServiceAddRQ.HotelRoom.BoardCode, intIndex); //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "RoomType", vo_ServiceAddRQ.HotelRoom.RoomTypeCode, intIndex); //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "characteristic", "RoomType", vo_ServiceAddRQ.HotelRoom.RoomTypeCharacteristic, intIndex); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SHRUI", "HotelRoom", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.SHRUI, intIndex); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Board", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.BoardCode, intIndex); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "RoomType", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.RoomTypeCode, intIndex); xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "characteristic", "RoomType", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.RoomTypeCharacteristic, intIndex); } string sXmlRS = sRuta + clsSolicitudesXmlHB.ServiceAddRS_Hotel + ".xml"; string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, sUrl, clsConfiguracionHB.FormatoXml); try { cDataXml.SaveXML(sXmlRS, sResponse); } catch { } //// 1 //string sXmlRS = clsSolicitudesXml.ServiceAddRS_Hotel + ".xml"; //XmlDocument xmlDocS = cDataXml.RecuperarXML(sRuta, sXmlRS); //// 1 //string sResponse = xmlDocS.InnerXml; cResultados.dsResultados = cDataXml.CrearDataSet(sResponse); clsSesiones.setReservaHotel(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 = "ServiceAddRQ"; cParametros.Complemento = "Reserva de Hoteles"; cParametros.ViewMessage.Add(cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString()); cParametros.Sugerencia.Add("Por favor intente de nuevo"); cParametros.Code = "503"; 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.Code = "503"; cParametros.Message = Ex.Message; cParametros.Severity = clsSeveridad.Alta; cParametros.Tipo = clsTipoError.WebServices; cParametros.Metodo = "ServiceAddRQ"; cParametros.Complemento = "Reserva 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.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); }