コード例 #1
0
        private void tsbGrabar_Click(object sender, EventArgs e)
        {
            string mensaje = String.Empty;

            Usuario tbUsuario = (Usuario)cmbUsuario.SelectedItem;

            if (tbUsuario.idUsuario == 0)
            {
                mensaje += "Seleccione usuario\n";
            }

            if (String.IsNullOrEmpty(mensaje.Trim()))
            {
                foreach (ListViewItem listViewItem in lvwOpciones.Items)
                {
                    long            idUsuario        = tbUsuario.idUsuario;
                    int             idOpcion         = (int)listViewItem.Tag;
                    tbUsuarioOpcion _tbUsuarioOpcion = (from UO in _dbCosolemEntities.tbUsuarioOpcion where UO.idUsuario == idUsuario && UO.idOpcion == idOpcion select UO).FirstOrDefault();
                    if (_tbUsuarioOpcion == null)
                    {
                        _tbUsuarioOpcion                  = new tbUsuarioOpcion();
                        _tbUsuarioOpcion.idUsuario        = idUsuario;
                        _tbUsuarioOpcion.idOpcion         = idOpcion;
                        _tbUsuarioOpcion.fechaHoraIngreso = Program.fechaHora;
                        _tbUsuarioOpcion.idUsuarioIngreso = idUsuario;
                        _tbUsuarioOpcion.terminalIngreso  = Program.terminal;
                        _dbCosolemEntities.tbUsuarioOpcion.AddObject(_tbUsuarioOpcion);
                    }
                    else
                    {
                        _tbUsuarioOpcion.fechaHoraUltimaModificacion = Program.fechaHora;
                        _tbUsuarioOpcion.idUsuarioUltimaModificacion = idUsuario;
                        _tbUsuarioOpcion.terminalUltimaModificacion  = Program.terminal;
                    }
                    _tbUsuarioOpcion.tieneAcceso    = listViewItem.Checked;
                    _tbUsuarioOpcion.estadoRegistro = true;
                }
                _dbCosolemEntities.SaveChanges();

                MessageBox.Show("Registro grabado satisfactoriamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                frmNivelesAcceso_Load(null, null);
            }
            else
            {
                MessageBox.Show(mensaje, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
コード例 #2
0
        private void cmbUsuario_SelectionChangeCommitted(object sender, EventArgs e)
        {
            foreach (ListViewItem listViewItem in lvwOpciones.Items)
            {
                listViewItem.Checked = false;
            }

            Usuario tbUsuario = (Usuario)cmbUsuario.SelectedItem;

            if (tbUsuario.tbUsuarioOpcion != null && tbUsuario.tbUsuarioOpcion.Count > 0)
            {
                foreach (ListViewItem listViewItem in lvwOpciones.Items)
                {
                    tbUsuarioOpcion usuarioOpcion = tbUsuario.tbUsuarioOpcion.Where(x => x.idOpcion == (int)listViewItem.Tag).FirstOrDefault();
                    if (usuarioOpcion != null)
                    {
                        listViewItem.Checked = usuarioOpcion.tieneAcceso;
                    }
                }
            }
        }