Beispiel #1
0
        public ResponseBussiness <OperationResponse> PrintRelacionCaja(string reporteId)
        {
            new SecurityBusiness().ValidarPermisos("imprimirTicket", "E");
            TokenDto          token             = new TokenService().Get();
            PrintRelacionCaja printRelacionCaja = new PrintRelacionCaja(token);
            OperationResponse operationResponse = printRelacionCaja.printReporte(Convert.ToInt32(reporteId));

            // Conversión para regresa información al Front
            if (operationResponse.CodeNumber == "100")
            {
                operationResponse.CodeNumber      = "402";
                operationResponse.CodeDescription = "Impresión OK";
            }
            return(operationResponse);
        }
Beispiel #2
0
        /// <summary>
        /// Metodo para actualizar la relacion de caja al registrar el fin de día
        /// </summary>
        /// <param name="token">Token</param>
        /// <param name="relacionCaja">Objeto que contiene la Relación de Caja</param>
        /// <returns></returns>
        public ResponseBussiness <ValidacionOperacionResponse> PersistirRelacionCajaFinDia(TokenDto token, RelacionCaja relacionCaja)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                ValidacionOperacionResponse validacionOperacionResponse = new ValidacionOperacionResponse();
                int idRelacionCaja = -1;
                using (TransactionScope scope = new TransactionScope())
                {
                    // Persistir relacion de caja
                    idRelacionCaja = inicioFinDiaRepository.AgregarRelacionCaja(relacionCaja.CodigoTienda, relacionCaja.TotalConIVA, relacionCaja.TotalSinIVA, relacionCaja.IVA);
                    // Persistir depositos
                    foreach (var deposito in relacionCaja.DepositosAsociados)
                    {
                        inicioFinDiaRepository.AgregarDepositoRelacionCaja(idRelacionCaja, deposito.TotalConIVA,
                                                                           deposito.InformacionAsociadaFormasPago.CodigoFormaPago, deposito.InformacionAsociadaFormasPago.DescripcionFormaPago);
                    }
                    // Persistir grupos
                    foreach (var grupo in relacionCaja.GruposRelacionCaja)
                    {
                        int idGrupo = inicioFinDiaRepository.AgregarGrupoRelacionCaja(idRelacionCaja, grupo.TotalConIVA, grupo.Encabezado);
                        // Persistir secciones
                        foreach (var seccion in grupo.SeccionesRelacionCaja)
                        {
                            int idSeccion = inicioFinDiaRepository.AgregarSeccionRelacionCaja(idGrupo, seccion.TotalConIVA, seccion.Encabezado, seccion.TotalSinIVA, seccion.IVA);
                            foreach (var desglose in seccion.DesgloseRelacionCaja)
                            {
                                inicioFinDiaRepository.AgregarDesgloseSeccionRelacionCaja(idSeccion, desglose.TotalConIVA, desglose.Descripcion);
                            }
                        }
                    }
                    // Registrar Fin de Día exitosamente
                    validacionOperacionResponse = inicioFinDiaRepository.RegistrarFinDia(token);
                    // Terminar la transacción
                    scope.Complete();
                }

                // Imprimir el Reporte de la Relación de Caja
                PrintRelacionCaja printRelacionCaja = new PrintRelacionCaja(token);
                printRelacionCaja.printReporte(idRelacionCaja);

                return validacionOperacionResponse;
            }));
        }