Exemplo n.º 1
0
        protected void GridView_Usuarios_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            try
            {
                SqlDataSource_Usuarios.UpdateCommand = "UPDATE [ErroresSistema] SET Error='0' where [IdErrorSistema]=0";
                //e.Cancel = true;
                string         Usuario     = e.NewValues["UserName"].ToString();
                string         Email       = e.NewValues["Email"].ToString();
                string         RolAnterior = e.OldValues["RoleName"].ToString();
                string         RolActual   = e.NewValues["RoleName"].ToString();
                Boolean        Bloqueado   = Convert.ToBoolean(e.NewValues["IsLockedOut"]);
                bool           Activo      = Convert.ToBoolean(e.NewValues["IsApproved"]);
                MembershipUser User        = Membership.GetUser(Usuario);
                string         UserId      = User.ProviderUserKey.ToString();

                if (User != null)
                {
                    User.Email      = Email;
                    User.IsApproved = Activo;
                    Membership.UpdateUser(User);

                    if (RolAnterior != RolActual)
                    {
                        if (Roles.IsUserInRole(Usuario, RolAnterior))
                        {
                            Roles.RemoveUserFromRole(Usuario, RolAnterior);
                        }

                        Roles.AddUserToRole(Usuario, RolActual);
                    }
                    if (Bloqueado == false)
                    {
                        if (User.IsLockedOut)
                        {
                            User.UnlockUser();
                        }
                    }
                    else
                    {
                        FG.ExecuteSql("UPDATE [dbo].[aspnet_Membership] SET [IsLockedOut]='" + Bloqueado + "' WHERE UserId='" + UserId + "'");
                    }
                }
                GridView_Usuarios.DataBind();
                //GridView_Usuarios.CancelEdit();
            }
            catch (Exception Ex)
            {
                FG.Controlador_Error(Ex, Page.Response);
            }
        }