Exemplo n.º 1
0
        private Cuit(Int32 prefijo, Dni dni, Int32 sufijo)
        {
            this.Prefijo = prefijo;

            this.Dni = dni;

            this.Sufijo = sufijo;
        }
Exemplo n.º 2
0
        public Cuit CalcularCuitPorDni(Dni dni)
        {
            var resultado = dni.CalcularValorInicializador();

            Int32 prefijo = default(Int32);

            Int32 sufijo = default(Int32);

            switch (dni.Persona)
            {
            case Persona.Masculino:
                resultado += 10;
                prefijo    = 20;
                break;

            case Persona.Femiemino:
                resultado += 38;
                prefijo    = 27;
                break;

            case Persona.Juridica:
                resultado += 15;
                prefijo    = 30;
                break;

            default:
                prefijo = resultado = 0;
                break;
            }

            resultado %= 11;

            switch (resultado)
            {
            case 0:
                sufijo = 0;
                break;

            case 1:
                prefijo = 23;
                if (dni.Persona == Persona.Masculino)
                {
                    sufijo = 9;
                }
                else if (dni.Persona == Persona.Femiemino)
                {
                    sufijo = 4;
                }
                break;

            default:
                sufijo = 11 - resultado;
                break;
            }

            return(Cuit.Crear(prefijo, dni, sufijo));
        }
Exemplo n.º 3
0
        static void Main(String[] args)
        {
            var calculador = new Calculador();

            var cuit = calculador.CalcularCuitPorDni(Dni.Crear(1111111, Persona.Femiemino));

            Console.WriteLine(cuit.ValorCompleto);

            Console.ReadKey();
        }
Exemplo n.º 4
0
 public static Cuit Crear(Int32 prefijo, Dni dni, Int32 sufijo)
 {
     return(new Cuit(prefijo, dni, sufijo));
 }