Exemplo n.º 1
0
        /// <summary>
        /// Cancela una promocion
        /// </summary>
        /// <param name="hotel"></param>
        /// <param name="folio"></param>
        /// <param name="promotion"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 27/Mayo/2016 Created
        /// </history>
        private async static Task <ActualizaEstatusPromoForzadaResponse> ActualizaEstatusPromoForzadaFolio(string hotel, string folio, string promotion)
        {
            return(await Task.Run(() =>
            {
                try
                {
                    ActualizaEstatusPromoForzadaRequest Request = new ActualizaEstatusPromoForzadaRequest();
                    ActualizaEstatusPromoForzadaResponse Response = null;
                    // configuramos el request
                    Request.hotel = hotel;
                    Request.folio = folio;
                    Request.promo = promotion;
                    Request.estatus = "BAJA";

                    // Invocamos al servicio web
                    Response = Current().ActualizaEstatusPromoForzadaFolio(Request);

                    // si ocurrio un error
                    if (Response.hasErrors)
                    {
                        throw new Exception(Response.errorInfo);
                    }
                    return Response;
                }
                catch (Exception)
                {
                    throw;
                }
            }));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Cancela una promoción de Sistur
        /// </summary>
        /// <param name="Gift"></param>
        /// <param name="Promotion"></param>
        /// <param name="GiftsCancelled"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 26/Mayo/2016 Created
        /// [vipacheco] 25/Julio/2016 Modified --> se agrego asyncronia
        /// </history>
        public async static Task <bool> CancelPromotionSistur(string pGift, string Promotion, string Program, string LeadSource, string PropertyOpera, int ReceiptID, TextBox txtReservation, List <string> pGiftsCancelled)
        {
            try
            {
                ActualizaEstatusPromoForzadaResponse Response = new ActualizaEstatusPromoForzadaResponse();
                string Hotel, Reservation;

                // si es inhouse
                if (Program == "IH")
                {
                    // si es una invitacion inhouse
                    if (!string.IsNullOrEmpty(txtReservation.Text))
                    {
                        Hotel       = LeadSource;
                        Reservation = txtReservation.Text;
                    }
                    // si es una invitacion externa
                    else
                    {
                        Hotel       = PropertyOpera;
                        Reservation = $"{ReceiptID}";
                    }
                }
                // Si es outhouse
                else
                {
                    Hotel       = PropertyOpera;
                    Reservation = $"{ReceiptID}";
                }

                // Si se puede cancelar la promocion de sistur
                if (await AllowCancelPromotionSistur(Hotel, Reservation, Promotion, pGift))
                {
                    // Se da de baja la promocion en el sistema de promociones
                    Response = await ActualizaEstatusPromoForzadaFolio(Hotel, Reservation, Promotion);

                    //Si ocurrio un error
                    if (Response.hasErrors)
                    {
                        throw new Exception(Response.errorInfo);
                    }

                    // cancelamos el regalo en Origos
                    await BRGiftsReceiptDetail.UpdateGiftsPromotionSisturCancel(ReceiptID, pGift);

                    // Agregamos el regalo a la lista de regalos cancelados
                    pGiftsCancelled.Add(pGift);

                    return(true);
                }
                return(false);
            }
            catch (Exception)
            {
                throw;
            }
        }