Пример #1
0
        /// <summary>
        /// Metodo para procesar pago con PinPad Móvil
        /// </summary>
        /// <param name="request">Movimiento tarjeta de regalo</param>
        /// <returns>Respuesta de la operación</returns>
        public ResponseBussiness <OperationResponse> ProcesarPagoPinPadMovil(ProcesarMovimientoPagoPinPadMovilRequest request)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    // Se procesan las promociones por venta
                    foreach (var item in request.DescuentosPromocionalesPorVentaAplicados.DescuentoPromocionesAplicados)
                    {
                        OperationResponse response = new OperationResponse();
                        response = repository.PersistirPromocionesVenta(request.FolioOperacionAsociada, token.CodeStore, token.CodeBox, item.ImporteDescuento
                                                                        , item.CodigoPromocionAplicado, item.DescripcionCodigoPromocionAplicado, item.PorcentajeDescuento, item.CodigoRazonDescuento, item.FormaPagoCodigoPromocionAplicado);
                    }

                    // Se procesan las promociones por línea de venta
                    foreach (var item in request.DescuentosPromocionalesPorLineaAplicados.DescuentoPromocionesAplicados)
                    {
                        OperationResponse response = new OperationResponse();
                        response = repository.PersistirPromocionesLineaVenta(request.FolioOperacionAsociada, token.CodeStore, token.CodeBox, item.Secuencia, item.ImporteDescuento
                                                                             , item.CodigoPromocionAplicado, item.DescripcionCodigoPromocionAplicado, item.PorcentajeDescuento, item.CodigoRazonDescuento, item.FormaPagoCodigoPromocionAplicado);
                    }

                    // Se procesa el pago en base de datos localmente
                    OperationResponse respuestaLocal = repository.ProcesarPagoPinPadMovil(token.CodeStore, token.CodeBox, token.CodeEmployee, request);
                    scope.Complete();
                    return respuestaLocal;
                }
            }));
        }
Пример #2
0
        public ResponseBussiness <OperationResponse> RealizarPagoPinPadMovil(ProcesarMovimientoPagoPinPadMovilRequest procesarMovimientoPagoPinPadMovilRequest)
        {
            TokenDto token = new TokenService().Get();
            ResponseBussiness <OperationResponse> response = new PaymentProcessingBusiness(token).ProcesarPagoPinPadMovil(procesarMovimientoPagoPinPadMovilRequest);

            return(response);
        }