コード例 #1
0
ファイル: Program.cs プロジェクト: onivia/PAGrupo2SI2020
        public static void probarDocElectronico()
        {
            DocumentoElectronico docElec = null;

            docElec = DocumentoElectronico.crearDocumentoElectronico(2);
            //docElec.calcularTotal();
            anaularDocumento(docElec);

            IOperacionDocSoporte doc = null;

            doc = new FacturaVentaNacional();
            //obtenerFormaPago(doc);

            //MALA PRACTICA (sin polimorfismo)
            FacturaVentaNacional fvn = null;

            fvn = new FacturaVentaNacional();
            //fvn.calcularTotal();
            //
            NotaCredito nc = null;

            nc = new NotaCredito();
            //nc.calcularTotal();
            //
            //para ND
        }
コード例 #2
0
ファイル: Programa.cs プロジェクト: onivia/PAGrupo2SII2019
        private static void Prueba_DocElecDIAN()
        {
            short   opcionDocElect     = 0;
            decimal porcentajeComision = 0.0M;
            decimal comision           = 0.0M;
            DocumentoElectronico de    = null;

            Console.Write("Entre tipo Doc Electronico [1-FVN,2-NC]:");
            if (!Int16.TryParse(Console.ReadLine(), out opcionDocElect))
            {
                throw new ArgumentException("Valor para OPCION no valida!");
            }
            Console.Write("Entre % de comision:");
            if (!Decimal.TryParse(Console.ReadLine(), out porcentajeComision))
            {
                throw new ArgumentException("Valor para COMISION no valida!");
            }

            //de = new DocumentoElectronico(); //REMAAAAAL!!!
            //BUENA PRACTICA!
            de       = DocumentoElectronico.CrearDocumentoElctronico(opcionDocElect);
            comision = CalcularTotalComision(de, porcentajeComision);

            //Un RE-JUNIOR, Caso 1°
            FacturaVentaNacional facVenNac   = null;
            NotaCredito          notaCredito = null;

            if (opcionDocElect == 1)  //FVN
            {
                facVenNac = new FacturaVentaNacional();
                facVenNac.CalcularTotal();
                comision = facVenNac.total * 0.20M;
            }
            else if (opcionDocElect == 2)    //NC
            {
                notaCredito = new NotaCredito();
                notaCredito.CalcularTotal();
                comision = notaCredito.total * 0.10M;
            }
            else if (opcionDocElect == 3)    //ND
            {
                notaCredito = new NotaCredito();
                notaCredito.CalcularTotal();
                comision = notaCredito.total * 0.50M;
            }
        }
コード例 #3
0
ファイル: Programa.cs プロジェクト: onivia/PAGrupo2SII2019
        private static decimal CalcularTotalComision(DocumentoElectronico documentoElectronico, decimal porcentajeComsion)
        {
            decimal comision = 0.0M;
            FacturaVentaNacional facVenNac   = null;
            NotaCredito          notaCredito = null;

            documentoElectronico.CalcularTotal();
            comision = documentoElectronico.total * porcentajeComsion;

            if (documentoElectronico.GetType() == typeof(FacturaVentaNacional))
            {
                facVenNac = (FacturaVentaNacional)documentoElectronico;
                facVenNac.CalcularCUFE();
            }
            else if (documentoElectronico.GetType() == typeof(NotaCredito))
            {
                notaCredito = (NotaCredito)documentoElectronico;
                notaCredito.CalcularCUDE();
            }

            return(comision);
        }
コード例 #4
0
ファイル: Programa.cs プロジェクト: onivia/PAGrupo2SII2019
        //Un RE-JUNIOR, Caso 2°
        private static int CalcularTotalComision_FVN(FacturaVentaNacional facVenNac, int porcentajeComsion)
        {
            facVenNac.CalcularTotal();

            return(facVenNac.total * porcentajeComsion);
        }