Esempio n. 1
0
        private static List <SqlParameter> crearLista(clsTecnico objTecnico)
        {
            List <SqlParameter> lstParametrosSQL = new List <SqlParameter>();
            SqlParameter        sqlParametro;

            foreach (PropertyInfo pi in objTecnico.GetType().GetProperties())
            {
                if (pi.CanRead)
                {
                    if (pi.Name.Substring(0, 1).CompareTo("_") != 0)
                    {
                        sqlParametro = new SqlParameter();
                        sqlParametro.ParameterName = "@" + pi.Name;
                        sqlParametro.Value         = pi.GetValue(objTecnico, null);
                        sqlParametro.Direction     = ParameterDirection.Input;

                        lstParametrosSQL.Add(sqlParametro);
                    }
                    else
                    {
                        continue;
                    }
                }
            }

            return(lstParametrosSQL);
        }
Esempio n. 2
0
        private void setEmpleado()
        {
            if (ventanaBienvenida.getTipoEmpleado().CompareTo("DOCTOR") == 0)
            {
                clsDoctor objDoctor = new clsDoctor();
                objDoctor.IdDoctor = ventanaBienvenida.getIdEmpleado();

                objEmpleado   = ctrDoctor.seleccionarDoctor(objDoctor);
                numIdEmpleado = ((clsDoctor)objEmpleado).IdDoctor;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("ENFERMERO") == 0)
            {
                clsEnfermero objEnfermero = new clsEnfermero();
                objEnfermero.IdEnfermero = ventanaBienvenida.getIdEmpleado();

                objEmpleado   = ctrEnfermero.seleccionarEnfermero(objEnfermero);
                numIdEmpleado = ((clsEnfermero)objEmpleado).IdEnfermero;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("TÉCNICO") == 0)
            {
                clsTecnico objTecnico = new clsTecnico();
                objTecnico.IdTecnico = ventanaBienvenida.getIdEmpleado();

                objEmpleado   = ctrTecnico.seleccionarTecnico(objTecnico);
                numIdEmpleado = ((clsTecnico)objEmpleado).IdTecnico;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("ADMINISTRATIVO") == 0)
            {
                clsAdministrativo objAdministrativo = new clsAdministrativo();
                objAdministrativo.IdAdministrativo = ventanaBienvenida.getIdEmpleado();

                objEmpleado   = ctrAdministrativo.seleccionarAdministrativo(objAdministrativo);
                numIdEmpleado = ((clsAdministrativo)objEmpleado).IdAdministrativo;
            }
        }
Esempio n. 3
0
        public static bool recuperarTecnico(clsTecnico objTecnico)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value = 3;
            sqlParametro.Direction = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value = 0;
            sqlParametro.Direction = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            int numResultado = clsGestorBD.ejecutarStoredProcedureInt("up_ManTecnico", lstParametrosSQL);

            if (numResultado != 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
Esempio n. 4
0
        public static bool eliminarTecnico(clsTecnico objTecnico)
        {
            List <SqlParameter> lstParametrosSQL = new List <SqlParameter>();
            SqlParameter        sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value         = 2;
            sqlParametro.Direction     = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value         = 0;
            sqlParametro.Direction     = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            int numResultado = clsGestorBD.ejecutarStoredProcedureInt("up_ManTecnico", lstParametrosSQL);

            if (numResultado != 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 5
0
        public static clsTecnico seleccionarTecnico(clsTecnico objTecnico)
        {
            List <SqlParameter> lstParametrosSQL = new List <SqlParameter>();
            SqlParameter        sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value         = 4;
            sqlParametro.Direction     = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value         = 0;
            sqlParametro.Direction     = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            DataTable dtResultado = clsGestorBD.ejecutarStoredProcedureDataTable("up_ManTecnico", lstParametrosSQL);

            objTecnico.IdTecnico              = Int32.Parse(dtResultado.Rows[0]["IdPersona"].ToString());
            objTecnico.Paterno                = dtResultado.Rows[0]["Paterno"].ToString();
            objTecnico.Materno                = dtResultado.Rows[0]["Materno"].ToString();
            objTecnico.Nombres                = dtResultado.Rows[0]["Nombres"].ToString();
            objTecnico.FechaNacimiento        = DateTime.Parse(dtResultado.Rows[0]["FechaNacimiento"].ToString());
            objTecnico.Sexo                   = dtResultado.Rows[0]["Sexo"].ToString();
            objTecnico.IdTipoDocumento        = Int32.Parse(dtResultado.Rows[0]["IdTipoDocumento"].ToString());
            objTecnico._TipoDocumento         = dtResultado.Rows[0]["TipoDocumento"].ToString();
            objTecnico.NumeroDocumento        = dtResultado.Rows[0]["NumeroDocumento"].ToString();
            objTecnico.EstadoCivil            = dtResultado.Rows[0]["EstadoCivil"].ToString();
            objTecnico._IdLugarNacimiento     = Int32.Parse(dtResultado.Rows[0]["IdLugarNacimiento"].ToString());
            objTecnico.Pais                   = dtResultado.Rows[0]["Pais"].ToString();
            objTecnico.DepartamentoNacimiento = dtResultado.Rows[0]["Departamento"].ToString();
            objTecnico.ProvinciaNacimiento    = dtResultado.Rows[0]["Provincia"].ToString();
            objTecnico.DistritoNacimiento     = dtResultado.Rows[0]["Distrito"].ToString();
            objTecnico._IdDomicilio           = Int32.Parse(dtResultado.Rows[0]["IdDomicilio"].ToString());
            objTecnico.DepartamentoDomicilio  = dtResultado.Rows[0]["DepartamentoDomicilio"].ToString();
            objTecnico.ProvinciaDomicilio     = dtResultado.Rows[0]["ProvinciaDomicilio"].ToString();
            objTecnico.DistritoDomicilio      = dtResultado.Rows[0]["DistritoDomicilio"].ToString();
            objTecnico.Direccion              = dtResultado.Rows[0]["Direccion"].ToString();
            objTecnico.Telefono               = dtResultado.Rows[0]["Telefono"].ToString();
            objTecnico.Celular                = dtResultado.Rows[0]["Celular"].ToString();
            objTecnico.CorreoElectronico      = dtResultado.Rows[0]["CorreoElectronico"].ToString();
            objTecnico.Usuario                = dtResultado.Rows[0]["Usuario"].ToString();
            objTecnico.Contrasena             = dtResultado.Rows[0]["Contrasena"].ToString();
            objTecnico.IdArea                 = Int32.Parse(dtResultado.Rows[0]["IdArea"].ToString());
            objTecnico._Area                  = dtResultado.Rows[0]["Area"].ToString();
            objTecnico.Foto                   = dtResultado.Rows[0]["Foto"].ToString();
            objTecnico.IdPerfil               = Int32.Parse(dtResultado.Rows[0]["IdPerfil"].ToString());
            objTecnico._Perfil                = dtResultado.Rows[0]["Perfil"].ToString();
            objTecnico.Estado                 = dtResultado.Rows[0]["Estado"].ToString();
            objTecnico.Usuario                = dtResultado.Rows[0]["Usuario"].ToString();
            objTecnico.Contrasena             = dtResultado.Rows[0]["Contrasena"].ToString();

            return(objTecnico);
        }
Esempio n. 6
0
        public frmTecnico()
        {
            InitializeComponent();

            clsTecnico objTecnico = new clsTecnico();
            objTecnico.IdArea = 0;
            objTecnico.Estado = "TODOS";

            dtTecnicos = ctrTecnico.seleccionarTecnicosCriterios(objTecnico);

            cargarGrilla();
        }
Esempio n. 7
0
        public frmTecnico()
        {
            InitializeComponent();

            clsTecnico objTecnico = new clsTecnico();

            objTecnico.IdArea = 0;
            objTecnico.Estado = "TODOS";

            dtTecnicos = ctrTecnico.seleccionarTecnicosCriterios(objTecnico);

            cargarGrilla();
        }
Esempio n. 8
0
        private void btnActivar_Click(object sender, EventArgs e)
        {
            if (dgvTecnicos.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("¿Está seguro que desea activar este técnico?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    numAccion = clsComun.RECUPERAR;

                    numIdTecnico = Int32.Parse(dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[0].Value.ToString());

                    clsTecnico objTecnico = new clsTecnico();
                    objTecnico.IdTecnico = numIdTecnico;

                    if (ctrTecnico.recuperarTecnico(objTecnico))
                    {
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Value = "ACTIVO";

                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[1].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[1].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[2].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[2].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[3].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[3].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Style.BackColor = Color.White;

                        btnActivar.Visible = false;
                        btnEliminar.Visible = true;

                        MessageBox.Show("El técnico se activó exitosamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        if (MessageBox.Show("Ocurrió un error mientras se intentaba activar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                        {
                            btnEliminar_Click(sender, e);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar un técnico", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Esempio n. 9
0
        private void btnActivar_Click(object sender, EventArgs e)
        {
            if (dgvTecnicos.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("¿Está seguro que desea activar este técnico?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    numAccion = clsComun.RECUPERAR;

                    numIdTecnico = Int32.Parse(dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[0].Value.ToString());

                    clsTecnico objTecnico = new clsTecnico();
                    objTecnico.IdTecnico = numIdTecnico;

                    if (ctrTecnico.recuperarTecnico(objTecnico))
                    {
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Value = "ACTIVO";

                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[1].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[1].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[2].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[2].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[3].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[3].Style.BackColor = Color.White;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Style.ForeColor = Color.Black;
                        dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[4].Style.BackColor = Color.White;

                        btnActivar.Visible  = false;
                        btnEliminar.Visible = true;

                        MessageBox.Show("El técnico se activó exitosamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        if (MessageBox.Show("Ocurrió un error mientras se intentaba activar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                        {
                            btnEliminar_Click(sender, e);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar un técnico", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Esempio n. 10
0
        private void buscarCriterios(object sender, EventArgs e)
        {
            try
            {
                clsTecnico objTecnico = new clsTecnico();
                objTecnico.Paterno = txtPaternoBuscar.Text;
                objTecnico.Materno = txtMaternoBuscar.Text;
                objTecnico.Nombres = txtNombresBuscar.Text;
                objTecnico.IdArea  = ((clsArea)cboAreaBuscar.SelectedItem).IdArea;
                objTecnico.Estado  = cboEstadoBuscar.Text;

                dtTecnicos = ctrTecnico.seleccionarTecnicosCriterios(objTecnico);
                cargarGrilla();
            }
            catch
            {
            }
        }
Esempio n. 11
0
        public static DataTable seleccionarTecnicosCriterios(clsTecnico objTecnico)
        {
            List <SqlParameter> lstParametrosSQL = new List <SqlParameter>();
            SqlParameter        sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value         = 6;
            sqlParametro.Direction     = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value         = 0;
            sqlParametro.Direction     = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            return(clsGestorBD.ejecutarStoredProcedureDataTable("up_ManTecnico", lstParametrosSQL));
        }
Esempio n. 12
0
        private void btnVer_Click(object sender, EventArgs e)
        {
            if (dgvTecnicos.SelectedRows.Count > 0)
            {
                numAccion = clsComun.VER;

                numIdTecnico = Int32.Parse(dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[0].Value.ToString());

                limpiarFormulario();

                clsTecnico objTecnico = new clsTecnico();
                objTecnico.IdTecnico = numIdTecnico;

                objTecnico = ctrTecnico.seleccionarTecnico(objTecnico);

                mostrarInformacion(objTecnico, numAccion);

                txtPaterno.Focus();
            }
            else
            {
                MessageBox.Show("Debe seleccionar un técnico", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Esempio n. 13
0
        private void setEmpleado()
        {
            if (ventanaBienvenida.getTipoEmpleado().CompareTo("DOCTOR") == 0)
            {
                clsDoctor objDoctor = new clsDoctor();
                objDoctor.IdDoctor = ventanaBienvenida.getIdEmpleado();

                objEmpleado = ctrDoctor.seleccionarDoctor(objDoctor);
                numIdEmpleado = ((clsDoctor)objEmpleado).IdDoctor;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("ENFERMERO") == 0)
            {
                clsEnfermero objEnfermero = new clsEnfermero();
                objEnfermero.IdEnfermero = ventanaBienvenida.getIdEmpleado();

                objEmpleado = ctrEnfermero.seleccionarEnfermero(objEnfermero);
                numIdEmpleado = ((clsEnfermero)objEmpleado).IdEnfermero;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("TÉCNICO") == 0)
            {
                clsTecnico objTecnico = new clsTecnico();
                objTecnico.IdTecnico = ventanaBienvenida.getIdEmpleado();

                objEmpleado = ctrTecnico.seleccionarTecnico(objTecnico);
                numIdEmpleado = ((clsTecnico)objEmpleado).IdTecnico;
            }
            else if (ventanaBienvenida.getTipoEmpleado().CompareTo("ADMINISTRATIVO") == 0)
            {
                clsAdministrativo objAdministrativo = new clsAdministrativo();
                objAdministrativo.IdAdministrativo = ventanaBienvenida.getIdEmpleado();

                objEmpleado = ctrAdministrativo.seleccionarAdministrativo(objAdministrativo);
                numIdEmpleado = ((clsAdministrativo)objEmpleado).IdAdministrativo;
            }
        }
Esempio n. 14
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (numAccion == clsComun.VER)
            {
                clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                clsComun.redimensionarVentana(this, 585, 445);
                clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                limpiarFormulario();

                txtPaternoBuscar.Focus();
            }
            else
            {
                Cursor.Current = Cursors.WaitCursor;

                if (validarFormulario())
                {
                    clsTecnico objTecnico = new clsTecnico();
                    objTecnico.IdTecnico              = numIdTecnico;
                    objTecnico.Paterno                = txtPaterno.Text;
                    objTecnico.Materno                = txtMaterno.Text;
                    objTecnico.Nombres                = txtNombres.Text;
                    objTecnico.Sexo                   = clsComun.seleccionarToVacio(cboSexo.Text);
                    objTecnico.EstadoCivil            = clsComun.seleccionarToVacio(cboEstadoCivil.Text);
                    objTecnico.FechaNacimiento        = dtpFechaNacimiento.Value.Date;
                    objTecnico.IdTipoDocumento        = ((clsTipoDocumento)cboTipoDocumento.SelectedItem).IdTipoDocumento;
                    objTecnico.NumeroDocumento        = txtNumeroDocumento.Text;
                    objTecnico.Pais                   = clsComun.seleccionarToVacio(cboPais.Text);
                    objTecnico.DepartamentoNacimiento = cboDepartamento.Text;
                    objTecnico.ProvinciaNacimiento    = cboProvincia.Text;
                    objTecnico.DistritoNacimiento     = cboDistrito.Text;
                    objTecnico.DepartamentoDomicilio  = clsComun.seleccionarToVacio(cboDepartamentoDomicilio.Text);
                    objTecnico.ProvinciaDomicilio     = cboProvinciaDomicilio.Text;
                    objTecnico.DistritoDomicilio      = cboDistritoDomicilio.Text;
                    objTecnico.Direccion              = txtDireccion.Text;
                    objTecnico.IdArea                 = ((clsArea)cboArea.SelectedItem).IdArea;
                    objTecnico.Foto                   = strRutaFoto;
                    objTecnico.IdPerfil               = ((clsPerfil)cboPerfil.SelectedItem).IdPerfil;
                    objTecnico.Telefono               = txtTelefono.Text;
                    objTecnico.Celular                = txtCelular.Text;
                    objTecnico.CorreoElectronico      = txtCorreoElectronico.Text;

                    if (blnCambioFoto)
                    {
                        guardarFoto();
                    }

                    objTecnico.Foto = strRutaFoto;

                    if (numAccion == clsComun.INSERTAR)
                    {
                        objTecnico.Usuario    = ctrEmpleado.generarNombreUsuario(numIdTecnico, txtPaterno.Text, txtMaterno.Text, txtNombres.Text);
                        objTecnico.Contrasena = clsSeguridad.generarContrasenaAleatoria(8);

                        if (ctrTecnico.registrarTecnico(objTecnico))
                        {
                            enviarCorreo(txtCorreoElectronico.Text, objTecnico.Paterno, objTecnico.Materno, objTecnico.Nombres, objTecnico.Usuario, objTecnico.Contrasena);

                            if (MessageBox.Show("El técnico se registró exitosamente\n¿Desea seguir registrando técnicos?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                            {
                                limpiarFormulario();

                                txtPaterno.Focus();
                            }
                            else
                            {
                                clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                                clsComun.redimensionarVentana(this, 585, 445);
                                clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                                limpiarFormulario();

                                txtPaternoBuscar.Focus();

                                dtTecnicos = ctrTecnico.seleccionarTecnicos(objTecnico);
                                cargarGrilla();
                            }
                        }
                        else
                        {
                            if (MessageBox.Show("Ocurrió un error mientras se intentaba registrar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                            {
                                btnGuardar_Click(sender, e);
                            }
                        }
                    }
                    else if (numAccion == clsComun.MODIFICAR)
                    {
                        objTecnico.Usuario    = strUsuario;
                        objTecnico.Contrasena = strContrasena;

                        if (ctrTecnico.modificarTecnico(objTecnico))
                        {
                            MessageBox.Show("El técnico se modificó exitosamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                            clsComun.redimensionarVentana(this, 585, 445);
                            clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                            limpiarFormulario();

                            txtPaternoBuscar.Focus();

                            dtTecnicos = ctrTecnico.seleccionarTecnicos(objTecnico);
                            cargarGrilla();
                        }
                        else
                        {
                            if (MessageBox.Show("Ocurrió un error mientras se intentaba modificar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                            {
                                btnGuardar_Click(sender, e);
                            }
                        }
                    }
                }

                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 15
0
        private void mostrarInformacion(clsTecnico objTecnico, int numAccion)
        {
            if (numAccion != clsComun.INSERTAR)
            {
                txtPaterno.Text               = objTecnico.Paterno;
                txtMaterno.Text               = objTecnico.Materno;
                txtNombres.Text               = objTecnico.Nombres;
                cboSexo.Text                  = objTecnico.Sexo;
                cboEstadoCivil.Text           = objTecnico.EstadoCivil;
                dtpFechaNacimiento.Value      = objTecnico.FechaNacimiento;
                cboTipoDocumento.Text         = objTecnico._TipoDocumento;
                txtNumeroDocumento.Text       = objTecnico.NumeroDocumento;
                cboPais.Text                  = objTecnico.Pais;
                cboDepartamento.Text          = objTecnico.DepartamentoNacimiento;
                cboProvincia.Text             = objTecnico.ProvinciaNacimiento;
                cboDistrito.Text              = objTecnico.DistritoNacimiento;
                cboDepartamentoDomicilio.Text = objTecnico.DepartamentoDomicilio;
                cboProvinciaDomicilio.Text    = objTecnico.ProvinciaDomicilio;
                cboDistritoDomicilio.Text     = objTecnico.DistritoDomicilio;
                txtDireccion.Text             = objTecnico.Direccion;
                cboArea.Text                  = objTecnico._Area;
                cboPerfil.Text                = objTecnico._Perfil;
                txtTelefono.Text              = objTecnico.Telefono;
                txtCelular.Text               = objTecnico.Celular;
                txtCorreoElectronico.Text     = objTecnico.CorreoElectronico;

                try
                {
                    if (objTecnico.Foto.CompareTo("") != 0)
                    {
                        pbxFoto.Image = Image.FromFile(objTecnico.Foto);
                        strRutaFoto   = objTecnico.Foto;
                    }
                    else
                    {
                        pbxFoto.Image = Properties.Resources.NoFoto;
                    }
                }
                catch (Exception ex)
                {
                    clsComun.registrarErrorLog(ex.ToString());
                }
            }

            if (numAccion == clsComun.VER)
            {
                txtPaterno.Solo_Lectura           = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtMaterno.Solo_Lectura           = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtNombres.Solo_Lectura           = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboSexo.Enabled                   = false;
                cboEstadoCivil.Enabled            = false;
                dtpFechaNacimiento.Enabled        = false;
                cboTipoDocumento.Enabled          = false;
                txtNumeroDocumento.Solo_Lectura   = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboPais.Enabled                   = false;
                cboDepartamento.Enabled           = false;
                cboProvincia.Enabled              = false;
                cboDistrito.Enabled               = false;
                cboDepartamentoDomicilio.Enabled  = false;
                cboProvinciaDomicilio.Enabled     = false;
                cboDistritoDomicilio.Enabled      = false;
                txtDireccion.Solo_Lectura         = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboArea.Enabled                   = false;
                btnTomarFoto.Visible              = false;
                btnBuscarFoto.Visible             = false;
                btnQuitarFoto.Visible             = false;
                cboPerfil.Enabled                 = false;
                txtTelefono.Solo_Lectura          = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtCelular.Solo_Lectura           = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtCorreoElectronico.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;

                btnCancelar.Visible = false;
                btnGuardar.Text     = "Volver";
            }
            else
            {
                txtPaterno.Solo_Lectura         = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtMaterno.Solo_Lectura         = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtNombres.Solo_Lectura         = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboSexo.Enabled                 = true;
                cboEstadoCivil.Enabled          = true;
                dtpFechaNacimiento.Enabled      = true;
                cboTipoDocumento.Enabled        = true;
                txtNumeroDocumento.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboPais.Enabled                 = true;
                //cboDepartamento.Enabled = true;
                //cboProvincia.Enabled = true;
                //cboDistrito.Enabled = true;
                cboDepartamentoDomicilio.Enabled = true;
                //cboProvinciaDomicilio.Enabled = true;
                //cboDistritoDomicilio.Enabled = true;
                txtDireccion.Solo_Lectura         = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboArea.Enabled                   = true;
                btnTomarFoto.Visible              = true;
                btnBuscarFoto.Visible             = true;
                btnQuitarFoto.Visible             = true;
                cboPerfil.Enabled                 = true;
                txtTelefono.Solo_Lectura          = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtCelular.Solo_Lectura           = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtCorreoElectronico.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;

                btnCancelar.Visible = true;
                btnGuardar.Text     = "Guardar";
            }

            clsComun.redimensionarTabControl(tbcTecnico, 786, 426);
            clsComun.redimensionarVentana(this, 790, 452);
            clsComun.tabSiguiente(tbcTecnico, tbpBuscar, tbpDetalle);
        }
Esempio n. 16
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (numAccion == clsComun.VER)
            {
                clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                clsComun.redimensionarVentana(this, 585, 445);
                clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                limpiarFormulario();

                txtPaternoBuscar.Focus();
            }
            else
            {
                Cursor.Current = Cursors.WaitCursor;

                if (validarFormulario())
                {
                    clsTecnico objTecnico = new clsTecnico();
                    objTecnico.IdTecnico = numIdTecnico;
                    objTecnico.Paterno = txtPaterno.Text;
                    objTecnico.Materno = txtMaterno.Text;
                    objTecnico.Nombres = txtNombres.Text;
                    objTecnico.Sexo = clsComun.seleccionarToVacio(cboSexo.Text);
                    objTecnico.EstadoCivil = clsComun.seleccionarToVacio(cboEstadoCivil.Text);
                    objTecnico.FechaNacimiento = dtpFechaNacimiento.Value.Date;
                    objTecnico.IdTipoDocumento = ((clsTipoDocumento)cboTipoDocumento.SelectedItem).IdTipoDocumento;
                    objTecnico.NumeroDocumento = txtNumeroDocumento.Text;
                    objTecnico.Pais = clsComun.seleccionarToVacio(cboPais.Text);
                    objTecnico.DepartamentoNacimiento = cboDepartamento.Text;
                    objTecnico.ProvinciaNacimiento = cboProvincia.Text;
                    objTecnico.DistritoNacimiento = cboDistrito.Text;
                    objTecnico.DepartamentoDomicilio = clsComun.seleccionarToVacio(cboDepartamentoDomicilio.Text);
                    objTecnico.ProvinciaDomicilio = cboProvinciaDomicilio.Text;
                    objTecnico.DistritoDomicilio = cboDistritoDomicilio.Text;
                    objTecnico.Direccion = txtDireccion.Text;
                    objTecnico.IdArea = ((clsArea)cboArea.SelectedItem).IdArea;
                    objTecnico.Foto = strRutaFoto;
                    objTecnico.IdPerfil = ((clsPerfil)cboPerfil.SelectedItem).IdPerfil;
                    objTecnico.Telefono = txtTelefono.Text;
                    objTecnico.Celular = txtCelular.Text;
                    objTecnico.CorreoElectronico = txtCorreoElectronico.Text;

                    if (blnCambioFoto)
                    {
                        guardarFoto();
                    }

                    objTecnico.Foto = strRutaFoto;

                    if (numAccion == clsComun.INSERTAR)
                    {
                        objTecnico.Usuario = ctrEmpleado.generarNombreUsuario(numIdTecnico, txtPaterno.Text, txtMaterno.Text, txtNombres.Text);
                        objTecnico.Contrasena = clsSeguridad.generarContrasenaAleatoria(8);

                        if (ctrTecnico.registrarTecnico(objTecnico))
                        {
                            enviarCorreo(txtCorreoElectronico.Text, objTecnico.Paterno, objTecnico.Materno, objTecnico.Nombres, objTecnico.Usuario, objTecnico.Contrasena);

                            if (MessageBox.Show("El técnico se registró exitosamente\n¿Desea seguir registrando técnicos?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                            {
                                limpiarFormulario();

                                txtPaterno.Focus();
                            }
                            else
                            {
                                clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                                clsComun.redimensionarVentana(this, 585, 445);
                                clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                                limpiarFormulario();

                                txtPaternoBuscar.Focus();

                                dtTecnicos = ctrTecnico.seleccionarTecnicos(objTecnico);
                                cargarGrilla();
                            }
                        }
                        else
                        {
                            if (MessageBox.Show("Ocurrió un error mientras se intentaba registrar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                            {
                                btnGuardar_Click(sender, e);
                            }
                        }
                    }
                    else if (numAccion == clsComun.MODIFICAR)
                    {
                        objTecnico.Usuario = strUsuario;
                        objTecnico.Contrasena = strContrasena;

                        if (ctrTecnico.modificarTecnico(objTecnico))
                        {
                            MessageBox.Show("El técnico se modificó exitosamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            clsComun.redimensionarTabControl(tbcTecnico, 582, 419);
                            clsComun.redimensionarVentana(this, 585, 445);
                            clsComun.tabAnterior(tbcTecnico, tbpBuscar, tbpDetalle);

                            limpiarFormulario();

                            txtPaternoBuscar.Focus();

                            dtTecnicos = ctrTecnico.seleccionarTecnicos(objTecnico);
                            cargarGrilla();
                        }
                        else
                        {
                            if (MessageBox.Show("Ocurrió un error mientras se intentaba modificar el técnico", "Mensaje", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Cancel)
                            {
                                btnGuardar_Click(sender, e);
                            }
                        }
                    }
                }

                Cursor.Current = Cursors.Default;
            }
        }
Esempio n. 17
0
        private void btnVer_Click(object sender, EventArgs e)
        {
            if (dgvTecnicos.SelectedRows.Count > 0)
            {
                numAccion = clsComun.VER;

                numIdTecnico = Int32.Parse(dgvTecnicos.Rows[dgvTecnicos.CurrentRow.Index].Cells[0].Value.ToString());

                limpiarFormulario();

                clsTecnico objTecnico = new clsTecnico();
                objTecnico.IdTecnico = numIdTecnico;

                objTecnico = ctrTecnico.seleccionarTecnico(objTecnico);

                mostrarInformacion(objTecnico, numAccion);

                txtPaterno.Focus();
            }
            else
            {
                MessageBox.Show("Debe seleccionar un técnico", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Esempio n. 18
0
        private static List<SqlParameter> crearLista(clsTecnico objTecnico)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            foreach (PropertyInfo pi in objTecnico.GetType().GetProperties())
            {
                if (pi.CanRead)
                {
                    if (pi.Name.Substring(0, 1).CompareTo("_") != 0)
                    {
                        sqlParametro = new SqlParameter();
                        sqlParametro.ParameterName = "@" + pi.Name;
                        sqlParametro.Value = pi.GetValue(objTecnico, null);
                        sqlParametro.Direction = ParameterDirection.Input;

                        lstParametrosSQL.Add(sqlParametro);
                    }
                    else
                    {
                        continue;
                    }
                }
            }

            return lstParametrosSQL;
        }
Esempio n. 19
0
        public static DataTable seleccionarTecnicosCriterios(clsTecnico objTecnico)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value = 6;
            sqlParametro.Direction = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value = 0;
            sqlParametro.Direction = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            return clsGestorBD.ejecutarStoredProcedureDataTable("up_ManTecnico", lstParametrosSQL);
        }
Esempio n. 20
0
        public static clsTecnico seleccionarTecnico(clsTecnico objTecnico)
        {
            List<SqlParameter> lstParametrosSQL = new List<SqlParameter>();
            SqlParameter sqlParametro;

            lstParametrosSQL = crearLista(objTecnico);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@Accion";
            sqlParametro.Value = 4;
            sqlParametro.Direction = ParameterDirection.Input;

            lstParametrosSQL.Add(sqlParametro);

            sqlParametro = new SqlParameter();
            sqlParametro.ParameterName = "@IdGenerado";
            sqlParametro.Value = 0;
            sqlParametro.Direction = ParameterDirection.Output;

            lstParametrosSQL.Add(sqlParametro);

            DataTable dtResultado = clsGestorBD.ejecutarStoredProcedureDataTable("up_ManTecnico", lstParametrosSQL);

            objTecnico.IdTecnico = Int32.Parse(dtResultado.Rows[0]["IdPersona"].ToString());
            objTecnico.Paterno = dtResultado.Rows[0]["Paterno"].ToString();
            objTecnico.Materno = dtResultado.Rows[0]["Materno"].ToString();
            objTecnico.Nombres = dtResultado.Rows[0]["Nombres"].ToString();
            objTecnico.FechaNacimiento = DateTime.Parse(dtResultado.Rows[0]["FechaNacimiento"].ToString());
            objTecnico.Sexo = dtResultado.Rows[0]["Sexo"].ToString();
            objTecnico.IdTipoDocumento = Int32.Parse(dtResultado.Rows[0]["IdTipoDocumento"].ToString());
            objTecnico._TipoDocumento = dtResultado.Rows[0]["TipoDocumento"].ToString();
            objTecnico.NumeroDocumento = dtResultado.Rows[0]["NumeroDocumento"].ToString();
            objTecnico.EstadoCivil = dtResultado.Rows[0]["EstadoCivil"].ToString();
            objTecnico._IdLugarNacimiento = Int32.Parse(dtResultado.Rows[0]["IdLugarNacimiento"].ToString());
            objTecnico.Pais = dtResultado.Rows[0]["Pais"].ToString();
            objTecnico.DepartamentoNacimiento = dtResultado.Rows[0]["Departamento"].ToString();
            objTecnico.ProvinciaNacimiento = dtResultado.Rows[0]["Provincia"].ToString();
            objTecnico.DistritoNacimiento = dtResultado.Rows[0]["Distrito"].ToString();
            objTecnico._IdDomicilio = Int32.Parse(dtResultado.Rows[0]["IdDomicilio"].ToString());
            objTecnico.DepartamentoDomicilio = dtResultado.Rows[0]["DepartamentoDomicilio"].ToString();
            objTecnico.ProvinciaDomicilio = dtResultado.Rows[0]["ProvinciaDomicilio"].ToString();
            objTecnico.DistritoDomicilio = dtResultado.Rows[0]["DistritoDomicilio"].ToString();
            objTecnico.Direccion = dtResultado.Rows[0]["Direccion"].ToString();
            objTecnico.Telefono = dtResultado.Rows[0]["Telefono"].ToString();
            objTecnico.Celular = dtResultado.Rows[0]["Celular"].ToString();
            objTecnico.CorreoElectronico = dtResultado.Rows[0]["CorreoElectronico"].ToString();
            objTecnico.Usuario = dtResultado.Rows[0]["Usuario"].ToString();
            objTecnico.Contrasena = dtResultado.Rows[0]["Contrasena"].ToString();
            objTecnico.IdArea = Int32.Parse(dtResultado.Rows[0]["IdArea"].ToString());
            objTecnico._Area = dtResultado.Rows[0]["Area"].ToString();
            objTecnico.Foto = dtResultado.Rows[0]["Foto"].ToString();
            objTecnico.IdPerfil = Int32.Parse(dtResultado.Rows[0]["IdPerfil"].ToString());
            objTecnico._Perfil = dtResultado.Rows[0]["Perfil"].ToString();
            objTecnico.Estado = dtResultado.Rows[0]["Estado"].ToString();
            objTecnico.Usuario = dtResultado.Rows[0]["Usuario"].ToString();
            objTecnico.Contrasena = dtResultado.Rows[0]["Contrasena"].ToString();

            return objTecnico;
        }
Esempio n. 21
0
        private void buscarCriterios(object sender, EventArgs e)
        {
            try
            {
                clsTecnico objTecnico = new clsTecnico();
                objTecnico.Paterno = txtPaternoBuscar.Text;
                objTecnico.Materno = txtMaternoBuscar.Text;
                objTecnico.Nombres = txtNombresBuscar.Text;
                objTecnico.IdArea = ((clsArea)cboAreaBuscar.SelectedItem).IdArea;
                objTecnico.Estado = cboEstadoBuscar.Text;

                dtTecnicos = ctrTecnico.seleccionarTecnicosCriterios(objTecnico);
                cargarGrilla();
            }
            catch
            {
            }
        }
Esempio n. 22
0
        private void mostrarInformacion(clsTecnico objTecnico, int numAccion)
        {
            if (numAccion != clsComun.INSERTAR)
            {
                txtPaterno.Text = objTecnico.Paterno;
                txtMaterno.Text = objTecnico.Materno;
                txtNombres.Text = objTecnico.Nombres;
                cboSexo.Text = objTecnico.Sexo;
                cboEstadoCivil.Text = objTecnico.EstadoCivil;
                dtpFechaNacimiento.Value = objTecnico.FechaNacimiento;
                cboTipoDocumento.Text = objTecnico._TipoDocumento;
                txtNumeroDocumento.Text = objTecnico.NumeroDocumento;
                cboPais.Text = objTecnico.Pais;
                cboDepartamento.Text = objTecnico.DepartamentoNacimiento;
                cboProvincia.Text = objTecnico.ProvinciaNacimiento;
                cboDistrito.Text = objTecnico.DistritoNacimiento;
                cboDepartamentoDomicilio.Text = objTecnico.DepartamentoDomicilio;
                cboProvinciaDomicilio.Text = objTecnico.ProvinciaDomicilio;
                cboDistritoDomicilio.Text = objTecnico.DistritoDomicilio;
                txtDireccion.Text = objTecnico.Direccion;
                cboArea.Text = objTecnico._Area;
                cboPerfil.Text = objTecnico._Perfil;
                txtTelefono.Text = objTecnico.Telefono;
                txtCelular.Text = objTecnico.Celular;
                txtCorreoElectronico.Text = objTecnico.CorreoElectronico;

                try
                {
                    if (objTecnico.Foto.CompareTo("") != 0)
                    {
                        pbxFoto.Image = Image.FromFile(objTecnico.Foto);
                        strRutaFoto = objTecnico.Foto;
                    }
                    else
                    {
                        pbxFoto.Image = Properties.Resources.NoFoto;
                    }
                }
                catch (Exception ex)
                {
                    clsComun.registrarErrorLog(ex.ToString());
                }
            }

            if (numAccion == clsComun.VER)
            {
                txtPaterno.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtMaterno.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtNombres.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboSexo.Enabled = false;
                cboEstadoCivil.Enabled = false;
                dtpFechaNacimiento.Enabled = false;
                cboTipoDocumento.Enabled = false;
                txtNumeroDocumento.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboPais.Enabled = false;
                cboDepartamento.Enabled = false;
                cboProvincia.Enabled = false;
                cboDistrito.Enabled = false;
                cboDepartamentoDomicilio.Enabled = false;
                cboProvinciaDomicilio.Enabled = false;
                cboDistritoDomicilio.Enabled = false;
                txtDireccion.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                cboArea.Enabled = false;
                btnTomarFoto.Visible = false;
                btnBuscarFoto.Visible = false;
                btnQuitarFoto.Visible = false;
                cboPerfil.Enabled = false;
                txtTelefono.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtCelular.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;
                txtCorreoElectronico.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.verdadero;

                btnCancelar.Visible = false;
                btnGuardar.Text = "Volver";
            }
            else
            {
                txtPaterno.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtMaterno.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtNombres.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboSexo.Enabled = true;
                cboEstadoCivil.Enabled = true;
                dtpFechaNacimiento.Enabled = true;
                cboTipoDocumento.Enabled = true;
                txtNumeroDocumento.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboPais.Enabled = true;
                //cboDepartamento.Enabled = true;
                //cboProvincia.Enabled = true;
                //cboDistrito.Enabled = true;
                cboDepartamentoDomicilio.Enabled = true;
                //cboProvinciaDomicilio.Enabled = true;
                //cboDistritoDomicilio.Enabled = true;
                txtDireccion.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                cboArea.Enabled = true;
                btnTomarFoto.Visible = true;
                btnBuscarFoto.Visible = true;
                btnQuitarFoto.Visible = true;
                cboPerfil.Enabled = true;
                txtTelefono.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtCelular.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;
                txtCorreoElectronico.Solo_Lectura = SistemaCentroSalud.Controles.cuTextBox.SoloLectura.falso;

                btnCancelar.Visible = true;
                btnGuardar.Text = "Guardar";
            }

            clsComun.redimensionarTabControl(tbcTecnico, 786, 426);
            clsComun.redimensionarVentana(this, 790, 452);
            clsComun.tabSiguiente(tbcTecnico, tbpBuscar, tbpDetalle);
        }