private bool ValidarEliminacion(Entity.Usuario usuario) { SEG.Service.Patente patenteService = new SEG.Service.Patente(); SEG.Service.Familia familiaService = new SEG.Service.Familia(); foreach (Entity.Permiso permiso in usuario.Permisos) { if (permiso.Compuesto) { SEG.Entity.Familia fam = familia.Consultar(permiso.Nombre); foreach (SEG.Entity.Patente patente in fam.Permisos) { if (patenteService.ObtenerUsuariosAsignadosPorPatenteYFamilia(patente.Id, usuario) == 0 && patenteService.ObtenerUsuariosAsignados(patente.Id, usuario.Id) == 0) { return(false); } } } else { if (patenteService.ObtenerUsuariosAsignadosPorPatenteYFamilia(permiso.Id, usuario) == 0 && patenteService.ObtenerUsuariosAsignados(permiso.Id, usuario.Id) == 0) { return(false); } } } return(true); }
private void validarPermisos(SEG.Service.SessionManager Session) { bool contienePermisos = false; foreach (var item in Session.Usuario.Permisos) { if (item is SEG.Entity.Familia) { SEG.Entity.Familia familia = (SEG.Entity.Familia)item; foreach (SEG.Entity.Patente patente in familia.Permisos) { this.validarPatente(patente, ref contienePermisos); } } else { SEG.Entity.Patente patente = (SEG.Entity.Patente)item; this.validarPatente(patente, ref contienePermisos); } } if (!contienePermisos) { throw new Exception("No tenes los permisos necesarios para ingresar a esta funcionalidad"); } }
private void validarPermisos(SEG.Service.SessionManager Session) { bool contienePermisos = false; foreach (var item in Session.Usuario.Permisos) { if (item is SEG.Entity.Familia) { SEG.Entity.Familia familia = (SEG.Entity.Familia)item; if (familia.Permisos.Any(p => p.Nombre == "Buscar Control Cambios" || p.Nombre == "Actualizar Control Cambios")) { contienePermisos = true; } foreach (SEG.Entity.Patente patente in familia.Permisos) { this.validarPatente(patente, ref contienePermisos); } } else { SEG.Entity.Patente patente = (SEG.Entity.Patente)item; this.validarPatente(patente, ref contienePermisos); } } if (!contienePermisos) { throw new Exception("No tenes los permisos necesarios para ingresar a esta funcionalidad"); } }
private void cmbFamilia_SelectedIndexChanged(object sender, EventArgs e) { SEG.Entity.Familia familia = (SEG.Entity.Familia) this.cmbFamilia.SelectedItem as SEG.Entity.Familia; if (familia != null) { txtNombre.Text = familia.Nombre; txtDescripcion.Text = familia.Descripcion; } }
private void cmbFamilia_SelectedIndexChanged(object sender, EventArgs e) { familia = (SEG.Entity.Familia) this.cmbFamilia.SelectedItem; this.listPatentesDesasignar.Items.Clear(); if (familia.Permisos != null) { this.listPatentesDesasignar.Items.AddRange ( ( from f in familia.Permisos select new ListViewItem(f.Nombre) ).ToArray() ); } }
private void btnFinalizar_Click(object sender, EventArgs e) { try { string validarCampos = this.ValidarCampos(); if (!String.IsNullOrEmpty(validarCampos)) { MessageBox.Show(validarCampos, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { SEG.Entity.Familia familia = new SEG.Entity.Familia { Compuesto = true, Descripcion = txtDescripcion.Text, Nombre = txtNombre.Text, Eliminado = false }; familiaService.Alta(familia); SEG.Entity.Bitacora reg = new SEG.Entity.Bitacora { IdUsuario = this.Session.Usuario.Id, IdCriticidad = (int)Enums.Criticidad.Baja, Fecha = DateTime.Now, Descripcion = "Familia dada de alta. " + txtNombre.Text }; bitacoraService.Registrar(reg); this.LimpiarCampos(); MessageBox.Show("Familia dada de alta correctamente", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnEliminar_Click(object sender, EventArgs e) { try { string validarCampos = this.ValidarCampos(); if (!String.IsNullOrEmpty(validarCampos)) { MessageBox.Show(validarCampos, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { SEG.Entity.Familia familia = (SEG.Entity.Familia) this.cmbFamilia.SelectedItem as SEG.Entity.Familia; familiaService.Eliminar(familia); SEG.Entity.Bitacora reg = new SEG.Entity.Bitacora { IdUsuario = this.Session.Usuario.Id, IdCriticidad = (int)Enums.Criticidad.Baja, Fecha = DateTime.Now, Descripcion = "Familia eliminada. " + this.cmbFamilia.SelectedText }; bitacoraService.Registrar(reg); LimpiarCampos(); MessageBox.Show("Familia eliminada correctamente", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }