Пример #1
0
        public void obtenerPuestosRolColaborador(ref Colaborador c)
        {
            SqlCommand    comando    = _manejador.obtenerProcedimiento("SelectColaboradorPuesto");
            SqlDataReader datareader = null;

            _manejador.agregarParametro(comando, "@colaborador", c, SqlDbType.Int);

            try
            {
                datareader = _manejador.ejecutarConsultaDatos(comando);

                while (datareader.Read())
                {
                    PuestoColaborador puesto = new PuestoColaborador();
                    puesto.ID = (byte)datareader["Puesto"];

                    c.agregarPuestoColaborador(puesto);
                }

                comando.Connection.Close();
            }
            catch (Exception)
            {
                comando.Connection.Close();
                throw new Excepcion("ErrorDatosConexion");
            }
        }
Пример #2
0
        /// <summary>
        /// Clic en el botón de guardar.
        /// </summary>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            // Verificar que se hayan seleccionado los datos

            if (txtNombre.Text.Equals(string.Empty) || txtIdentificador.Text.Equals(string.Empty) ||
                txtPrimerApellido.Text.Equals(string.Empty) || txtSegundoApellido.Text.Equals(string.Empty) ||
                clbPuestosColaborador.CheckedItems.Count == 0 || cboAreas.SelectedItem == null ||
                txtCuenta.Text.Equals(string.Empty))
            {
                Excepcion.mostrarMensaje("ErrorColaboradorDatosRegistro");
                return;
            }

            try
            {
                frmAdministracionColaboradores padre = (frmAdministracionColaboradores)this.Owner;

                string   nombre                = txtNombre.Text;
                string   primer_apellido       = txtPrimerApellido.Text;
                string   segundo_apellido      = txtSegundoApellido.Text;
                string   identificacion        = txtIdentificador.Text;
                string   cuenta                = txtCuenta.Text;
                string   clave_cef             = txtClaveCEF.Text;
                string   base_correo           = txtBaseCorreo.Text;
                string   servidor_correo       = txtServidorCorreo.Text;
                string   email                 = txtEmail.Text;
                bool     administrador_general = chkAdministradorGeneral.Checked;
                DateTime fecha_ingreso         = dtpFechaIngreso.Value;
                Areas    area = (Areas)cboAreas.SelectedIndex;

                BindingList <Telefono> telefonos = (BindingList <Telefono>)dgvTelefonos.DataSource;

                // Verificar si el colaborador es nuevo

                if (_colaborador == null)
                {
                    // Agregar los datos del nuevo colaborador

                    if (Mensaje.mostrarMensajeConfirmacion("MensajeColaboradorRegistro") == DialogResult.Yes)
                    {
                        Colaborador nuevo = new Colaborador(nombre: nombre, primer_apellido: primer_apellido, segundo_apellido: segundo_apellido,
                                                            identificacion: identificacion, fecha_ingreso: fecha_ingreso, cuenta: cuenta,
                                                            area: area, administrador_general: administrador_general, basedatoscorreo: base_correo, servidorcorreo: servidor_correo, correo: email, clave_cef: clave_cef);

                        foreach (Telefono telefono in telefonos)
                        {
                            nuevo.agregarTelefono(telefono);
                        }

                        foreach (PuestoColaborador puesto in clbPuestosColaborador.CheckedItems)
                        {
                            nuevo.agregarPuestoColaborador((PuestoColaborador)puesto);
                        }

                        //LOS PERFILES SE VAN A MANEJAR POR PUESTOS NO POR COLABORADOR
                        //foreach (Perfil perfil in clbPerfiles.CheckedItems)
                        //    nuevo.agregarPerfil(perfil);

                        _seguridad.agregarColaborador(ref nuevo);

                        padre.agregarColaborador(nuevo);
                        Mensaje.mostrarMensaje("MensajeColaboradorConfirmacionRegistro");
                        this.Close();
                    }
                }
                else
                {
                    Colaborador copia = new Colaborador(id: _colaborador.ID, nombre: nombre, primer_apellido: primer_apellido,
                                                        segundo_apellido: segundo_apellido, identificacion: identificacion,
                                                        fecha_ingreso: fecha_ingreso, cuenta: cuenta, area: area,
                                                        administrador_general: administrador_general, basedatoscorreo: base_correo, servidorcorreo: servidor_correo, correo: email, clave_cef: clave_cef);

                    foreach (Telefono telefono in telefonos)
                    {
                        copia.agregarTelefono(telefono);
                    }


                    foreach (PuestoColaborador puesto in clbPuestosColaborador.CheckedItems)
                    {
                        copia.agregarPuestoColaborador((PuestoColaborador)puesto);
                    }


                    //foreach (int puesto in clbPuestos.CheckedIndices)
                    //    copia.agregarPuesto((Puestos)puesto);

                    //foreach (Perfil perfil in clbPerfiles.CheckedItems)
                    //    copia.agregarPerfil(perfil);

                    // Actualizar los datos del colaborador

                    _seguridad.actualizarColaborador(copia);

                    _colaborador.Nombre                = nombre;
                    _colaborador.Primer_apellido       = primer_apellido;
                    _colaborador.Segundo_apellido      = segundo_apellido;
                    _colaborador.Identificacion        = identificacion;
                    _colaborador.Cuenta                = cuenta;
                    _colaborador.Area                  = area;
                    _colaborador.Administrador_general = administrador_general;
                    _colaborador.Puestos               = copia.Puestos;
                    _colaborador.Telefonos             = copia.Telefonos;
                    _colaborador.Perfiles              = copia.Perfiles;
                    _colaborador.Correo                = copia.Correo;
                    _colaborador.ServidorCorreo        = copia.ServidorCorreo;
                    _colaborador.BaseDatosCorreo       = copia.BaseDatosCorreo;
                    _colaborador.ClaveCEF              = copia.ClaveCEF;
                    _colaborador.PuestosColaborador    = copia.PuestosColaborador;

                    padre.actualizarLista();
                    Mensaje.mostrarMensaje("MensajeColaboradorConfirmacionActualizacion");
                    this.Close();
                }
            }
            catch (Excepcion ex)
            {
                ex.mostrarMensaje();
            }
        }