private Cuit(Int32 prefijo, Dni dni, Int32 sufijo) { this.Prefijo = prefijo; this.Dni = dni; this.Sufijo = sufijo; }
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)); }
static void Main(String[] args) { var calculador = new Calculador(); var cuit = calculador.CalcularCuitPorDni(Dni.Crear(1111111, Persona.Femiemino)); Console.WriteLine(cuit.ValorCompleto); Console.ReadKey(); }
public static Cuit Crear(Int32 prefijo, Dni dni, Int32 sufijo) { return(new Cuit(prefijo, dni, sufijo)); }