/*IService
[ServiceContract]
public interface IService
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/validar/{ci}")]
IngresarCedula Validar(string ci);
[OperationContract]
int[] ConvertirANumero(string ci);
[OperationContract]
int Procesar(int[] ci);
[OperationContract]
string TranformarDigitoATexto(int digito);
}
[DataContract]
public class IngresarCedula
{
[DataMember]
public string Cedula{get;set;}
}
*/
======================================================================
/*Service
//Agregar
using System.Text.RegularExpressions;//Para REGEX
using System.Windows.Input;
public class Service : IService
{
public IngresarCedula Validar(string ci)
{
int ultimoDigito =Procesar(ConvertirANumero(ci));
string numeroLetra = TranformarDigitoATexto(ultimoDigito);
IngresarCedula mensaje = new IngresarCedula();
mensaje.Cedula = String.Format("Su ultimo número es: {0}", numeroLetra);
return mensaje;
}
public int[] ConvertirANumero(string ci)
{
char[] cedulaDigitos = ci.ToCharArray();
int i = 0;
int[] cedulaFinal = new int[cedulaDigitos.Count()];//arreglo de 10 números
foreach (char digito in cedulaDigitos)
{
cedulaFinal[i] = int.Parse(digito.ToString());
i++;
}
return cedulaFinal;
}
public int Procesar(int[] ci)
{
int suma = 0;
for (int i = 0; i < ci.Count(); i = i + 2)
{
ci[i] = ci[i] * 2;
if (ci[i] > 9)
{
ci[i] = ci[i] - 9;
}
}
foreach (int numero in ci)
{
suma = suma + numero;
}
int[] resultado = ConvertirANumero(suma.ToString());
return 10 - resultado[1];
}
public string TranformarDigitoATexto(int digito)
{
string numero;
switch (digito)
{
case 0:
numero = "CERO";
break;
case 1:
numero = "UNO";
break;
case 2:
numero = "DOS";
break;
case 3:
numero = "TRES";
break;
case 4:
numero = "CUATRO";
break;
case 5:
numero = "CINCO";
break;
case 6:
numero = "SEIS";
break;
case 7:
numero = "SIETE";
break;
case 8:
numero = "OCHO";
break;
case 9:
numero = "NUEVE";
break;
default:
numero = "No existe";
break;
}
return numero;
}
}
*/
No hay comentarios:
Publicar un comentario