Clase
Publicado por Federico (1 intervención) el 15/02/2019 03:27:12
Hola a todos, estoy programando en tres capas, en la segunda tengo entre otras una clase con el nombre nOperadores con el sig. codigo para validar numeros de CUIT y CUIL en un TextBox ubicado en un formulario de la tercer capa.
ahora en el formulario puse el sig. codigo:
y en el evento KeyPress del TextBox lo sig.
No me tira ningun error pero no funciona, alguien me podria decir donde tengo el error. seguramente es que estoy llamando mal a la clase pero no se realmente como hacerlo.
Muchas gracias de antemano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public static int CalcularDigitoCuit(string cuit)
{
int[] mult = new[] { 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 };
char[] nums = cuit.ToCharArray();
int total = 0;
for (int i = 0; i < mult.Length; i++)
{
total += int.Parse(nums[i].ToString()) * mult[i];
}
var resto = total % 11;
return resto == 0 ? 0 : resto == 1 ? 9 : 11 - resto;
}
public static bool ValidarCuit(string cuit)
{
if (cuit == null)
{
return false;
}
cuit = cuit.Replace("-", string.Empty);
if (cuit.Length != 11)
{
return false;
}
else
{
int calculado = CalcularDigitoCuit(cuit);
int digito = int.Parse(cuit.Substring(10));
return calculado == digito;
}
}
ahora en el formulario puse el sig. codigo:
1
2
3
4
private void validarCUIT()
{
nOperadores.ValidarCuit(txtNumerodoc.Text);
}
y en el evento KeyPress del TextBox lo sig.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void txtNumerodoc_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar == (int)Keys.Enter)
{
this.validarCUIT();
this.txtContacto.Focus();
}
else
{
if ((int)e.KeyChar == (int)Keys.Escape)
{
this.cbTipodoc.Focus();
}
}
}
No me tira ningun error pero no funciona, alguien me podria decir donde tengo el error. seguramente es que estoy llamando mal a la clase pero no se realmente como hacerlo.
Muchas gracias de antemano
Valora esta pregunta
0