コード例 #1
0
        /// <summary>
        /// Regresa el saldo maximo por el cual puede ser redimido el cupon
        /// </summary>
        /// <returns></returns>
        public CuponRedimirResponse SaldoRedimir(ValidarCuponRequest validarCuponRequest)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                CuponRedimirRequest cuponRedimirRequest = new CuponRedimirRequest();
                CuponRedimirResponse cuponRedimirResponse = new CuponRedimirResponse();
                ProxyCupones.Respuesta consultaCuponResponseWs = new ProxyCupones.Respuesta();

                cuponRedimirRequest.FolioCupon = validarCuponRequest.FolioCupon;
                cuponRedimirRequest.FolioVenta = validarCuponRequest.FolioVenta;
                cuponRedimirRequest.CodigoCaja = this.token.CodeBox;
                cuponRedimirRequest.CodigoTienda = this.token.CodeStore;

                try
                {
                    consultaCuponResponseWs = proxyCupones.ConsultaCupon(this.token.CodeStore, this.token.CodeBox, validarCuponRequest.FolioCupon);
                    if (consultaCuponResponseWs.sError != "")
                    {
                        cuponRedimirRequest.Sesion = Convert.ToInt32(consultaCuponResponseWs.lSesion);
                        // No encuentra el cupon en el WS de milano, busca localmente
                        if (consultaCuponResponseWs.sError == "El folio de cupón no existe; Verifique")
                        {
                            cuponRedimirRequest.SaldoCupon = 0;
                            cuponRedimirRequest.CodigoPromocion = 0;
                            cuponRedimirResponse = repository.ValidarSaldo(cuponRedimirRequest);
                        }
                        else
                        {
                            cuponRedimirResponse.MensajeRedencion = consultaCuponResponseWs.sError;
                            cuponRedimirResponse.Saldo = 0;
                        }
                    }
                    else
                    {
                        cuponRedimirRequest.SaldoCupon = Convert.ToDouble(consultaCuponResponseWs.dSaldo);
                        cuponRedimirRequest.CodigoPromocion = consultaCuponResponseWs.iCodigoPromocion;
                        cuponRedimirRequest.Sesion = Convert.ToInt32(consultaCuponResponseWs.lSesion);
                        cuponRedimirResponse = repository.ValidarSaldo(cuponRedimirRequest);
                    }
                }
                catch (Exception exception)
                {
                    TryCatchBusinessExecutor tryCatch = new TryCatchBusinessExecutor();
                    tryCatch.AddErrorLog <OperationResponse>(exception.Message, exception.StackTrace, "Servicio milano", exception.ToString(), "Error de comunicacion servicios milano");
                    cuponRedimirRequest.SaldoCupon = 0;
                    cuponRedimirRequest.CodigoPromocion = 0;
                    cuponRedimirRequest.Sesion = 0;
                    cuponRedimirResponse = repository.ValidarSaldo(cuponRedimirRequest);
                }
                return cuponRedimirResponse;
            }));
        }
コード例 #2
0
        /// <summary>
        /// Realizar Venta de Cupón Promocional
        /// </summary>
        /// <param name="codigoCajero">Código del cajero</param>
        /// <param name="codigoTipoTrxCab">Código del tipo de transacción</param>
        /// <param name="folioVenta">Folio de la operacióna</param>
        /// <param name="folioCupon">Folio del cupón</param>
        /// <param name="transaccion">Transacción del sistema</param>
        /// <param name="montoPagado">Monto pagado</param>
        /// <returns></returns>
        public OperationResponse RealizarVentaCuponPromocional(int codigoCajero, string folioVenta, string folioCupon, int transaccion, decimal montoPagado, string codigoTipoTrxCab)
        {
            OperationResponse operation = new OperationResponse();

            ProxyCupones.Respuesta respuesta = new ProxyCupones.Respuesta();
            try
            {
                respuesta = proxyCupones.RealizarVenta(this.token.CodeStore, this.token.CodeBox, Int32.Parse(codigoTipoTrxCab), folioVenta, codigoCajero, folioCupon, transaccion, montoPagado);
                if (respuesta.sError == "")
                {
                    CuponPersistirRequest cuponPersistirRequest = new CuponPersistirRequest();
                    cuponPersistirRequest.CodigoCaja      = this.token.CodeBox;
                    cuponPersistirRequest.CodigoTienda    = this.token.CodeStore;
                    cuponPersistirRequest.CodigoEmpleado  = this.token.CodeEmployee;
                    cuponPersistirRequest.FolioCupon      = folioCupon;
                    cuponPersistirRequest.FolioVenta      = folioVenta;
                    cuponPersistirRequest.Transaccion     = transaccion;
                    cuponPersistirRequest.MaximoRedencion = montoPagado;
                    cuponPersistirRequest.Sesion          = Convert.ToInt64(respuesta.lSesion);

                    repository.PersistirCupon(cuponPersistirRequest);
                    operation.CodeNumber      = respuesta.sEstatus;
                    operation.CodeDescription = respuesta.sMensaje;
                }
                else
                {
                    operation.CodeNumber      = "0";
                    operation.CodeDescription = respuesta.sError;
                }
            }
            catch (Exception ex)
            {
                operation.CodeNumber      = "0";
                operation.CodeDescription = ex.Message;
            }
            return(operation);
        }