//Row Command
        protected void gridCategorias_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = int.Parse(e.CommandArgument.ToString());

            switch (e.CommandName)
            {
            case "Details":

                txtId.Text = gridProveedor.Rows[index].Cells[1].Text;
                Parcial.Logica.ClasesEntity.ENMembresia.fillDropDownConMembresias(ref ddlMembresiaEdit);


                NHProveedor p = Parcial.Logica.ClasesNH.clsNHProveedor.ConsultarProveedorPorCodigo(int.Parse(txtId.Text));

                //Re-set controlls
                txtApellidosEdit.Text      = p.Apellidos;
                txtNombresEdit.Text        = p.Nombres;
                ddlMembresia.SelectedValue = p.CodigoMemb.ToString();
                txtCorreoEdit.Text         = p.Correo;
                txtDireccionEdit.Text      = p.Direccion;
                txtTelefonoEdit.Text       = p.Telefono;

                ModalPopupExtender1.Show();

                break;

            default:
                break;
            }
        }
        //btn Guardar del modal
        protected void btnOk_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtApellidosEdit.Text) &&
                !string.IsNullOrEmpty(txtNombresEdit.Text) &&
                !ddlMembresiaEdit.SelectedValue.Equals("-1") &&
                !string.IsNullOrEmpty(txtCorreoEdit.Text) &&
                !string.IsNullOrEmpty(txtDireccionEdit.Text) &&
                !string.IsNullOrEmpty(txtTelefonoEdit.Text))
            {
                NHProveedor proveedor = new NHProveedor();
                proveedor.Identificacion = int.Parse(txtId.Text);
                proveedor.Apellidos      = txtApellidosEdit.Text;
                proveedor.Nombres        = txtNombresEdit.Text;
                proveedor.CodigoMemb     = int.Parse(ddlMembresiaEdit.SelectedValue);
                proveedor.Correo         = txtCorreoEdit.Text;
                proveedor.Direccion      = txtDireccionEdit.Text;
                proveedor.Telefono       = txtTelefonoEdit.Text;

                string result = Parcial.Logica.ClasesNH.clsNHProveedor.UpdateProveedor(int.Parse(txtId.Text), proveedor);

                Response.Write("<script>alert('" + result + "')</script>");

                fillForm();
            }
            else
            {
                Response.Write("<script>alert('Falta Informacion')</script>");
            }
        }
        //inserta
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (!ddlMembresia.SelectedValue.Equals("-1"))
            {
                NHProveedor proveedor = new NHProveedor();

                proveedor.Apellidos  = txtApellidos.Text;
                proveedor.Nombres    = txtNombres.Text;
                proveedor.CodigoMemb = int.Parse(ddlMembresia.SelectedValue);
                proveedor.Correo     = txtCorreo.Text;
                proveedor.Direccion  = txtDireccion.Text;
                proveedor.Telefono   = txtTelefono.Text;



                string result = Parcial.Logica.ClasesNH.clsNHProveedor.InsertProveedor(proveedor);

                Response.Write("<script>alert('" + result + "')</script>");

                fillForm();
            }
            else
            {
                Response.Write("<script>alert('Seleccione la Membresia')</script>");
            }
        }
        /// <summary>
        /// Actuliza un proveedor
        /// </summary>
        /// <param name="producto"></param>
        /// <returns></returns>
        public static string UpdateProveedor(int provCodigo, NHProveedor proveedor)
        {
            string result = "";

            try
            {
                using (mySession.BeginTransaction())
                {
                    NHProveedor prov = (NHProveedor)mySession.Load(typeof(NHProveedor), Convert.ToInt32(provCodigo));
                    prov.CodigoMemb = proveedor.CodigoMemb;
                    prov.Apellidos  = proveedor.Apellidos;
                    prov.Correo     = proveedor.Correo;
                    prov.Direccion  = proveedor.Direccion;
                    prov.Nombres    = proveedor.Nombres;
                    prov.Telefono   = proveedor.Telefono;

                    mySession.Update(prov);
                    mySession.Transaction.Commit();
                    result = "Operacion Exitosa";
                }
            }
            catch (Exception ex)
            {
                result = "Fallo la Operacion";
                throw ex;
            }

            return(result);
        }
        /// <summary>
        /// Inserta un Proveedor
        /// </summary>
        /// <param name="proveedor"></param>
        /// <returns></returns>
        public static string InsertProveedor(NHProveedor proveedor)
        {
            string result = "";

            try
            {
                using (mySession.BeginTransaction())
                {
                    NHProveedor prov = new NHProveedor();

                    prov.CodigoMemb = proveedor.CodigoMemb;
                    prov.Apellidos  = proveedor.Apellidos;
                    prov.Correo     = proveedor.Correo;
                    prov.Direccion  = proveedor.Direccion;
                    prov.Nombres    = proveedor.Nombres;
                    prov.Telefono   = proveedor.Telefono;


                    mySession.Save(prov);
                    mySession.Transaction.Commit();
                    result = "Operacion Exitosa";
                }
            }
            catch (Exception ex)
            {
                result = "Fallo la operacion";
                throw ex;
            }

            return(result);
        }
 /// <summary>
 /// Obtener proveedor por codigo
 /// </summary>
 /// <param name="provCodigo"></param>
 /// <returns></returns>
 public static NHProveedor ConsultarProveedorPorCodigo(int provCodigo)
 {
     try
     {
         NHProveedor prov = (NHProveedor)mySession.Load(typeof(NHProveedor), Convert.ToInt32(provCodigo));
         return(prov);
     }
     catch (Exception ex) { throw ex; }
 }
        /// <summary>
        /// Elimina un proveedor
        /// </summary>
        /// <param name="prodCodigo"></param>
        /// <returns></returns>
        public static string DeleteProveedor(int provIdentificacion)
        {
            string result = "";

            try
            {
                using (mySession.BeginTransaction())
                {
                    NHProveedor prov = (NHProveedor)mySession.Load(typeof(NHProveedor), Convert.ToInt32(provIdentificacion));
                    mySession.Delete(prov);
                    mySession.Transaction.Commit();
                    result = "Operacion Exitosa";
                }
            }
            catch (Exception ex)
            {
                result = "Fallo la Operacion";
                throw ex;
            }

            return(result);
        }