public RemitoStockModel(IUnitOfWorkRepository unitOfWork)
 {
     _unitOfWork  = unitOfWork;
     _cliente     = new ClienteModel(unitOfWork);
     _articulo    = new ArticuloModel(unitOfWork);
     _comprobante = new ComprobanteModel(unitOfWork);
 }
Пример #2
0
 static IEnumerable <AlicIva> FEIVAS(this IComprobante comprobante)
 {
     //TODO revisar porque quizas el IVA exento tendria que tratarlo de otra forma
     return(from i in comprobante.IVAItems.Where(i => i.IVA != IVA.Exento)
            select new AlicIva {
         Id = (int)i.IVA,
         BaseImp = (double)i.Neto,
         Importe = (double)i.Importe
     });
 }
Пример #3
0
 static IEnumerable <Tributo> FETributos(this IComprobante comprobante)
 {
     return(from i in comprobante.Impuestos
            select new Tributo {
         Alic = (double)i.Alicuota,
         BaseImp = (double)i.BaseImponible,
         Desc = i.Impuesto.Descripcion,
         Id = 2,                 //HACK impuestos provinciales
         Importe = (double)i.Importe,
     });
 }
Пример #4
0
 public void ImprimirRemitoProveedor(IComprobante remito, int copias)
 {
     fiscalHasar.AbrirComprobanteNoFiscal(TiposDeEstacion.ESTACION_TICKET);
     fiscalHasar.ImprimirTextoNoFiscal("Proveedor:");
     fiscalHasar.ImprimirTextoNoFiscal(Limpiar(remito.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoNoFiscal("Articulos:");
     foreach (IItem renglon in remito.Items)
     {
         fiscalHasar.ImprimirTextoNoFiscal(string.Format("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoNoFiscal(renglon.DescripcionCorta);
     }
     fiscalHasar.CerrarComprobanteNoFiscal(copias);
 }
Пример #5
0
        public void ImprimirRemitoProveedor(IComprobante remito, int copias)
        {
            fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.GENERICO);
            var atributos = new hfl.argentina.Hasar_Funcs.AtributosDeTexto();

            fiscalHasar.ImprimirTextoGenerico(atributos, "Proveedor:");
            fiscalHasar.ImprimirTextoGenerico(atributos, Limpiar(remito.Responsable.RazonSocial));
            fiscalHasar.ImprimirTextoGenerico(atributos, "Articulos:");
            foreach (IItem renglon in remito.Items)
            {
                fiscalHasar.ImprimirTextoGenerico(atributos, string.Format("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
                fiscalHasar.ImprimirTextoGenerico(atributos, renglon.DescripcionCorta);
            }
            fiscalHasar.CerrarDocumento();
        }
Пример #6
0
 public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
 {
     fiscalHasar.AbrirComprobanteNoFiscal (TiposDeEstacion.ESTACION_TICKET);
     fiscalHasar.ImprimirTextoNoFiscal ("Comprobante de Cuenta Corriente:");
     fiscalHasar.ImprimirTextoNoFiscal (Limpiar (factura.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoNoFiscal ("Articulos:");
     foreach (IItem renglon in factura.Items) {
         fiscalHasar.ImprimirTextoNoFiscal (string.Format ("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoNoFiscal (renglon.DescripcionCorta);
     }
     fiscalHasar.ImprimirTextoNoFiscal (string.Format ("Importe: $ {0}", factura.Total));
     fiscalHasar.ImprimirTextoNoFiscal ("Firma:");
     fiscalHasar.AvanzarPapel (TiposDePapel.PAPEL_TICKET_Y_DIARIO, 2);
     fiscalHasar.ImprimirTextoNoFiscal ("Aclaracion:");
     fiscalHasar.AvanzarPapel (TiposDePapel.PAPEL_TICKET_Y_DIARIO, 2);
     fiscalHasar.CerrarComprobanteNoFiscal (1);
 }
Пример #7
0
 public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
 {
     fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.GENERICO);
     var atributos = new hfl.argentina.Hasar_Funcs.AtributosDeTexto ();
     fiscalHasar.ImprimirTextoGenerico (atributos, "Comprobante de Cuenta Corriente:");
     fiscalHasar.ImprimirTextoGenerico (atributos, Limpiar (factura.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoGenerico (atributos, "Articulos:");
     foreach (IItem renglon in factura.Items) {
         fiscalHasar.ImprimirTextoGenerico (atributos, string.Format ("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoGenerico (atributos, renglon.DescripcionCorta);
     }
     fiscalHasar.ImprimirTextoGenerico (atributos, string.Format ("Importe: $ {0}", factura.Total));
     fiscalHasar.ImprimirTextoGenerico (atributos, "Firma:");
     fiscalHasar.AvanzarPapelAmbasEstaciones (2);
     fiscalHasar.ImprimirTextoGenerico (atributos, "Aclaracion:");
     fiscalHasar.AvanzarPapelAmbasEstaciones (2);
     fiscalHasar.CerrarDocumento ();
 }
Пример #8
0
 public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
 {
     fiscalHasar.AbrirComprobanteNoFiscal(TiposDeEstacion.ESTACION_TICKET);
     fiscalHasar.ImprimirTextoNoFiscal("Comprobante de Cuenta Corriente:");
     fiscalHasar.ImprimirTextoNoFiscal(Limpiar(factura.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoNoFiscal("Articulos:");
     foreach (IItem renglon in factura.Items)
     {
         fiscalHasar.ImprimirTextoNoFiscal(string.Format("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoNoFiscal(renglon.DescripcionCorta);
     }
     fiscalHasar.ImprimirTextoNoFiscal(string.Format("Importe: $ {0}", factura.Total));
     fiscalHasar.ImprimirTextoNoFiscal("Firma:");
     fiscalHasar.AvanzarPapel(TiposDePapel.PAPEL_TICKET_Y_DIARIO, 2);
     fiscalHasar.ImprimirTextoNoFiscal("Aclaracion:");
     fiscalHasar.AvanzarPapel(TiposDePapel.PAPEL_TICKET_Y_DIARIO, 2);
     fiscalHasar.CerrarComprobanteNoFiscal(1);
 }
Пример #9
0
        public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
        {
            fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.GENERICO);
            var atributos = new hfl.argentina.Hasar_Funcs.AtributosDeTexto();

            fiscalHasar.ImprimirTextoGenerico(atributos, "Comprobante de Cuenta Corriente:");
            fiscalHasar.ImprimirTextoGenerico(atributos, Limpiar(factura.Responsable.RazonSocial));
            fiscalHasar.ImprimirTextoGenerico(atributos, "Articulos:");
            foreach (IItem renglon in factura.Items)
            {
                fiscalHasar.ImprimirTextoGenerico(atributos, string.Format("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
                fiscalHasar.ImprimirTextoGenerico(atributos, renglon.DescripcionCorta);
            }
            fiscalHasar.ImprimirTextoGenerico(atributos, string.Format("Importe: $ {0}", factura.Total));
            fiscalHasar.ImprimirTextoGenerico(atributos, "Firma:");
            fiscalHasar.AvanzarPapelAmbasEstaciones(2);
            fiscalHasar.ImprimirTextoGenerico(atributos, "Aclaracion:");
            fiscalHasar.AvanzarPapelAmbasEstaciones(2);
            fiscalHasar.CerrarDocumento();
        }
Пример #10
0
 public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
 {
     throw new NotImplementedException ();
 }
Пример #11
0
 public void ImprimirRemitoProveedor(IComprobante remito)
 {
     throw new NotImplementedException ();
 }
Пример #12
0
        public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
        {
            try {
                switch (factura.Responsable.CondicionDeIVA) {
                case SituacionIVA.SIN_DATO:
                    throw new Exception ("No se puede facturar a un cliente que no tiene declarada situacion respecto al IVA");
                case SituacionIVA.CONSUMIDOR_FINAL:
                    fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_C);
                    break;
                case SituacionIVA.MONOTRIBUTO:
                    fiscalHasar.CargarDatosCliente (
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace ("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.MONOTRIBUTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                    );
                    fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_B);
                    break;
                case SituacionIVA.RESPONSABLE_INSCRIPTO:
                    fiscalHasar.CargarDatosCliente (
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace ("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.RESPONSABLE_INSCRIPTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                    );
                    fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_A);
                    break;
                case SituacionIVA.EXENTO:
                    fiscalHasar.CargarDatosCliente (
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace ("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.RESPONSABLE_EXENTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                    );
                    fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_B);
                    break;
                }

                //IMPRIMO RENGLONES
                foreach (IItem renglon in factura.Items) {
                    fiscalHasar.ImprimirItem (
                        renglon.DescripcionCorta,
                        (double)renglon.Cantidad,
                        (double)renglon.Precio,
                        HasarImpresoraFiscalRG3561.CondicionesIVA.GRAVADO,
                        (double)renglon.TasaIVA,
                        HasarImpresoraFiscalRG3561.ModosDeMonto.MODO_SUMA_MONTO,
                        HasarImpresoraFiscalRG3561.ModosDeImpuestosInternos.II_FIJO_MONTO,
                        (double)renglon.Impuestos,
                        HasarImpresoraFiscalRG3561.ModosDeDisplay.DISPLAY_SI,
                        HasarImpresoraFiscalRG3561.ModosDePrecio.MODO_PRECIO_TOTAL,
                        string.Empty
                    );
                }

                double vuelto = 0;
                //IMPRIMO PAGOS
                if (recibo != null) {
                    foreach (IItem ren in recibo.Items) {
                        Console.WriteLine ((ren.Total + vueltoefectivo));
                        var respuesta = fiscalHasar.ImprimirPago (ren.Descripcion, (double)(ren.Total + vueltoefectivo), HasarImpresoraFiscalRG3561.ModosDePago.PAGAR);
                        vuelto = respuesta.getSaldo ();
                    }
                    vueltoefectivo = (decimal)vuelto;
                } else {
                    fiscalHasar.ImprimirPago ("CUENTA CORRIENTE", (double)factura.Total, HasarImpresoraFiscalRG3561.ModosDePago.PAGAR);
                }

                //Cierro el documento
                var respuestaDocumento = fiscalHasar.CerrarDocumento ();
                var numero = respuestaDocumento.getNumeroComprobante ();
                //FIX aca deberia guardar el numero pelado, y tener una propiedad NumeroCompleto
                factura.Numero = string.Format ("{0}-{1}", factura.PuntoDeVenta.PadLeft (4, char.Parse ("0")), numero.ToString ().PadLeft (8, char.Parse ("0")));
                Console.WriteLine (numero);
            } catch (HasarException ex) {
                Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + ex.getMessage ());
                fiscalHasar.Cancelar ();
                throw ex;
            }
        }
Пример #13
0
        public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
        {
            try {
                switch (factura.Responsable.CondicionDeIVA)
                {
                case SituacionIVA.SIN_DATO:
                    throw new Exception("No se puede facturar a un cliente que no tiene declarada situacion respecto al IVA");

                case SituacionIVA.CONSUMIDOR_FINAL:
                    fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_C);
                    break;

                case SituacionIVA.MONOTRIBUTO:
                    fiscalHasar.CargarDatosCliente(
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.MONOTRIBUTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                        );
                    fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_B);
                    break;

                case SituacionIVA.RESPONSABLE_INSCRIPTO:
                    fiscalHasar.CargarDatosCliente(
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.RESPONSABLE_INSCRIPTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                        );
                    fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_A);
                    break;

                case SituacionIVA.EXENTO:
                    fiscalHasar.CargarDatosCliente(
                        factura.Responsable.RazonSocial,
                        factura.Responsable.CUIT.Replace("-", ""),
                        HasarImpresoraFiscalRG3561.TiposDeResponsabilidadesCliente.RESPONSABLE_EXENTO,
                        HasarImpresoraFiscalRG3561.TiposDeDocumentoCliente.TIPO_CUIT,
                        factura.Responsable.Domicilio,
                        string.Empty,
                        string.Empty,
                        string.Empty
                        );
                    fiscalHasar.AbrirDocumento(HasarImpresoraFiscalRG3561.TiposComprobante.TIQUE_FACTURA_B);
                    break;
                }

                //IMPRIMO RENGLONES
                foreach (IItem renglon in factura.Items)
                {
                    fiscalHasar.ImprimirItem(
                        renglon.DescripcionCorta,
                        (double)renglon.Cantidad,
                        (double)renglon.Precio,
                        HasarImpresoraFiscalRG3561.CondicionesIVA.GRAVADO,
                        (double)renglon.TasaIVA,
                        HasarImpresoraFiscalRG3561.ModosDeMonto.MODO_SUMA_MONTO,
                        HasarImpresoraFiscalRG3561.ModosDeImpuestosInternos.II_FIJO_MONTO,
                        (double)renglon.Impuestos,
                        HasarImpresoraFiscalRG3561.ModosDeDisplay.DISPLAY_SI,
                        HasarImpresoraFiscalRG3561.ModosDePrecio.MODO_PRECIO_TOTAL,
                        string.Empty
                        );
                }

                double vuelto = 0;
                //IMPRIMO PAGOS
                if (recibo != null)
                {
                    foreach (IItem ren in recibo.Items)
                    {
                        Console.WriteLine((ren.Total + vueltoefectivo));
                        var respuesta = fiscalHasar.ImprimirPago(ren.Descripcion, (double)(ren.Total + vueltoefectivo), HasarImpresoraFiscalRG3561.ModosDePago.PAGAR);
                        vuelto = respuesta.getSaldo();
                    }
                    vueltoefectivo = (decimal)vuelto;
                }
                else
                {
                    fiscalHasar.ImprimirPago("CUENTA CORRIENTE", (double)factura.Total, HasarImpresoraFiscalRG3561.ModosDePago.PAGAR);
                }

                //Cierro el documento
                var respuestaDocumento = fiscalHasar.CerrarDocumento();
                var numero             = respuestaDocumento.getNumeroComprobante();
                //FIX aca deberia guardar el numero pelado, y tener una propiedad NumeroCompleto
                factura.Numero = string.Format("{0}-{1}", factura.PuntoDeVenta.PadLeft(4, char.Parse("0")), numero.ToString().PadLeft(8, char.Parse("0")));
                Console.WriteLine(numero);
            } catch (HasarException ex) {
                Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + ex.getMessage());
                fiscalHasar.Cancelar();
                throw ex;
            }
        }
Пример #14
0
        public static bool FormatoDeNumeroValido(this IComprobante comprobante)
        {
            var regex = new Regex(@"[0-9]{4}-[0-9]{8}$");

            return(regex.IsMatch(comprobante.Numero));
        }
Пример #15
0
 public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
 {
     throw new NotImplementedException();
 }
Пример #16
0
 public void ImprimirRemitoProveedor(IComprobante remito)
 {
     throw new NotImplementedException();
 }
Пример #17
0
 public void ImprimirRemitoProveedor(IComprobante remito, int copias)
 {
     fiscalHasar.AbrirComprobanteNoFiscal (TiposDeEstacion.ESTACION_TICKET);
     fiscalHasar.ImprimirTextoNoFiscal ("Proveedor:");
     fiscalHasar.ImprimirTextoNoFiscal (Limpiar (remito.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoNoFiscal ("Articulos:");
     foreach (IItem renglon in remito.Items) {
         fiscalHasar.ImprimirTextoNoFiscal (string.Format ("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoNoFiscal (renglon.DescripcionCorta);
     }
     fiscalHasar.CerrarComprobanteNoFiscal (copias);
 }
Пример #18
0
        /*public void ImprimirTicket()
        {
            //fiscalHasar.DatosCliente(cliente.RazonSocial, "", FiscalPrinterLib.TiposDeDocumento.TIPO_NINGUNO , FiscalPrinterLib.TiposDeResponsabilidades.CONSUMIDOR_FINAL, 1);
            fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_C);
            fiscalHasar.ImprimirTextoFiscal("texto fiscal 1");
            fiscalHasar.ImprimirItem("item 1", 1, 10, 0.21, 0);
            object vuelto;
            object numero;
            fiscalHasar.ImprimirPago("Efectivo", 10, "",out vuelto);
            fiscalHasar.CerrarComprobanteFiscal(1,out numero);
        }

        public void ImprimirTicketFactura(ClienteEntity cliente)
        {
            fiscalHasar.DatosCliente(cliente.RazonSocial, "", FiscalPrinterLib.TiposDeDocumento.TIPO_NINGUNO, FiscalPrinterLib.TiposDeResponsabilidades.CONSUMIDOR_FINAL, 1);
            if (cliente.CondicionDeIVA.Descripcion == "MONOTRIBUTO" || cliente.CondicionDeIVA.Descripcion == "EXENTO")
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
            if (cliente.CondicionDeIVA.Descripcion=="RESPONSABLE INSCRIPTO")
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_A);
            fiscalHasar.ImprimirTextoFiscal("texto fiscal 1");
            fiscalHasar.ImprimirItem("item 1", 1, 10, 0.21, 0);
            object vuelto;
            object numero;
            fiscalHasar.ImprimirPago("Efectivo", 10, "", out vuelto);
            fiscalHasar.CerrarComprobanteFiscal(1, out numero);
        }*/
        public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
        {
            abortar = false;

            switch (factura.Responsable.CondicionDeIVA) {
            case SituacionIVA.SIN_DATO:
                throw new Exception ("No se puede facturar a un cliente que no tiene declarada situacion respecto al IVA");
            case SituacionIVA.CONSUMIDOR_FINAL:
                fiscalHasar.AbrirComprobanteFiscal (FiscalPrinterLib.DocumentosFiscales.TICKET_C);
                if (fiscalHasar.HuboErrorFiscal) {
                    Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante ();
                    abortar = true;
                }
                break;
            case SituacionIVA.MONOTRIBUTO:
                fiscalHasar.DatosCliente (factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace ("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.MONOTRIBUTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                    Console.WriteLine ("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                fiscalHasar.AbrirComprobanteFiscal (FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
                if (fiscalHasar.HuboErrorFiscal) {
                    Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante ();
                    abortar = true;
                }
                break;
            case SituacionIVA.RESPONSABLE_INSCRIPTO:
                fiscalHasar.DatosCliente (factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace ("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.RESPONSABLE_INSCRIPTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                    Console.WriteLine ("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                fiscalHasar.AbrirComprobanteFiscal (FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_A);
                if (fiscalHasar.HuboErrorFiscal) {
                    Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante ();
                    abortar = true;
                }
                break;
            case SituacionIVA.EXENTO:
                fiscalHasar.DatosCliente (factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace ("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.RESPONSABLE_EXENTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                    Console.WriteLine ("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                fiscalHasar.AbrirComprobanteFiscal (FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
                if (fiscalHasar.HuboErrorFiscal) {
                    Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante ();
                    abortar = true;
                }
                break;
            }

            //IMPRIMO RENGLONES
            foreach (IItem renglon in factura.Items) {
                fiscalHasar.ImprimirItem (renglon.DescripcionCorta, (double)renglon.Cantidad, (double)renglon.Precio, (double)renglon.TasaIVA, (double)renglon.Impuestos);
                if (fiscalHasar.HuboErrorFiscal) {
                    Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante ();
                    abortar = true;
                }
            }

            //COBRANZA
            if (!abortar) {
                object vuelto;
                object numero;
                //IMPRIMO PAGOS
                if (recibo != null) {
                    foreach (IItem ren in recibo.Items) {
                        Console.WriteLine ((ren.Total + vueltoefectivo));
                        fiscalHasar.ImprimirPago (ren.Descripcion, (double)(ren.Total + vueltoefectivo), "", out vuelto);
                        if (fiscalHasar.HuboErrorFiscal) {
                            Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                            fiscalHasar.CancelarComprobante ();
                            abortar = true;
                        }
                    }
                } else {
                    fiscalHasar.ImprimirPago ("CUENTA CORRIENTE", (double)factura.Total, "", out vuelto);
                    if (fiscalHasar.HuboErrorFiscal) {
                        Console.WriteLine ("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                        fiscalHasar.CancelarComprobante ();
                        abortar = true;
                    }
                }
                if (!abortar) {
                    fiscalHasar.CerrarComprobanteFiscal (1, out numero);
                    factura.Numero = string.Format ("{0}-{1}", factura.PuntoDeVenta.PadLeft (4, Char.Parse ("0")), numero.ToString ().PadLeft (8, Char.Parse ("0")));
                    Console.WriteLine (numero);
                }
            }
        }
Пример #19
0
 public void ImprimirRemitoProveedor(IComprobante remito)
 {
     ImprimirRemitoProveedor (remito, 1);
 }
Пример #20
0
 public void ImprimirRemitoCliente(IComprobante remito)
 {
     ImprimirRemitoCliente (remito, 1);
 }
Пример #21
0
 public FacturaMediator(IComprobante c) : base(c)
 {
 }
 public ComprobanteService(Comprobante ao, IComprobante svc)
     : base(ao)
 {
     service = svc;
 }
 public ComprobanteService()
     : this(new Comprobante())
 {
     service = service ?? new Comprobante();
 }
Пример #24
0
 public void ImprimirRemitoCliente(IComprobante remito)
 {
     throw new NotImplementedException();
 }
Пример #25
0
 public void ImprimirFacturaProveedor(IComprobante factura)
 {
     throw new NotImplementedException();
 }
Пример #26
0
 public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
 {
     throw new NotImplementedException();
 }
Пример #27
0
 public void ImprimirRecibo(IComprobante recibo, int copias)
 {
     throw new NotImplementedException();
 }
Пример #28
0
 public void ImprimirRemitoProveedor(IComprobante remito)
 {
     ImprimirRemitoProveedor(remito, 1);
 }
Пример #29
0
 public ComprobanteMediator(IComprobante c)
 {
     _comprobante = c;
 }
Пример #30
0
        /*public void ImprimirTicket()
         * {
         * //fiscalHasar.DatosCliente(cliente.RazonSocial, "", FiscalPrinterLib.TiposDeDocumento.TIPO_NINGUNO , FiscalPrinterLib.TiposDeResponsabilidades.CONSUMIDOR_FINAL, 1);
         * fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_C);
         * fiscalHasar.ImprimirTextoFiscal("texto fiscal 1");
         * fiscalHasar.ImprimirItem("item 1", 1, 10, 0.21, 0);
         * object vuelto;
         * object numero;
         * fiscalHasar.ImprimirPago("Efectivo", 10, "",out vuelto);
         * fiscalHasar.CerrarComprobanteFiscal(1,out numero);
         * }
         *
         * public void ImprimirTicketFactura(ClienteEntity cliente)
         * {
         * fiscalHasar.DatosCliente(cliente.RazonSocial, "", FiscalPrinterLib.TiposDeDocumento.TIPO_NINGUNO, FiscalPrinterLib.TiposDeResponsabilidades.CONSUMIDOR_FINAL, 1);
         * if (cliente.CondicionDeIVA.Descripcion == "MONOTRIBUTO" || cliente.CondicionDeIVA.Descripcion == "EXENTO")
         * fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
         * if (cliente.CondicionDeIVA.Descripcion=="RESPONSABLE INSCRIPTO")
         * fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_A);
         * fiscalHasar.ImprimirTextoFiscal("texto fiscal 1");
         * fiscalHasar.ImprimirItem("item 1", 1, 10, 0.21, 0);
         * object vuelto;
         * object numero;
         * fiscalHasar.ImprimirPago("Efectivo", 10, "", out vuelto);
         * fiscalHasar.CerrarComprobanteFiscal(1, out numero);
         * }*/

        public void ImprimirTicketFactura(IComprobante factura, IComprobante recibo, decimal vueltoefectivo)
        {
            abortar = false;

            switch (factura.Responsable.CondicionDeIVA)
            {
            case SituacionIVA.SIN_DATO:
                throw new Exception("No se puede facturar a un cliente que no tiene declarada situacion respecto al IVA");

            case SituacionIVA.CONSUMIDOR_FINAL:
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_C);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante();
                    abortar = true;
                }
                break;

            case SituacionIVA.MONOTRIBUTO:
                fiscalHasar.DatosCliente(factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.MONOTRIBUTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                }
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante();
                    abortar = true;
                }
                break;

            case SituacionIVA.RESPONSABLE_INSCRIPTO:
                fiscalHasar.DatosCliente(factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.RESPONSABLE_INSCRIPTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                }
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_A);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante();
                    abortar = true;
                }
                break;

            case SituacionIVA.EXENTO:
                fiscalHasar.DatosCliente(factura.Responsable.RazonSocial, factura.Responsable.CUIT.Replace("-", ""), FiscalPrinterLib.TiposDeDocumento.TIPO_CUIT, FiscalPrinterLib.TiposDeResponsabilidades.RESPONSABLE_EXENTO, 1);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("hubo error al cargar datos cliente:" + descripcionErrorFiscal);
                }
                fiscalHasar.AbrirComprobanteFiscal(FiscalPrinterLib.DocumentosFiscales.TICKET_FACTURA_B);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante();
                    abortar = true;
                }
                break;
            }

            //IMPRIMO RENGLONES
            foreach (IItem renglon in factura.Items)
            {
                fiscalHasar.ImprimirItem(renglon.DescripcionCorta, (double)renglon.Cantidad, (double)renglon.Precio, (double)renglon.TasaIVA, (double)renglon.Impuestos);
                if (fiscalHasar.HuboErrorFiscal)
                {
                    Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                    fiscalHasar.CancelarComprobante();
                    abortar = true;
                }
            }

            //COBRANZA
            if (!abortar)
            {
                object vuelto;
                object numero;
                //IMPRIMO PAGOS
                if (recibo != null)
                {
                    foreach (IItem ren in recibo.Items)
                    {
                        Console.WriteLine((ren.Total + vueltoefectivo));
                        fiscalHasar.ImprimirPago(ren.Descripcion, (double)(ren.Total + vueltoefectivo), "", out vuelto);
                        if (fiscalHasar.HuboErrorFiscal)
                        {
                            Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                            fiscalHasar.CancelarComprobante();
                            abortar = true;
                        }
                    }
                }
                else
                {
                    fiscalHasar.ImprimirPago("CUENTA CORRIENTE", (double)factura.Total, "", out vuelto);
                    if (fiscalHasar.HuboErrorFiscal)
                    {
                        Console.WriteLine("Hubo error al abrir comprobante. Se cancelará el comprobante. " + descripcionErrorFiscal);
                        fiscalHasar.CancelarComprobante();
                        abortar = true;
                    }
                }
                if (!abortar)
                {
                    fiscalHasar.CerrarComprobanteFiscal(1, out numero);
                    factura.Numero = string.Format("{0}-{1}", factura.PuntoDeVenta.PadLeft(4, Char.Parse("0")), numero.ToString().PadLeft(8, Char.Parse("0")));
                    Console.WriteLine(numero);
                }
            }
        }
Пример #31
0
 public void ImprimirRecibo(IComprobante recibo)
 {
     ImprimirRecibo (recibo, 1);
 }
Пример #32
0
 public void ImprimirRecibo(IComprobante recibo)
 {
     ImprimirRecibo(recibo, 1);
 }
Пример #33
0
 public void ImprimirComprobanteCuentaCorriente(IComprobante factura)
 {
     throw new NotImplementedException ();
 }
Пример #34
0
 public void ImprimirRemitoCliente(IComprobante remito)
 {
     ImprimirRemitoCliente(remito, 1);
 }
Пример #35
0
 public void ImprimirFacturaProveedor(IComprobante factura)
 {
     throw new NotImplementedException ();
 }
Пример #36
0
 public void ImprimirRecibo(IComprobante recibo)
 {
     throw new NotImplementedException ();
 }
Пример #37
0
 public void ImprimirRemitoCliente(IComprobante remito)
 {
     throw new NotImplementedException ();
 }
Пример #38
0
 public NotaDeCreditoMediator(IComprobante c) : base(c)
 {
 }
Пример #39
0
 public void ImprimirRemitoProveedor(IComprobante remito, int copias)
 {
     fiscalHasar.AbrirDocumento (HasarImpresoraFiscalRG3561.TiposComprobante.GENERICO);
     var atributos = new hfl.argentina.Hasar_Funcs.AtributosDeTexto ();
     fiscalHasar.ImprimirTextoGenerico (atributos, "Proveedor:");
     fiscalHasar.ImprimirTextoGenerico (atributos, Limpiar (remito.Responsable.RazonSocial));
     fiscalHasar.ImprimirTextoGenerico (atributos, "Articulos:");
     foreach (IItem renglon in remito.Items) {
         fiscalHasar.ImprimirTextoGenerico (atributos, string.Format ("{0} x $ {1} => $ {2}", renglon.Cantidad, renglon.Precio, renglon.Total));
         fiscalHasar.ImprimirTextoGenerico (atributos, renglon.DescripcionCorta);
     }
     fiscalHasar.CerrarDocumento ();
 }