public bool VerificarExistencia(BE.VehiculoStock vehiculo) { BE.Usuario usuario = Services.SessionManager.GetInstance.Usuario; var listaVehiculosMercado = _vehiculoMerBll.ListarVehiculos(); var esTop = listaVehiculosMercado.Where(r => r.TipoVehiculo == vehiculo.TipoVehiculo && r.Marca == vehiculo.Marca && r.Modelo == vehiculo.Modelo && r.Version == vehiculo.Version).FirstOrDefault(); if (esTop == null) { _bitacoraBll.RegistrarBitacora(usuario, $"El vehiculo de patente = {vehiculo.Patente} no se encuentra dentro de los mas vendidos del mercado", 1); return(true); } List <BE.VehiculoStock> listaStock = ListarVehiculosStock(); var listaFiltrada = listaStock.Where(r => r.TipoVehiculo == vehiculo.TipoVehiculo && r.Marca == vehiculo.Marca && r.Modelo == vehiculo.Modelo && r.Version == vehiculo.Version); if (listaFiltrada.Count() >= 4) { _bitacoraBll.RegistrarBitacora(usuario, $"El vehiculo de patente = {vehiculo.Patente} no puede adquirirse, ya existen 4 vehciulos similares", 1); return(true); } return(false); }
public void Login(BE.Usuario u) { BE.Usuario UsuarioBD; UsuarioBD = mp.Login(u); if (UsuarioBD != null) { string HashBD = SM.GenerarHash(UsuarioBD.Password); if (SM.Verificar(u.Password, HashBD) == true) { SEGURIDAD.Sesion.Login(UsuarioBD); BITACORA.Fecha = DateTime.Now; BITACORA.Usuario = UsuarioBD; BITACORA.Evento = "Login"; } } else { BITACORA.Fecha = DateTime.Now; BITACORA.Usuario = u; BITACORA.Evento = "Inicio de sesion fallido"; } gestorBitacora.RegistrarBitacora(BITACORA); }
public void GuardarFamilia(BE.Familia f) { _permisosDAL.InsertarFamilia(f); Bitacora _bitacoraBll = new Bitacora(); var usuarioRegistra = Services.SessionManager.GetInstance.Usuario; _bitacoraBll.RegistrarBitacora(usuarioRegistra, $@"Se creo la familia = {f.nombre}", 1); }
public BE.Estado ComprobarEstado(int valorMotor, int valorCarroceria, int valorFrenos, int valorAmortiguacion, int valorImpSonoro, int valorInterior) { BE.Usuario usuario = Services.SessionManager.GetInstance.Usuario; if (valorMotor <= 2 || valorCarroceria <= 2 || valorFrenos == 1 || valorAmortiguacion == 1) { _bitacoraBll.RegistrarBitacora(usuario, $"Estado del vehiculo no es aceptable, motor = {valorMotor}, carroceria = {valorCarroceria}, frenos = {valorFrenos} y amortiguacion = {valorAmortiguacion}", 1); throw new Exception("El estado del vehiculo no es aceptable"); } int sumaValores = valorMotor + valorCarroceria + valorFrenos + valorAmortiguacion + valorImpSonoro + valorInterior; float prom = (sumaValores / 25) * 100; int estadoFinal = 0; if (prom % 1 != 0) { if (valorMotor >= 4) { estadoFinal = Convert.ToInt32(Math.Ceiling(prom)); } else { estadoFinal = Convert.ToInt32(Math.Ceiling(prom)); } } else { estadoFinal = Convert.ToInt32(prom); } if (estadoFinal >= 70) { BE.Estado estado = new BE.Estado(); estado.Resultado = estadoFinal; _estadoDal.GuardarEstado(estado); _bitacoraBll.RegistrarBitacora(usuario, $"Estado del vehiculo aceptable, resultado = {estadoFinal}", 1); return(estado); } else { _bitacoraBll.RegistrarBitacora(usuario, $"Estado del vehiculo no es aceptable, resultado = {estadoFinal}", 1); throw new Exception("El estado del vehiculo no es aceptable"); } }
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 static string RecalcularDV(BE.Usuario _usuario) { Bitacora _bitacoraBll = new Bitacora(); 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*/ long dvv = 0; /* CALCULO Y COMPARO DVH DE CADA REGISTRO DE LA TABLA VERIFICADA */ foreach (DataRow fila in tabla.Rows) { string identificador = ""; long dvh = 0; foreach (DataColumn col in tabla.Columns) { long sumador = 0; if (col.ColumnName == "id" || col.ColumnName == "legajo") { identificador = col.ColumnName; } 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; } } dvv += dvh; _DVDAL.ActualizarDVH(dvh, digito.nombreTabla, identificador, fila[identificador].ToString()); } _DVDAL.ActualizarDVV(dvv, digito.nombreTabla); } string descripcion_bitacora = $@"Se reestablecio la integridad del sistema"; _bitacoraBll.RegistrarBitacora(_usuario, descripcion_bitacora, 1); return(descripcion_bitacora); }
protected void ButtonRestaurar(object sender, EventArgs e) { SEGURIDAD.Backup gestorBackup = new SEGURIDAD.Backup(); string mensaje = gestorBackup.Restaurar(Server.MapPath("~/BackupDB//" + FileUpload1.FileName)); BLL.Bitacora gestorBitacora = new BLL.Bitacora(); BE.Bitacora bitacora = new BE.Bitacora(); bitacora.Fecha = DateTime.Now; bitacora.Evento = mensaje; bitacora.Usuario = SEGURIDAD.Sesion._Instance.UsuarioEnSesion; gestorBitacora.RegistrarBitacora(bitacora); Response.Write(@"<script language='javascript'>alert('" + mensaje + "')</script>"); Response.Redirect("~/Inicio"); }
protected void ButtonBackup(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(txtBackupName.Text)) { SEGURIDAD.Backup gestorBackup = new SEGURIDAD.Backup(); string mensaje = gestorBackup.RealizarBackup(Server.MapPath("~/BackupDB/") + txtBackupName.Text); BLL.Bitacora gestorBitacora = new BLL.Bitacora(); BE.Bitacora bitacora = new BE.Bitacora(); bitacora.Fecha = DateTime.Now; bitacora.Evento = mensaje; bitacora.Usuario = SEGURIDAD.Sesion._Instance.UsuarioEnSesion; gestorBitacora.RegistrarBitacora(bitacora); Enlazar(); txtBackupName.Text = ""; } else { ErrorMessage.Visible = true; } }
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); } }