private void buttonSave_Click(object sender, EventArgs e) { //Valida si hay algun campo vacio if (validaVacios()) { MessageBox.Show("Error, debes llenar todos los campos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (matchPass()) if (verFechas()) if (veriPermisos()) { User usuario = new User(textNombre.Text, textPass.Text, dateTimePicker1.Value, dateTimePicker2.Value, comboBD.Text, checkBoxAdmin.Checked, checkBoxAlta.Checked, checkBoxBajas.Checked, checkBoxMod.Checked, checkBoxConsultas.Checked, checkBoxSQL.Checked); manejador.Usuarios.Add(usuario); llenaData(); MessageBox.Show("El usuario ha sido guardado con éxto", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else MessageBox.Show("Error, debes seleccionar al menos un permiso", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show("Error, Por favor verifica que el rango de fechas sea valido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show("Error, las contraseñas escritas no coinciden", "Errorr", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void modDatCascada(List<string> dats,User user,Diccionario dic,List<string> regV) { string clavePrim="",claveOldPrim=""; List<string> registroViejo = getRegMod(regV); for (int i = 0; i < atributos.Count; i++) if (atributos[i].TClave == 1) { clavePrim = dats[i]; claveOldPrim = registroViejo[i]; } //Modifica la bitacora modDatos(dats, user,regV); //Algoritmo para buscar y modificar en casacada for(int i =0;i<dic.Entidades.Count;i++) { for(int j=0;j<dic.Entidades[i].atributos.Count;j++) { if(dic.Entidades[i].atributos[j].ApuntaPrim==nombre) { for(int k=0;k<dic.Entidades[i].listaRegistros.Count;k++) { if(dic.Entidades[i].listaRegistros[k][j]==claveOldPrim) { dic.Entidades[i].listaRegistros[k][j] = clavePrim; } } } } } }
public secuencial(Manager man, string func,User user) { InitializeComponent(); dats = new List<string>(); DelD = false; modD = false; manejador = man; funcion = func; usuario = user; inicializaFuncion(); }
/// <summary> /// Modifica datos /// </summary> /// <param name="dats"></param> public void modDatos(List<string> dats,User user,List<string> viejo) { List<string> registro = getRegMod(viejo); int i = 0; int k = 0; for(;i<dats.Count;i++) { registro[i] = dats[i]; k++; } //Fecha de modificacion registro[k + 2] = DateTime.Today.ToShortDateString(); registro[k + 5] = user.Nombre; }
private void buttonLogin_Click(object sender, EventArgs e) { bool noExiste = false; bool puede = true; if(textBoxUser.Text==""||textBoxPass.Text=="") MessageBox.Show("Error, por favor llena todos los campos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else { foreach(User i in manejador.Usuarios) { if(i.Nombre==textBoxUser.Text&&textBoxPass.Text==i.Password) { user = i; if (!i.Admin) { switch(permiso) { case "altas": if (!i.Altas) puede = false; break; case "bajas": if (!i.Bajas) puede = false; break; case "mod": if (!i.Modificaciones) puede = false; break; case "consultas": if (!i.Consultas) puede = false; break; } } if (puede) { if (DateTime.Compare(i.Vig_fin, DateTime.Today) < 0) MessageBox.Show("Error, la vigencia de este usuario ha caducado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else { noExiste = true; if(permiso=="consultas") { //Vista para consultas Consultas con = new Consultas(manejador, user.BaseDatos); con.ShowDialog(); this.Close(); } else { secuencial datos = new secuencial(manejador,permiso,i); datos.ShowDialog(); this.Close(); } } } else MessageBox.Show("Error, no tiene los permisos para acceder a esta funcion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if(noExiste==false) MessageBox.Show("Error, verifica el nombre de usuario y/o contraseña", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void eliminaCascadaLog(Diccionario baseDatos, string entidad, List<string> datos,User user) { List<string> aux = new List<string>(); Entidad enti = baseDatos.getEntByName(entidad); foreach (Entidad i in baseDatos.Entidades) if (i.nombre != entidad) for (int j = 0; j < i.Atributos.Count - 6; j++) if (i.atributos[j].ApuntaPrim == entidad) for (int l = 0; l < enti.atributos.Count; l++) if (enti.atributos[l].TClave == 1) for (int k = 0; k < enti.ListaRegistros.Count; k++) if (datos[l] == i.listaRegistros[k][j]) { i.ListaRegistros[k][i.ListaRegistros[k].Count - 5] = DateTime.Today.ToShortDateString(); i.ListaRegistros[k][i.ListaRegistros[k].Count - 2] = user.Nombre; eliminaCascadaLog(baseDatos, i.nombre, i.ListaRegistros[k], user); return; } }
public void eliminaRegLog(List<string> regViejo, Diccionario baseDatos,User user) { eliminaCascadaLog(baseDatos, nombre, regViejo,user); for (int i = 0; i < listaRegistros.Count; i++) for (int j = 0; j < atributos.Count - 6; j++) if (atributos[j].TClave == 1) if (regViejo[j] == listaRegistros[i][j]) { listaRegistros[i][listaRegistros[i].Count - 5] = DateTime.Today.ToShortDateString(); listaRegistros[i][listaRegistros[i].Count - 2] = user.Nombre; } }