/// <summary>
        /// Takes a ManageUsersProfileVM as arguement which contain permission model: Return a list of RoleName that were set to true.
        /// </summary>
        /// <param name="ConvertToRoleNames"></param>
        /// <returns></returns>
        public List<string> ConvertToRoleNames(PermissionBase model)
        { 
             List<string> myRoles = new List<string> ();


             if (model.News == true)
             {
                 myRoles.Add("News");
             }
             if (model.Accesscontrol == true)
             {
                 myRoles.Add("AccessControl");
             }
             if (model.Delivery == true)
             {
                 myRoles.Add("Delivery");
             }
             if (model.Events == true)
             {
                 myRoles.Add("Events");
             }
             if (model.LegalDocs == true)
             {
                 myRoles.Add("LegalDocs");
             }
             if (model.Repair == true)
             {
                 myRoles.Add("Repair");
             }
             if (model.BasicFeatures == true)
             {
                 myRoles.Add("BasicFeatures");
             }
             if (model.Apartment == true)
             {
                 myRoles.Add("Apartment");
             }
             if (model.Contactbook == true)
             {
                 myRoles.Add("Contactbook");
             }
           

             return myRoles;
        }
        public async Task<ActionResult> EditBUPermissions(int BuildingID, PermissionBase permission, ManageUsersProfileVM model, string UserID)
        {
            
            ManageUsersProfileVM ObjBU = new ManageUsersProfileVM();
           

            var RoleNames = ObjBU.ConvertToRoleNames(permission);
            await ObjBU.EditbuildingUserPermission(RoleNames, UserID);
            return RedirectToAction("ManageUsersProfile", new { BuildingID = BuildingID });
        }
       public JsonResult AddUser(int BuildingID, ManagerVM model_User, PermissionBase Permission, ManageUsersProfileVM model4)
        {
            ManageUsersProfileVM Obj = new ManageUsersProfileVM();
            model4.managerVM = model_User;
         
            Obj.managerVM = model_User;
            var UserID = Obj.InsertUser(Obj);  //Create a user to the mail aspNetUser table.         
            var RoleNames = Obj.ConvertToRoleNames(Permission);//Pass all permissions and return a list type string of accepted roles
          var returnUserID = Obj.AddBuildingUser(model_User, UserID);// Insert building staff.
            foreach (var item in RoleNames)// loop throught the list of roles
            {
                Obj.InserUserPermission(item, returnUserID); // Insert one permission at a time. 
            }


            var mydata = Json("");
            return new JsonResult {Data = mydata, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        }