public void CambiarContrasena(BE.Usuario user) { string pass = GenerarPassword(); user.contrasena = Cifrado.Encriptar(pass.ToUpper(), false); user.dvh = DigitoVerificador.CalcularDV(user, "usuario"); _usuarioDal.Actualizar(user); EnviarPassword(Cifrado.Desencriptar(user.usuario), pass); }
public void CambiarContrasena(string user) { var usuario = _usuarioDal.GetUsuarioUser(Cifrado.Encriptar(user.ToUpper(), true)); string pass = GenerarPassword(); usuario.contrasena = Cifrado.Encriptar(pass.ToUpper(), false); usuario.dvh = DigitoVerificador.CalcularDV(usuario, "usuario"); _usuarioDal.Actualizar(usuario); EnviarPassword(Cifrado.Desencriptar(usuario.usuario), pass); }
public void DesbloquearUsuario(BE.Usuario usuario) { usuario.contador = 0; _usuarioDal.Actualizar(usuario); var usuarioRegistra = new BE.Usuario(); if (Services.SessionManager.IsLogged()) { usuarioRegistra = Services.SessionManager.GetInstance.Usuario; } else { string nombre_usuario = Cifrado.Encriptar("SYSTEM", true); usuarioRegistra = _usuarioDal.GetUsuarioUser(nombre_usuario); } _bitacoraBLL.RegistrarBitacora(usuarioRegistra, $@"Se desbloqueo el usuario {Cifrado.Desencriptar(usuario.usuario)}", 1); }
public BE.Usuario GenerarUsuario(BE.Empleado emp) { BE.Usuario usuario = new BE.Usuario(); usuario.usuario = Cifrado.Encriptar(("u" + emp.legajo.ToString().PadLeft(6, '0')).ToUpper(), true); string pass = GenerarPassword(); usuario.contrasena = Cifrado.Encriptar(pass.ToUpper(), false); string[] nombres = emp.nombre.Split(' '); string email = ""; foreach (string n in nombres) { email += n.Substring(0, 1); } string[] apellidos = emp.apellido.Split(' '); for (int i = 0; i < apellidos.Length; i++) { if ((i + 1) != apellidos.Length) { email += apellidos[i].Substring(0, 1); } else { email += apellidos[i]; } } email += "@logicar.com.ar"; usuario.email = email; usuario.estado = 1; usuario.dvh = DigitoVerificador.CalcularDV(usuario, "usuario"); _usuarioDal = new DAL.Usuario(); _usuarioDal.Insertar(usuario); EnviarPassword(Cifrado.Desencriptar(usuario.usuario), pass); var usuarioRegistra = usuario; if (Services.SessionManager.IsLogged()) { usuarioRegistra = Services.SessionManager.GetInstance.Usuario; } _bitacoraBLL.RegistrarBitacora(usuarioRegistra, $@"Se creo el usuario = {Cifrado.Desencriptar(usuario.usuario)}.", 1); return(usuario); }
public void RegistrarBitacora(BE.Usuario usuario, string descripcion, int criticidad, long digito = 1) { BE.Bitacora bitacora = new BE.Bitacora(); descripcion = Cifrado.Encriptar(descripcion, true); DateTime fecha = DateTime.Now; bitacora.usuario = usuario; bitacora.descripcion = descripcion; bitacora.fecha = fecha; bitacora.criticidad = criticidad; if (digito == 1) { long dvh = DigitoVerificador.CalcularDV(bitacora, "bitacora"); bitacora.dvh = dvh; } else { bitacora.dvh = digito; } _bitacoraDal.RegistrarBitacora(bitacora); }
public int CalcularPrecio(BE.VehiculoStock vehiculo, int formaAdq, int _precioVenta = 0) { var listaVehiculosMercado = _vehiculoMerBll.ListarVehiculos(); var vehiculoMercado = listaVehiculosMercado.Where(r => r.TipoVehiculo == vehiculo.TipoVehiculo && r.Marca == vehiculo.Marca && r.Modelo == vehiculo.Modelo && r.Version == vehiculo.Version).FirstOrDefault(); int precioMercado = vehiculoMercado.PrecioMercado; int porcentajeGanancia = 0; if (formaAdq == 0) { porcentajeGanancia = 15; } else { if (vehiculo.Estado.Resultado >= 90 && (vehiculo.Kilometraje >= 1000 && vehiculo.Kilometraje <= 15000)) { porcentajeGanancia = 15; } else { porcentajeGanancia = 20; } } double precioCompra = precioMercado - (precioMercado * porcentajeGanancia) / 100; double precioGanancia = precioCompra; precioCompra = (precioCompra * vehiculo.Estado.Resultado) / 100; int porcentajeKilometraje = 0; if (vehiculo.Kilometraje > 0 && vehiculo.Kilometraje < 1000) { porcentajeKilometraje += 1; } else if (vehiculo.Kilometraje >= 1000 && vehiculo.Kilometraje < 10000) { porcentajeKilometraje += 2; } else if (vehiculo.Kilometraje >= 10000 && vehiculo.Kilometraje < 50000) { porcentajeKilometraje += 5; } else if (vehiculo.Kilometraje >= 50000 && vehiculo.Kilometraje < 80000) { porcentajeKilometraje += 7; } else { porcentajeKilometraje += 12; } precioCompra -= (precioCompra * porcentajeKilometraje) / 100; int precioCompraSugerido = (int)Math.Floor(precioCompra); double precioVenta = precioVenta = precioCompra + (precioCompra * porcentajeGanancia) / 100; int precioVentaSugerido = (int)Math.Floor(precioVenta); if (formaAdq != 0) { if (_precioVenta != 0) { if (_precioVenta > precioVentaSugerido) { throw new Exception("El precio de venta solicitado por el cliente es muy alto"); } else if (_precioVenta < precioCompraSugerido) { throw new Exception("El precio de venta solicitado por el cliente es muy bajo"); } else { precioVentaSugerido = _precioVenta; } } } vehiculo.Precio = precioVentaSugerido.ToString(); var usuario = Services.SessionManager.GetInstance.Usuario; _bitacoraBll.RegistrarBitacora(usuario, $"Precio calculado para el vehiculo de patente = {Cifrado.Desencriptar(vehiculo.Patente)}. " + $"Precio compra sugerido = {precioCompraSugerido}, precio de venta = {precioVentaSugerido}", 3); return(precioCompraSugerido); }
public static int VerificarDV() { string nombre_usuario = Cifrado.Encriptar("SYSTEM", true); DAL.Usuario _usuarioDal = new DAL.Usuario(); Bitacora _bitacoraBll = new Bitacora(); try { BE.Usuario usr = _usuarioDal.GetUsuarioUser(nombre_usuario); int error = 0; DAL.DigitoVerificador _DVDAL = new DAL.DigitoVerificador(); List <BE.DigitoVerificador> listaDvv = _DVDAL.TraerDVV(); foreach (BE.DigitoVerificador digito in listaDvv) { DataTable tabla = _DVDAL.TraerTabla(digito.nombreTabla); /* CALCULO Y COMPARO DVV LA TABLA VERIFICADA CON EL ALMACENADO*/ if (tabla.Rows.Count != 0) { long resultado = 0; foreach (DataRow r in tabla.Rows) { resultado += long.Parse(r["dvh"].ToString()); } if (resultado != digito.valorDvv) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } /* CALCULO Y COMPARO DVH DE CADA REGISTRO DE LA TABLA VERIFICADA */ foreach (DataRow fila in tabla.Rows) { long dvh = 0; foreach (DataColumn col in tabla.Columns) { long sumador = 0; if (col.ColumnName != "id" && col.ColumnName != "legajo" && col.ColumnName != "dvh") { var cadena_ascii = ASCIIEncoding.ASCII.GetBytes(fila[col].ToString()); for (int i = 0; i < cadena_ascii.Length; i++) { sumador += long.Parse(cadena_ascii[i].ToString()) * (i + 1); } dvh += sumador; } } if (dvh != long.Parse(fila["dvh"].ToString())) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Horizontal de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, dvh, fila["dvh"].ToString()); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } } } else { long resultado = 0; if (resultado != digito.valorDvv) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } } } return(error); } catch (Exception e) { throw new Exception(e.Message); } }
public void DesbloquearUsuarioAdmin(BE.Usuario usuario) { usuario.contador = 0; _usuarioDal.Actualizar(usuario); _bitacoraBLL.RegistrarBitacora(usuario, $@"Se desbloqueo el usuario {Cifrado.Desencriptar(usuario.usuario)}", 1); }