Validar un NIT(Guatemala) en C#
->
Esta función, encontre esta función para validar un NIT con JavaScript, bueno pasando a C#, quedaría algo así, espero les sirva el este código.
-
public bool ValidarNIT(string Nit)
-
{
-
int pos = Nit.IndexOf("-");
-
string Correlativo = Nit.Substring(0, pos);
-
string DigitoVerificador = Nit.Substring(pos + 1);
-
int Factor = Correlativo.Length + 1;
-
int Suma = 0;
-
int Valor = 0;
-
-
for (int x = 0; x <= Nit.IndexOf("-") - 1; x++)
-
{
-
Valor = Convert.ToInt32(Nit.Substring(x, 1));
-
Suma = Suma + (Valor * Factor);
-
Factor = Factor - 1;
-
}
-
-
double xMOd11 = 0;
-
xMOd11 = (11 - (Suma % 11)) % 11;
-
string s = Convert.ToString(xMOd11);
-
if ((xMOd11 == 10 & DigitoVerificador == "K") | (s == DigitoVerificador))
-
{
-
return true;
-
}
-
return false;
-
}
Nos Vemos.
Mini Proyecto Mono.NET
->
Bueno he aqui un pequeño programa que nos ayudará a llevar el control de una facturación, por lo que entonces procedemos a definir 4 tablas sencillas a trabajar en este sistema.
- Cliente
- Factura
- Detalle_Factura
- Empresa
Los nombres de las tablas recordemos que siempre van a ir en singular, por Regla de regularización de Base de Datos, haré lo siguiente, el proyecto será desarrollado para SQL Server, pero llevaremos paralelo, la manera de trabajarlo con MySQL, para tener las dos opciones, será desarrollado en GTK#.
Así la siguiente entrega es el script de la base de datos tanto para SQL Server como para MySQL.
para las personas que desean conseguir las herramientas están acá lo runtimes y acá el entorno de deasarrollo, para que pueden descargar todo lo necesario, yo voy a usar la versión 2.4 de Mono.
Nos vemos.
Listar Servicios de Windows con .Net
->
Bueno una función que nos puede ayudar en determinado momento es listar los servicios activos de Windows un ejemplo sencillo de como hacerlo es hacer usando System.Serviceprocess (NO olvides agregarlo como referencia al proyecto):
-
Imports System
-
Imports System.ServiceProcess
-
-
Class Program
-
Private Shared Sub Main()
-
Dim services As ServiceController() = ServiceController.GetServices()
-
-
Console.WriteLine("Listado de los servicios corriendo : ")
-
For Each service As ServiceController In services
-
If service.Status = ServiceControllerStatus.Running Then 'cambiar por ServiceControllerStatus.Stopped para ver inactivos
-
Console.WriteLine()
-
Console.WriteLine(" Nombre de servicio: {0}", service.ServiceName)
-
Console.WriteLine(" Nombre mostrado: {0}", service.DisplayName)
-
End If
-
Next
-
End Sub
-
End Class
y en c# sería así.
-
using System;
-
using System.ServiceProcess;
-
-
class Program
-
{
-
static void Main()
-
{
-
ServiceController[] services = ServiceController.GetServices();
-
-
Console.WriteLine("Listado de los servicios corriendo : ");
-
foreach (ServiceController service in services)
-
{
-
if (service.Status == ServiceControllerStatus.Running) //cambiar por ServiceControllerStatus.Stopped para ver inactivos
-
{
-
Console.WriteLine();
-
Console.WriteLine(" Nombre de servicio: {0}",
-
service.ServiceName);
-
Console.WriteLine(" Nombre mostrado: {0}",
-
service.DisplayName);
-
}
-
}
-
}
-
}
para saber los procesos que están inactivos usamos la siguiente propiedad.
ServiceControllerStatus.Stopped.
un buen truco espero les sirva.




























