Example #1
0
        /// <summary>
        /// Extrae la informacion de la lectura X y Z
        /// </summary>
        /// <param name="printTicketEgresosRequest"></param>
        public PrintTicketEgresosResponse[] getEgresosTicket(PrintTicketEgresosRequest printTicketEgresosRequest)
        {
            List <PrintTicketEgresosResponse> printTicketEgresosResponsList = new List <PrintTicketEgresosResponse>();
            var parameters = new Dictionary <string, object>();

            if (string.IsNullOrEmpty(printTicketEgresosRequest.FolioCorteZ))
            {
                printTicketEgresosRequest.FolioCorteZ = "";
            }
            else
            {
                printTicketEgresosRequest.FolioRetiro = "";
            }
            parameters.Add("@FolioRetiro", printTicketEgresosRequest.FolioRetiro);
            parameters.Add("@FolioCorteZ", printTicketEgresosRequest.FolioCorteZ);

            foreach (var c in data.GetDataReader("dbo.sp_vanti_DatosTicketEgresosParciales", parameters))
            {
                PrintTicketEgresosResponse printTicketEgresos = new PrintTicketEgresosResponse();
                printTicketEgresos.Texto   = c.GetValue(1).ToString();
                printTicketEgresos.Formato = c.GetValue(0).ToString();
                printTicketEgresosResponsList.Add(printTicketEgresos);
            }

            return(printTicketEgresosResponsList.ToArray());
        }
Example #2
0
        /// <summary>
        /// Lectura Z
        /// </summary>
        /// <returns>Respuesta de la operación</returns>
        public ResponseBussiness <OperationResponse> LecturaZ(LecturaCaja lecturaCaja)
        {
            return(tryCatch.SafeExecutor(() =>
            {
                OperationResponse resultado = new OperationResponse();
                LecturaZGuardarResponse lecturaZGuardarResponse = new LecturaZGuardarResponse();
                LecturaTotalDetalleFormaPago lecturaTotalDetalleFormaPagoCA = null;
                using (TransactionScope scope = new TransactionScope())
                {
                    int secuencia = 1;
                    // Se ejecuta la lectura X
                    LecturaX lecturaX = repository.ObtenerFoliosLecturaX(token.CodeStore, token.CodeBox, token.CodeEmployee, 0);
                    foreach (var lecturaTotalDetalleFormaPago in lecturaCaja.LecturasTotales)
                    {
                        resultado = repository.LecturaX(token.CodeStore, token.CodeBox, token.CodeEmployee, lecturaTotalDetalleFormaPago.InformacionAsociadaFormasPago.CodigoFormaPago, secuencia, lecturaTotalDetalleFormaPago.ImporteFisico, lecturaTotalDetalleFormaPago.ImporteTeorico, lecturaTotalDetalleFormaPago.ImporteFisico, lecturaX);
                        if (lecturaTotalDetalleFormaPago.InformacionAsociadaFormasPago.CodigoFormaPago == "CA")
                        {
                            lecturaTotalDetalleFormaPagoCA = lecturaTotalDetalleFormaPago;
                        }
                        secuencia = secuencia + 1;
                    }
                    // Se ejecutar la lectura Z
                    if (lecturaTotalDetalleFormaPagoCA != null)
                    {
                        lecturaZGuardarResponse = repository.LecturaZ(token.CodeStore, token.CodeBox, token.CodeEmployee,
                                                                      lecturaX.FolioCorteParcial, lecturaTotalDetalleFormaPagoCA.ImporteFisico,
                                                                      lecturaTotalDetalleFormaPagoCA.ImporteTeorico, lecturaTotalDetalleFormaPagoCA.ImporteFisico, 0);
                        resultado.CodeNumber = lecturaZGuardarResponse.CodeNumber;
                        resultado.CodeDescription = lecturaZGuardarResponse.CodeDescription;
                        // Se persisten las denominaciones
                        foreach (var item in lecturaTotalDetalleFormaPagoCA.InformacionAsociadaDenominaciones)
                        {
                            repository.PersistirDenominacionesRetiro(lecturaX.FolioCorteParcial, item.CodigoFormaPago, item.TextoDenominacion, item.Cantidad);
                        }
                    }
                    scope.Complete();
                }

                // Imprimir Ticket
                PrintTickectLecturaBusiness printTickectLectura = new PrintTickectLecturaBusiness(token);
                PrintLecturaRequest printLecturaRequest = new PrintLecturaRequest();
                printLecturaRequest.FolioCorte = lecturaZGuardarResponse.FolioCorte;
                printLecturaRequest.TipoLectura = "z";
                printTickectLectura.PrintNow(printLecturaRequest);

                PrintTicketEgresosBusiness printTicketEgresos = new PrintTicketEgresosBusiness(token);
                PrintTicketEgresosRequest printTicketEgresosRequest = new PrintTicketEgresosRequest();
                printTicketEgresosRequest.FolioCorteZ = lecturaZGuardarResponse.FolioCorte;
                printTicketEgresos.PrintNow(printTicketEgresosRequest);

                return resultado;
            }));
        }
Example #3
0
        public ResponseBussiness <OperationResponse> PrintRetiroParcial(string folio)
        {
            new SecurityBusiness().ValidarPermisos("imprimirTicket", "E");
            TokenDto token = new TokenService().Get();
            PrintTicketEgresosBusiness printTicketEgresos        = new PrintTicketEgresosBusiness(token);
            PrintTicketEgresosRequest  printTicketEgresosRequest = new PrintTicketEgresosRequest();

            printTicketEgresosRequest.FolioCorteZ = folio;
            OperationResponse operation = printTicketEgresos.PrintNow(printTicketEgresosRequest);

            return(operation);
        }
Example #4
0
        /// <summary>
        /// Retiro Parcial de Efectivo
        /// </summary>
        /// <param name="retiroParcialEfectivo">Objeto que representa el retiro parcial de efectivo</param>
        /// <returns>Respuesta de la operación</returns>
        public ResponseBussiness <OperationResponse> RetiroParcialEfectivo(RetiroParcialEfectivo retiroParcialEfectivo)
        {
            return(tryCatch.SafeExecutor(() =>

            {
                OperationResponse operationResponse = new OperationResponse();
                RetiroParcialEfectivoResponse retiroParcialEfectivoResponse = repository.RetiroParcialEfectivo(token.CodeStore, token.CodeBox, token.CodeEmployee, retiroParcialEfectivo);
                operationResponse.CodeDescription = retiroParcialEfectivoResponse.CodeDescription;
                operationResponse.CodeNumber = retiroParcialEfectivoResponse.CodeNumber;

                AbrirCajon();
                PrintTicketEgresosBusiness printTicketEgresos = new PrintTicketEgresosBusiness(token);
                PrintTicketEgresosRequest printTicketEgresosRequest = new PrintTicketEgresosRequest();
                printTicketEgresosRequest.FolioRetiro = retiroParcialEfectivoResponse.FolioRetiro;
                printTicketEgresos.PrintNow(printTicketEgresosRequest);

                return operationResponse;
            }));
        }
Example #5
0
        /// <summary>
        /// Imprime los tickets de egresos
        /// </summary>
        public OperationResponse PrintNow(PrintTicketEgresosRequest printTicketEgresosRequest)
        {
            OperationResponse operationResponse = new OperationResponse();

            try
            {
                this.printTicketEgresosRequest = printTicketEgresosRequest;
                if (printDocument.PrinterSettings.IsValid)
                {
                    printDocument.Print();
                    operationResponse.CodeNumber = "100";
                    operationResponse.CodeNumber = "Impresion correcta";
                    //AbrirCajon();
                }
            }
            catch (Exception exception)
            {
                TryCatchBusinessExecutor tryCatch = new TryCatchBusinessExecutor();
                tryCatch.AddErrorLog <OperationResponse>(exception.Message, exception.StackTrace, "Negocio", exception.ToString(), "Error de impresión");
                operationResponse.CodeNumber = "300";
                operationResponse.CodeNumber = exception.Message;
            }
            return(operationResponse);
        }