/// <summary>
 /// elimina un Aviso
 /// </summary>
 /// <param name="dato"></param>
 public void eliminar(Aviso dato)
 {
     using (Database db = DatabaseFactory.openDatabase("matricula_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_aviso_DELETE");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idAviso", dato.idAviso);
         db.executeNonQuery(comando);
     }
 }
 /// <summary>
 /// crea un aviso nuevo
 /// </summary>
 /// <param name="dato"></param>
 public void nuevo(Aviso dato)
 {
     if (!this.existe(dato))
     {
         this.avisoDao.nuevo(dato);
     }
     else
     {
         throw new Exception("Ya existe el registro.");
     }
 }
         /// <summary>
        /// elimina un aviso
        /// </summary>
        /// <param name="dato"></param>
        public void eliminar(Aviso dato)
        {

            if (this.existe(dato))
            {
                this.avisoDao.eliminar(dato);
            }
            else
            {
                throw new Exception("No existe el registro.");
            }
        }
 /// <summary>
 /// modifica un Aviso
 /// </summary>
 /// <param name="dato"></param>        
 public void modificar(Aviso dato)
 {
     using (Database db = DatabaseFactory.openDatabase("matricula_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_aviso_UPDATE");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idAviso", dato.idAviso);
         comando.Parameters.AddWithValue("p_descripcion", dato.descripcion);
         comando.Parameters.AddWithValue("p_fechaInicial", dato.fechaInicial);
         comando.Parameters.AddWithValue("p_fechaFinal", dato.fechaFinal);
         comando.Parameters.AddWithValue("p_usuarioCreacion", dato.usuarioCreacion);
         comando.Parameters.AddWithValue("p_usuarioModificacion", dato.usuarioModificacion);
         comando.Parameters.AddWithValue("p_fechaCreacion", dato.fechaCreacion);
         comando.Parameters.AddWithValue("p_fechaModificacion", dato.fechaModificacion);
         comando.Parameters.AddWithValue("p_estado", dato.estado);
         //comando.Parameters.AddWithValue("p_fechaCreacion", DateTime.Today);
         //comando.Parameters.AddWithValue("p_fechaModificacion", DateTime.Today);
         db.executeNonQuery(comando);
     }
 }
 /// <summary>
 /// consulta un Aviso
 /// </summary>
 /// <param name="dato"></param>
 /// <returns></returns>
 public Aviso consultarId(Aviso dato)
 {
     return this.avisoDao.consultarId(dato);
 }
 /// <summary>
 /// verifica si existe un aviso
 /// </summary>
 /// <param name="dato"></param>
 /// <returns>TRUE si existe, FALSE en caso contrario</returns>
 public bool existe(Aviso dato)
 {
     return this.avisoDao.existe(dato);
 }
 /// <summary>
 /// verifica si existe un  Aviso
 /// </summary>
 /// <param name="dato"></param>
 /// <returns>TRUE si existe, FALSE en caso contrario</returns>
 public bool existe(Aviso dato)
 {
     Aviso objeto = new Aviso();
     using (Database db = DatabaseFactory.openDatabase("matricula_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_aviso_SELECT_ByID");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idAviso", dato.idAviso);
         DataSet ds = db.executeReader(comando, "Aviso");
         if (ds.Tables[0].Rows.Count > 0)
         {
             return true;
         }
         else
         {
             return false;
         }
     }
 }
        /// <summary>
        /// consulta todas los avisos
        /// </summary>
        /// <returns>List</returns>
        public List<Aviso> consultarTodos()
        {
            using (Database db = DatabaseFactory.openDatabase("matricula_web_db"))
            {
                List<Aviso> lista = new List<Aviso>();
                MySqlCommand comando = new MySqlCommand("sp_aviso_SELECT_all");
                comando.CommandType = CommandType.Text;
                //indicamos el nombre de la tabla
                DataSet ds = db.executeReader(comando, "Aviso");
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    Aviso dato = new Aviso();
                    if (!row["idAviso"].ToString().Equals(""))
                        dato.idAviso = row["idAviso"].ToString();
                    if (!row["descripcion"].ToString().Equals(""))
                        dato.descripcion = row["descripcion"].ToString();
                    if (!row["estado"].ToString().Equals(""))
                        dato.estado = row["estado"].ToString();
                    //Se deben de indicar los valores del usuario
                    if (!row["usuarioCreacion"].ToString().Equals(""))
                        dato.usuarioCreacion = row["usuarioCreacion"].ToString();
                    if (!row["usuarioModificacion"].ToString().Equals(""))
                        dato.usuarioModificacion = row["usuarioModificacion"].ToString();
                    //Se deben de indicar los valores de la fecha
                    if (!row["fechaCreacion"].ToString().Equals(""))
                        dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString());
                    if (!row["fechaModificacion"].ToString().Equals(""))
                        dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString());
                    if (!row["fechaInicial"].ToString().Equals(""))
                        dato.fechaInicial = DateTime.Parse(row["fechaInicial"].ToString());
                    if (!row["fechaFinal"].ToString().Equals(""))
                        dato.fechaFinal = DateTime.Parse(row["fechaFinal"].ToString());
                    //Campos que indican si los valores son las fechas del registro de notas

                    lista.Add(dato);
                }
                return lista;
            }
        }
        /// <summary>
        /// consulta un Aviso
        /// </summary>
        /// <param name="dato"></param>
        /// <returns></returns>
        public Aviso consultarId(Aviso dato)
        {

            using (Database db = DatabaseFactory.openDatabase("matricula_web_db"))
            {
                MySqlCommand comando = new MySqlCommand("sp_aviso_SELECT_ByID");
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("p_idAviso", dato.idAviso);
                //Despues del comando indicar el nombre de la tabla
                DataSet ds = db.executeReader(comando, "Aviso");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataRow row = ds.Tables[0].Rows[0];
                    if (!row["idAviso"].ToString().Equals(""))
                        dato.idAviso = (row["idAviso"].ToString());
                    if (!row["descripcion"].ToString().Equals(""))
                        dato.descripcion = row["descripcion"].ToString();
                    
                    //Para indicar los datos del usuario
                    if (!row["usuarioCreacion"].ToString().Equals(""))
                        dato.usuarioCreacion = row["usuarioCreacion"].ToString();
                    if (!row["usuarioModificacion"].ToString().Equals(""))
                        dato.usuarioModificacion = row["usuarioModificacion"].ToString();


                    //Indicamos los valores de las fechas
                    if (!row["fechaCreacion"].ToString().Equals(""))
                        dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString());
                    if (!row["fechaModificacion"].ToString().Equals(""))
                        dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString());
                    if (!row["fechaInicial"].ToString().Equals(""))
                        dato.fechaInicial = DateTime.Parse(row["fechaInicial"].ToString());
                    if (!row["fechaFinal"].ToString().Equals(""))
                        dato.fechaModificacion = DateTime.Parse(row["fechaFinal"].ToString());
                    //Campos que indican si los valores son las fechas del registro de notas
                    
                }
                else
                {
                    dato = null;
                }
                return dato;
            }
        }
        /// <summary>
        /// inserta un registro nuevo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
        {
            try
            {
                Aviso aviso = new Aviso();
                //llena el objeto con los valores
                if (e.NewValues["idAviso"] != null)
                    aviso.idAviso = e.NewValues["idAviso"].ToString();
                if (e.NewValues["descripcion"] != null)
                    aviso.descripcion = e.NewValues["descripcion"].ToString();
                    aviso.usuarioCreacion = Session["usuario"].ToString();
                if (e.NewValues["estado"] != null)
                    aviso.estado = e.NewValues["estado"].ToString();
                if (e.NewValues["fechaInicial"] != null)
                    aviso.fechaInicial = DateTime.Parse(e.NewValues["fechaInicial"].ToString());
                if (e.NewValues["fechaFinal"] != null)
                    aviso.fechaFinal = DateTime.Parse(e.NewValues["fechaFinal"].ToString());
                                avisoBo.nuevo(aviso);//agrega el objeto a la base de datos 
                e.Cancel = true;//manejo de execpcion no controlada BUSCAR SOLUCION
                this.ASPxGridView1.CancelEdit();

                this.cargarDatos();//refescar los datos
            }
            catch (Exception ex)
            {
                Session["errorMessage"] = ex.Message;
            }

        }