Пример #1
0
 /// <summary>
 /// Consultar Ofertas disponibles a partir de criterios como la sede, el
 /// estado y el nombre de la oferta registrada.
 /// </summary>
 /// <param name="oferta"></param>
 /// <returns>datatable con las coincidencias</returns>
 public DataTable ConsultarOfertas(EOferta oferta)
 {
     SqlCommand comando = CrearComandoProc("MAT_OfertaConsultar");
     comando.Parameters.AddWithValue("@IdEstado", oferta.IdEstado);
     comando.Parameters.AddWithValue("@IdSede", oferta.IdSede);
     comando.Parameters.AddWithValue("@Nombre", oferta.Nombre);
     return EjecutarComandoDataTable(comando);
 }
Пример #2
0
 /// <summary>
 /// Cambiar el estado de la oferta
 /// </summary>
 /// <param name="oferta">Entidad de oferta</param>
 /// <returns>1 - si la operación finalizó sin excepciones</returns>
 public int CambiarEstadoOferta(EOferta oferta)
 {
     SqlCommand comando = CrearComandoProc("MAT_OfertaCambiarEstado");
     comando.Parameters.AddWithValue("@IdOferta", oferta.IdOferta);
     comando.Parameters.AddWithValue("@IdEstadoOferta", oferta.IdEstado);
     comando.Parameters.AddWithValue("@LoginUsuario", oferta.LoginUsuario);
     comando.Parameters.AddWithValue("@Observaciones", oferta.Observacion);
     comando.Parameters.AddWithValue("@FechaHora", oferta.FechaRegistro);
     return EjecutarComando(comando);
 }
Пример #3
0
        /// <summary>
        /// Cambia el estado de la oferta y actualiza el historial
        /// </summary>
        /// <param name="oferta"></param>
        /// <returns>true - si el procedimiento tuvo éxito</returns>
        public bool CambiarEstadoOferta(EOferta oferta, string anterior, string nuevo)
        {
            try
            {
                if (anterior.Equals("En matrícula") && !nuevo.Equals("En matrícula") ||
                    !anterior.Equals("En matrícula") && nuevo.Equals("En matrícula"))
                {
                    if (ofertasDAL.CambiarEstadoOferta(oferta) != 0)
                    {
                        // Notificar a bitácora
                        EBitacora entrada = new EBitacora();
                        entrada.LoginUsuario = oferta.LoginUsuario;
                        entrada.Accion = "Cambiar estado de oferta";
                        entrada.TipoEvento = "Modificar";
                        entrada.Descripcion = "El estado de la oferta '" + oferta.Nombre +
                                              "' fue cambiado de '" + anterior + "' a '" +
                                              nuevo + "'.";
                        entrada.Entidad = oferta.Nombre;
                        new ReporteNeg().RegistrarBitacora(entrada);

                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
            catch
            {
                return false;
            }
        }
Пример #4
0
        /// <summary>
        /// Comprobar y guardar el nuevo registro de oferta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                EOferta nueva = new EOferta();
                nueva.LoginUsuario = sesion.Login;
                nueva.Nombre = txtbNombre.Text;
                nueva.Estado = cmbEstado.Text;
                nueva.IdEstado = Convert.ToInt16(cmbEstado.SelectedValue);
                nueva.IdSede = Convert.ToInt16(cmbSede.SelectedValue);
                nueva.Sede = cmbSede.Text;
                nueva.MatriculaIniciaEl = Convert.ToDateTime(txtbInicioMatricula.Text + " " +
                                                             cmbHora.Text + ":" +
                                                             cmbMinutos.Text + ":00");
                nueva.FechaRegistro = Convert.ToDateTime(txtbFechaReg.Text);
                nueva.UltimaModificacion = Convert.ToDateTime(txtbUltMod.Text);
                nueva.Observacion = txtbObservacion.Text;

                if (nueva.DatosValidos())
                {
                    new OfertasNeg().RegistrarOferta(nueva);
                    MessageBox.Show(this, "La oferta '" + nueva.Nombre + "' se registró " +
                                          "exitosamente. ", "Éxito");
                    this.Close();
                }
                else
                {
                    MessageBox.Show(this, "Revise que los datos en los campos sean correctos.",
                                          "Error");
                }
            }
            catch (Exception ex)
            {
                MainForm.NotificarExcepcion("CU MAT003", ex);
            }
        }
Пример #5
0
 /// <summary>
 /// Registrar una nueva oferta en la base de datos
 /// </summary>
 /// <param name="oferta">Entidad de oferta</param>
 /// <returns>1 - si la operación finalizó sin excepciones</returns>
 public int RegistrarOferta(EOferta oferta)
 {
     SqlCommand comando = CrearComandoProc("MAT_OfertaRegistrar");
     comando.Parameters.AddWithValue("@IdEstadoOferta", oferta.IdEstado);
     comando.Parameters.AddWithValue("@IdSede", oferta.IdSede);
     comando.Parameters.AddWithValue("@Nombre", oferta.Nombre);
     comando.Parameters.AddWithValue("@FechaInicio", oferta.MatriculaIniciaEl);
     comando.Parameters.AddWithValue("@FechaRegistro", oferta.FechaRegistro);
     comando.Parameters.AddWithValue("@UltimaModificacion", oferta.UltimaModificacion);
     comando.Parameters.AddWithValue("@Observacion", oferta.Observacion);
     return EjecutarComando(comando);
 }
Пример #6
0
        /// <summary>
        /// Registra una oferta
        /// </summary>
        /// <param name="oferta"></param>
        /// <returns>true - si el procedimiento tuvo éxito</returns>
        public bool RegistrarOferta(EOferta oferta)
        {
            try
            {
                if (ofertasDAL.RegistrarOferta(oferta) != 0)
                {
                    // Notificar a bitácora
                    EBitacora entrada = new EBitacora();
                    entrada.LoginUsuario = oferta.LoginUsuario;
                    entrada.Accion = "Registrar oferta";
                    entrada.TipoEvento = "Registrar";
                    entrada.Descripcion = "Se ha registrado la oferta '" + oferta.Nombre +
                                         "' con la siguiente información: " +
                                         "estado = " + oferta.Estado + ", " +
                                         "Sede = " + oferta.Sede + ", " +
                                         "Fecha y hora de matrícula = " + oferta.FechaRegistro + ", " +
                                         "Observaciones = " + oferta.Observacion;
                    entrada.Entidad = oferta.Nombre;
                    new ReporteNeg().RegistrarBitacora(entrada);

                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch
            {
                return false;
            }
        }
Пример #7
0
        /// <summary>
        /// Elimina una oferta de la base de datos a partir de su ID
        /// </summary>
        /// <param name="oferta"></param>
        /// <returns>true - si el procedimiento tuvo éxito</returns>
        public bool EliminarOferta(EOferta oferta)
        {
            try
            {
                if (ofertasDAL.EliminarOferta(oferta.IdOferta) != 0)
                {
                    // Notificar a bitácora
                    EBitacora entrada = new EBitacora();
                    entrada.LoginUsuario = oferta.LoginUsuario;
                    entrada.Accion = "Eliminar oferta";
                    entrada.TipoEvento = "Eliminar";
                    entrada.Descripcion = "Se ha eliminado la información de la oferta '" +
                                          oferta.Nombre + "'.";
                    entrada.Entidad = oferta.Nombre;
                    new ReporteNeg().RegistrarBitacora(entrada);

                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch
            {
                return false;
            }
        }
Пример #8
0
 /// <summary>
 /// Consultar tabla de ofertas
 /// </summary>
 /// <param name="consulta"></param>
 /// <returns></returns>
 public DataView ConsultarOfertas(EOferta consulta)
 {
     DataTable tabla = ofertasDAL.ConsultarOfertas(consulta);
     return tabla.AsDataView();
 }
Пример #9
0
        /// <summary>
        /// Guardar cambios sobre una oferta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                EOferta mod = new EOferta();

                mod.LoginUsuario = sesion.Login;

                mod.IdOferta = idOferta;
                mod.Nombre = txtbNombre.Text;
                mod.IdEstado = Convert.ToInt16(cmbEstado.SelectedValue);
                mod.IdSede = Convert.ToInt16(cmbSede.SelectedValue);
                mod.MatriculaIniciaEl = Convert.ToDateTime(txtbInicioMatricula.Text + " " +
                                                             cmbHora.Text + ":" +
                                                             cmbMinutos.Text + ":00");
                mod.UltimaModificacion = DateTime.Now;
                mod.Observacion = txtbObservacion.Text;

                if (mod.DatosValidos())
                {
                    if (new OfertasNeg().ModificarOferta(mod)) {
                        MessageBox.Show(this, "La oferta '" + mod.Nombre + "' se modificó " +
                                              "exitosamente. ", "Éxito");
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show(this, "Revise que los datos en los campos sean correctos.",
                                          "Error");
                }
            }
            catch (Exception ex)
            {
                MainForm.NotificarExcepcion("CU MAT004", ex);
            }
        }
Пример #10
0
        /// <summary>
        /// Eliminar una oferta si se encuentra una fila seleccionada
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEliminarOferta_Click(object sender, EventArgs e)
        {
            try
            {
                if (GridOferta.SelectedRows.Count != 0)
                {
                    DataGridViewRow row = GridOferta.SelectedRows[0];
                    string nombreOferta = row.Cells["Nombre"].Value.ToString();
                    int idOferta = int.Parse(row.Cells["ID"].Value.ToString());

                    DialogResult dialogResult = MessageBox.Show("¿Desea eliminar la oferta seleccionada?",
                                                                 "Confirmación", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        EOferta elim = new EOferta();
                        elim.Nombre = nombreOferta;
                        elim.IdOferta = idOferta;

                        if (new OfertasNeg().EliminarOferta(elim))
                        {
                            MessageBox.Show("Se ha eliminado la información de la oferta '" +
                                             nombreOferta + "'.", "Éxito");
                            CargarTablaOfertas(new EOferta());
                        }
                        else
                        {
                            MessageBox.Show("No se ha podido eliminar la oferta '" + nombreOferta +
                                            "' porque tiene cursos asignados.", "Error");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MainForm.NotificarExcepcion("CU MAT005", ex);
            }
        }
Пример #11
0
        /// <summary>
        /// Cargar datos actualizados de ofertas
        /// </summary>
        /// <param name="Nombre"></param>
        /// <param name="Descripcion"></param>
        private void CargarTablaOfertas(EOferta consulta)
        {
            try
            {
                // Reiniciar contenidos del DataGridView
                GridOferta.DataSource = null;
                GridOferta.Rows.Clear();
                GridOferta.Refresh();

                // Llenar valores de entidad consulta
                if (!cmbEstado.Text.Equals("Cualquiera"))
                    consulta.IdEstado = Convert.ToInt16(cmbEstado.SelectedValue);

                if (!cmbSede.Text.Equals("Cualquiera"))
                    consulta.IdSede = Convert.ToInt16(cmbSede.SelectedValue);

                consulta.Nombre = txtbNombre.Text;

                DataView info = new OfertasNeg().ConsultarOfertas(consulta);

                GridOferta.DataSource = info;

                // Configurar alineación de columnas especiales
                GridOferta.Columns["ID"].Visible = false;
                GridOferta.Columns["Sede"].DefaultCellStyle.Font = new Font(Font, FontStyle.Bold);
                GridOferta.Columns["Matrícula inicia el"].DefaultCellStyle.Alignment =
                    DataGridViewContentAlignment.MiddleCenter;

                // Mostrar subrayado si el usuario dispone del permiso Ver Detalles
                if (sesion.permisos.VerDetallesOferta)
                    GridOferta.Columns["Nombre"].DefaultCellStyle.Font = new Font(Font, FontStyle.Underline);
            }
            catch (Exception ex)
            {
                MainForm.NotificarExcepcion("CU MAT001", ex);
            }
        }