Пример #1
0
        private OperationResponse ActivarTarjetaRegalo(FinalizarApartadoRequest request)
        {
            OperationResponse response = new OperationResponse();

            response.CodeNumber = "1";
            TarjetaRegalosBusiness business = new TarjetaRegalosBusiness(this.token);

            foreach (InformacionFoliosTarjeta informacion in request.InformacionFoliosTarjeta)
            {
                var respuesta = business.ActivarTarjeta(this.token.CodeEmployee, informacion.FolioTarjeta.ToString(), request.FolioApartado);
                if (response.CodeNumber == "0")
                {
                    response.CodeDescription = respuesta.Data.CodeDescription;
                }
            }
            return(response);
        }
Пример #2
0
 /// <summary>
 /// Metodo para procesar tarjetas de regalo
 /// </summary>
 /// <param name="request">Movimiento tarjeta de regalo</param>
 /// <returns>Respuesta de la operación</returns>
 public ResponseBussiness <OperationResponse> ProcesarTarjetaRegalo(ProcesarMovimientoTarjetaRegaloRequest request)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         using (TransactionScope scope = new TransactionScope())
         {
             TarjetaRegalosBusiness tarjeta = new TarjetaRegalosBusiness(this.token);
             // 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
             var repuestaLocal = repository.ProcesarMovimientoTarjetaRegalo(token.CodeStore, token.CodeBox, token.CodeEmployee, request);
             if (repuestaLocal.CodeNumber == "353")
             {
                 var transaccion = int.Parse(repuestaLocal.CodeDescription);
                 var respuesta = tarjeta.Cobro(this.token.CodeEmployee, request.FolioTarjeta, transaccion, request.FolioOperacionAsociada, request.ImporteVentaTotal);
                 if (respuesta.CodeNumber != "0")
                 {
                     scope.Complete();
                 }
                 return respuesta;
             }
             else
             {
                 return repuestaLocal;
             }
         }
     }));
 }