public RulesFromPriceRS getRulesGen() { List <VO_SegmentSelect> lvo_SegmentSelect = new List <VO_SegmentSelect>(); VO_SegmentSelect vo_SegmentSelect = new VO_SegmentSelect(); VO_Pasajero vo_Pasajero = new VO_Pasajero(); vo_Pasajero.SCantidad = "1"; vo_Pasajero.SCodigo = VO_Pasajero.ADULTO; vo_SegmentSelect.SNumber = "1"; vo_SegmentSelect.SEndNumber = "1"; lvo_SegmentSelect.Add(vo_SegmentSelect); List <string> lsCategory = new List <string>(); lsCategory.Add("2"); lsCategory.Add("15"); lsCategory.Add("16"); lsCategory.Add("19"); lsCategory.Add("22"); RulesFromPriceRS oRulesFromPriceRS = new RulesFromPriceRS(); VO_RulesFromPriceRQ vo_RulesFromPriceRQ = new VO_RulesFromPriceRQ(lsCategory, vo_Pasajero, lvo_SegmentSelect, string.Empty, string.Empty); oRulesFromPriceRS = getRules(vo_RulesFromPriceRQ); // termina metodo return(oRulesFromPriceRS); }
public RulesFromPriceRS getRules(VO_RulesFromPriceRQ vo_RulesFromPriceRQ) { RulesFromPriceRS oRulesFromPriceRS = new RulesFromPriceRS(); objvo_Credentials = Ssoft.Utils.clsSesiones.getCredentials(); MessageHeader strMensaje = clsSabreBase.RulesFromPrice(); try { if (strMensaje != null) { int iCountCategory = vo_RulesFromPriceRQ.LsRuleCategoryNumber.Count; int iCountSegment = vo_RulesFromPriceRQ.LvoSegmentSelect.Count; RulesFromPriceRQ oRulesFromPriceRQ = new RulesFromPriceRQ(); RulesFromPriceRQPOS oPOS = new RulesFromPriceRQPOS(); RulesFromPriceRQPOSSource oPOSSource = new RulesFromPriceRQPOSSource(); oPOSSource.PseudoCityCode = objvo_Credentials.Pcc;//ConfigurationManager.AppSettings["Sabre_Ipcc"]; oPOS.Source = oPOSSource; oRulesFromPriceRQ.POS = oPOS; //clase RulesFromPriceRQRuleReqInfo oRuleReqInfo = new RulesFromPriceRQRuleReqInfo(); RulesFromPriceRQRuleReqInfoFareBasis oRuleReqInfoFareBasis = new RulesFromPriceRQRuleReqInfoFareBasis(); RulesFromPriceRQRuleReqInfoPassenger oRuleReqInfoPassenger = new RulesFromPriceRQRuleReqInfoPassenger(); RulesFromPriceRQRuleReqInfoRuleCategory[] oRuleReqInfoRuleCategorys = new RulesFromPriceRQRuleReqInfoRuleCategory[iCountCategory]; RulesFromPriceRQRuleReqInfoRuleCategory oRuleReqInfoRuleCategory = new RulesFromPriceRQRuleReqInfoRuleCategory(); RulesFromPriceRQRuleReqInfoSegmentSelect[] oRuleReqInfoSegmentSelecs = new RulesFromPriceRQRuleReqInfoSegmentSelect[iCountSegment]; RulesFromPriceRQRuleReqInfoSegmentSelect oRuleReqInfoSegmentSelec = new RulesFromPriceRQRuleReqInfoSegmentSelect(); oRuleReqInfoPassenger.TypeNumber = vo_RulesFromPriceRQ.VPassenger.SCantidad; oRuleReqInfoPassenger.Code = vo_RulesFromPriceRQ.VPassenger.SCodigo; for (int i = 0; i < iCountCategory; i++) { oRuleReqInfoRuleCategory.Number = vo_RulesFromPriceRQ.LsRuleCategoryNumber[i]; oRuleReqInfoRuleCategorys[i] = oRuleReqInfoRuleCategory; } for (int i = 0; i < iCountSegment; i++) { oRuleReqInfoSegmentSelec.Number = vo_RulesFromPriceRQ.LvoSegmentSelect[i].SNumber; //oRuleReqInfoSegmentSelec.EndNumber = vo_RulesFromPriceRQ.LvoSegmentSelect[i].SEndNumber; oRuleReqInfoSegmentSelecs[i] = oRuleReqInfoSegmentSelec; } if (!vo_RulesFromPriceRQ.SFareBasisCode.Length.Equals(0)) { oRuleReqInfoFareBasis.Code = vo_RulesFromPriceRQ.SFareBasisCode; } oRuleReqInfo.FareBasis = oRuleReqInfoFareBasis; oRuleReqInfo.Passenger = oRuleReqInfoPassenger; oRuleReqInfo.RuleCategory = oRuleReqInfoRuleCategorys; oRuleReqInfo.SegmentSelect = oRuleReqInfoSegmentSelecs; oRulesFromPriceRQ.RuleReqInfo = oRuleReqInfo; RulesFromPriceRQTPA_Extensions oTPA_Extensions = new RulesFromPriceRQTPA_Extensions(); RulesFromPriceRQTPA_ExtensionsMessagingDetails oTPA_ExtensionsMessagingDetails = new RulesFromPriceRQTPA_ExtensionsMessagingDetails(); RulesFromPriceRQTPA_ExtensionsMessagingDetailsMDRSubset oTPA_ExtensionsMessagingDetailsMDRSubset = new RulesFromPriceRQTPA_ExtensionsMessagingDetailsMDRSubset(); if (!vo_RulesFromPriceRQ.SMDRSubset.Length.Equals(0)) { oTPA_ExtensionsMessagingDetailsMDRSubset.Code = vo_RulesFromPriceRQ.SMDRSubset; } oTPA_ExtensionsMessagingDetails.MDRSubset = oTPA_ExtensionsMessagingDetailsMDRSubset; oTPA_Extensions.MessagingDetails = oTPA_ExtensionsMessagingDetails; oRulesFromPriceRQ.TPA_Extensions = oTPA_Extensions; oRulesFromPriceRQ.Version = clsSabreBase.RULES_FROM_PRICE_VERSION; Security oSecurity = new Security(); oSecurity.BinarySecurityToken = strSesion; RulesFromPriceService oRulesFromPriceService = new RulesFromPriceService(); oRulesFromPriceService.MessageHeaderValue = strMensaje; oRulesFromPriceService.SecurityValue = oSecurity; oRulesFromPriceRS = oRulesFromPriceService.RulesFromPriceRQ(oRulesFromPriceRQ); } if (oRulesFromPriceRS.Errors != null) { //clsParametros cMensaje = new clsParametros(); //cMensaje.Id = 0; //cMensaje.Code = oRulesFromPriceRS.Errors.Error.ErrorCode; //cMensaje.Info = oRulesFromPriceRS.Errors.Error.ErrorInfo.Message; //cMensaje.Message = oRulesFromPriceRS.Errors.Error.ErrorMessage; //cMensaje.Severity = oRulesFromPriceRS.Errors.Error.Severity; //cMensaje.Tipo = clsTipoError.WebServices; //cMensaje.Metodo = "RulesFromPriceRS"; //cMensaje.Complemento = "Reglas de tarifas aereas"; //ExceptionHandled.Publicar(cMensaje); } } catch { //clsParametros cMensaje = new clsParametros(); //cMensaje.Id = 0; //cMensaje.Message = Ex.Message; //cMensaje.Severity = clsSeveridad.Alta; //cMensaje.Tipo = clsTipoError.WebServices; //cMensaje.Metodo = "RulesFromPriceRS"; //cMensaje.Complemento = "Reglas de tarifas aereas"; //cMensaje.Source = Ex.Source; //cMensaje.StackTrace = Ex.StackTrace; //ExceptionHandled.Publicar(cMensaje); } return(oRulesFromPriceRS); }