/// <summary>
        /// ACTUALIZAR O INGRESAR INFORMACION DE GRUPOS
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BTN_EditGrilla_Click(object sender, EventArgs e)
        {
            try
            {
                //===========================================================
                // DECLARACION DE VARIABLES
                //===========================================================
                string            DESCRIPCION  = "";
                bool              ESTADO_GRUPO = false;
                int               ID_GRUPO     = 0;
                SMetodos          Servicio     = new SMetodos();
                oSP_RETURN_STATUS ObjetoRest   = new oSP_RETURN_STATUS();


                //===========================================================
                // VALIDACION DE OBSERVACION
                //===========================================================
                if (string.IsNullOrEmpty(TXT_DESCRIPCION.Text))
                {
                    throw new Exception("DEBE INGRESAR UNA OBSERVACION");
                }

                //===========================================================
                // ASIGNACION
                //===========================================================
                ESTADO_GRUPO = CHK_ESTADO.Checked;
                DESCRIPCION  = TXT_DESCRIPCION.Text;


                //===========================================================
                // VALIDACION DE OBSERVACION
                //===========================================================
                if (string.IsNullOrEmpty(TXT_ID.Text))
                {
                    throw new Exception("NO EXISTE ID VALIDO PARA CREAR Y TAMPOCO ACTUALIZAR");
                }

                //===========================================================
                // ID ASIGNADO
                //===========================================================
                try
                {
                    ID_GRUPO = Convert.ToInt32(TXT_ID.Text);
                }
                catch
                {
                    throw new Exception("ID ENVIADO NO ES UN NUMERO VALIDO");
                }

                //===========================================================
                // VER SI ACTUALIZAMOS O INGRESAMOS
                //===========================================================
                if (ID_GRUPO == 0)
                {
                    iSP_CREATE_GRUPO ParametrosInput = new iSP_CREATE_GRUPO();
                    ParametrosInput.ID_GRUPO    = ID_GRUPO;
                    ParametrosInput.DESCRIPCION = DESCRIPCION;



                    //=======================================================
                    // LLAMADA A SERVICIO
                    //=======================================================
                    oSP_RETURN_STATUS ESTADO = Servicio.SP_CREATE_GRUPO(ParametrosInput);

                    if (ESTADO.RETURN_VALUE == -1)
                    {
                        MensajeLOGEdit("A", "GRUPO FUE INGRESADO CORRECTAMANTE", "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
                        LEER_GRUPO();
                        return;
                    }

                    if (ESTADO.RETURN_VALUE == 0)
                    {
                        MensajeLOGEdit("A", "GRUPO NO FUE ACTUALIZADO", "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
                        return;
                    }
                }
                else
                {
                    iSP_UPDATE_GRUPO ParametrosInput = new iSP_UPDATE_GRUPO();
                    ParametrosInput.ID_GRUPO    = ID_GRUPO;
                    ParametrosInput.DESCRIPCION = DESCRIPCION;
                    ParametrosInput.ESTADO      = ESTADO_GRUPO;


                    //=======================================================
                    // LLAMADA A SERVICIO
                    //=======================================================
                    oSP_RETURN_STATUS ESTADO = Servicio.SP_UPDATE_GRUPO(ParametrosInput);


                    if (ESTADO.RETURN_VALUE == 1)
                    {
                        MensajeLOGEdit("A", "GRUPO FUE ACTUALIZADO CORRECTAMANTE", "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
                        LEER_GRUPO();
                        return;
                    }

                    if (ESTADO.RETURN_VALUE == -1)
                    {
                        MensajeLOGEdit("A", "ERROR AL ACTUALIZAR, DESCRIPCIƓN YA EXISTE EN SISTEMA", "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
                        return;
                    }

                    if (ESTADO.RETURN_VALUE == 0)
                    {
                        MensajeLOGEdit("A", "GRUPO NO FUE ACTUALIZADO", "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
                        return;
                    }
                }
            }
            catch (EServiceRestFulException srv)
            {
                MensajeLOGEdit("A", srv.Message, "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
            }
            catch (System.Exception ex)
            {
                MensajeLOGEdit("A", UThrowError.MensajeThrow(ex), "MSG_GRUPO_INFO", "MSG_GRUPO_Alerta");
            }
        }