Exemple #1
0
        /// <summary>
        /// Determina si se puede cancelar una promocion de Sistur
        /// </summary>
        /// <param name="Hotel"></param>
        /// <param name="Reservation"></param>
        /// <param name="Promotion"></param>
        /// <param name="Gift"></param>
        /// <param name="enumPromotionsSystem"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 27/Mayo/2016 Created
        /// </history>
        private async static Task <bool> AllowCancelPromotionSistur(string Hotel, string Reservation, string Promotion, string Gift)
        {
            OstdtpromosResponse[] Details;
            bool blnAllow            = false;
            OstpromosResponse Header = null;
            float             Used   = 0;

            Details = await ObtenerDetalleEstadoCuenta(Hotel, Reservation, Promotion);

            // si no tiene detalle
            if (Details == null)
            {
                blnAllow = true;
            }
            else if ((Details.Length == 0))
            {
                blnAllow = true;
            }
            // si tiene detalle
            else
            {
                Header = ObtenerCabeceraEstadoCuenta(Hotel, Convert.ToInt32(Reservation), Promotion);
                // si ocurrio un error al consultar el detalle del estado de cuenta
                //  calculamos el monto usado del detalle
                foreach (OstdtpromosResponse Detail in Details)
                {
                    if (Detail.idpromo == Promotion)
                    {
                        if (Detail.operacion.Equals("C"))
                        {
                            Used += Detail.monto;
                        }
                        else
                        {
                            Used -= Detail.monto;
                        }
                    }
                }
            }
            return(blnAllow);
        }
Exemple #2
0
        /// <summary>
        /// Consulta el encabezado del estado de cuenta de una promocion
        /// </summary>
        /// <param name="hotel"></param>
        /// <param name="folio"></param>
        /// <param name="promotion"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        /// <history>
        /// [vipacheco] 27/Mayo/2016 Created
        /// </history>
        private static OstpromosResponse ObtenerCabeceraEstadoCuenta(string hotel, int folio, string promotion)
        {
            BeneficiosxFolioRequest Request = new BeneficiosxFolioRequest();

            OstpromosResponse[] Response = null;
            OstpromosResponse   Header   = null;

            // Configuramos el request
            Request.hotel   = hotel;
            Request.folio   = folio;
            Request.idpromo = promotion;

            // invocamos al servicio web
            Response = Current().ObtenerCabeceraEstadoCuenta(Request);

            if (Response != null)
            {
                Header = Response[0];
            }
            return(Header);
        }