/// <summary> /// Agrega una promocion /// </summary> /// <param name="Promotions"></param> /// <param name="Hotel"></param> /// <param name="Folio"></param> /// <param name="Promotion"></param> /// <param name="GiftID"></param> /// <param name="ReceiptID"></param> /// <param name="User"></param> /// <param name="enumPromotionsSystem"></param> /// <history> /// [vipacheco] 27/Mayo/2016 Created /// [vipacheco] 23/Agosto/2016 Modified -> se cambio el tipo del parametro Promotions /// </history> public static void AddPromotion(ref List <GuardaPromocionForzadaRequest> Promotions, string Hotel, string Folio, string Promotion, string GiftID, int ReceiptID, string User, EnumPromotionsSystem enumPromotionsSystem) { GuardaPromocionForzadaRequest request = new GuardaPromocionForzadaRequest() { hotel = Hotel, folio = Folio, adicional = (enumPromotionsSystem == EnumPromotionsSystem.PVP) ? "1" : "0", idpromo = Promotion, GiftID = GiftID, GiftsReceiptID = $"{ReceiptID}", usralta = User, fechaalta = BRHelpers.GetServerDate(), idtipoasignacion = "CONT", status = "A", tipomov = "", usrmodif = "" }; Promotions.Add(request); }
/// <summary> /// Obtiene los regalos de promociones de Sistur /// </summary> /// <param name="ReceiptID"></param> /// <param name="ChangeBy"></param> /// <param name="UserID"></param> /// <param name="aGifts"></param> /// <param name="enumPromotionsSystem"></param> /// <returns></returns> /// <history> /// [vipacheco] 27/Mayo/2016 Created /// [vipacheco] 25/Julio/2016 Modified --> Se agreggo asyncronia /// </history> public async static Task <List <GuardaPromocionForzadaRequest> > GetGiftsPromotionsSistur(int ReceiptID, string ChangeBy, string UserID, List <GiftType> aGifts) { List <GuardaPromocionForzadaRequest> aPromotions = new List <GuardaPromocionForzadaRequest>(); string Hotel = string.Empty; string Folio = string.Empty; //int Company = 0; string Application = string.Empty; string MembershipType = string.Empty; // obtenemos las promociones de Sistur que no se han dado List <GiftsReceiptDetailPromotionsSistur> Result = await BRGiftsReceiptDetail.GetGiftsReceiptDetailPromotionsPVP(ReceiptID); // por default se van a guardar al sistema de Promociones de Sistur EnumPromotionsSystem enumPromotionsSystem = EnumPromotionsSystem.Sistur; if (Result.Count > 0) { GiftsReceiptDetailPromotionsSistur Detail = Result[0]; // Si es inhouse if (Detail.lspg.Equals("IH")) { // Si es una invitacion inhouse if (Detail.guHReservID != null) { Hotel = Detail.gulsOriginal; Folio = Detail.guHReservID; } // si es una invitacion externa else { Hotel = Detail.lsPropertyOpera; Folio = $"{ReceiptID}"; } // Si el Lead Source usa sistur if (Detail.lsUseSistur) { enumPromotionsSystem = EnumPromotionsSystem.Sistur; } } // Si es outhouse else { Hotel = Detail.srPropertyOpera; Folio = $"{ReceiptID}"; // Si la sala de ventas usa sistur if (Detail.srUseSistur) { enumPromotionsSystem = EnumPromotionsSystem.Sistur; } } // si es una invitacion externa u outhouse if ((Detail.lspg.Equals("IH") && Detail.guHReservID == null) || Detail.lspg.Equals("OUT")) { // guardamos la reservacion ficticia WirePRHelper.Origos_reservas_ficticias_Guardar(Hotel, Convert.ToInt32(Folio), Detail.guFirstName1, Detail.guLastName1); } } for (int i = 0; i < Result.Count; i++) { GiftsReceiptDetailPromotionsSistur _Detail = Result[i]; // preparamos los regalos con promociones que se guardaran en Sistur AddPromotion(ref aPromotions, Hotel, Folio, _Detail.giPVPPromotion, _Detail.gegi, ReceiptID, (!string.IsNullOrEmpty(ChangeBy) ? ChangeBy : UserID), enumPromotionsSystem); // preparamos los regalos con promociones que se guardaran en Origos GiftType typGift = new GiftType(); typGift.ID = _Detail.gegi; typGift.Descripcion = _Detail.giN; typGift.Quantity = 0; typGift.Receipt = ReceiptID; typGift.Promotion = _Detail.giPVPPromotion; typGift.TransactionTypeOpera = ""; // Agregamos a la lista aGifts.Add(typGift); } return(aPromotions); }