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); }
/// <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; } } })); }