public static UserInformation UpdateRoles(string ID, bool RoleCanView, bool RoleCanEdit, bool RoleAdmin)
 {
     UserInformation user = new UserInformation();
     bool canview = false;
     bool canedit = false;
     bool admin = false;
     if(RoleAdmin == true)
     {
         canview = true;
         canedit = true;
         admin = true;
     }
     else 
     if(RoleCanEdit == true && RoleAdmin == false) 
     {
         canedit = true;
         canview = true;
     }
     else
     if(RoleCanView == true && RoleCanEdit == false && RoleAdmin == false)
     {
         canview = true;
     }
     user.Userid = ID;
     user.RoleAdmin = admin;
     user.RoleCanView = canview;
     user.RoleCanEdit = canedit;
     return user;
 }
        public static UserInformation Details(string ID)
        {
            string connectionstring = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
            UserInformation user = new UserInformation();
            SqlConnection dbconnection = new SqlConnection(connectionstring);
            SqlCommand cmd = new SqlCommand();
            cmd.Parameters.AddWithValue("@Userid", ID);
            SqlDataReader reader;

            cmd.CommandText = "GetUserRoles";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = dbconnection;

            dbconnection.Open();

            reader = cmd.ExecuteReader();
            if (reader.Read())
            {
                user.RoleCanView = reader.GetBoolean(0);
                user.RoleCanEdit = reader.GetBoolean(1);
                user.RoleAdmin = reader.GetBoolean(2);
            }

            dbconnection.Dispose();
            dbconnection.Close();
            return user;
        }
        public ActionResult Edit(UserInformation user)
        {
            if (ModelState.IsValid)
            {
                //UserManipulation.UpdateRoles(user.Userid, user.RoleCanView, user.RoleCanEdit, user.RoleAdmin);
                var AppUser = new ApplicationUser() { Id = user.Userid };

                var userroles = new UserInformation();
                userroles = UserManipulation.UpdateRoles(user.Userid, user.RoleCanView, user.RoleCanEdit, user.RoleAdmin);

                if (userroles.RoleAdmin == true)
                {
                    UserManager.AddToRole(AppUser.Id, "Admin");
                }
                if(userroles.RoleCanEdit == true)
                {
                    UserManager.AddToRole(AppUser.Id, "CanEdit");
                }
                if (userroles.RoleCanView == true)
                {
                    UserManager.AddToRole(AppUser.Id, "CanView");
                }
                if (userroles.RoleAdmin == false)
                {
                    UserManager.RemoveFromRole(AppUser.Id, "Admin");
                }
                if (userroles.RoleCanEdit == false)
                {
                    UserManager.RemoveFromRole(AppUser.Id, "CanEdit");
                }
                if (userroles.RoleCanView == false)
                {
                    UserManager.RemoveFromRole(AppUser.Id, "CanView");
                }
                return RedirectToAction("Index");
            }
            return RedirectToAction("Index");
        }