示例#1
0
 public bool AddUserToMap(string uId, string mapId, MapPermissionType per)
 {
     if (IsOwner(mapId) && _userService.IsUserlExist(new ObjectId(uId)))
     {
         var map = _mapManager.GetMapById(new ObjectId(mapId));
         if (map != null && map.Creator.ToString() != uId)
         {
             map.Permissions.Users[new ObjectId(uId)] = per;
             _mapManager.UpdateMap(map);
             return(true);
         }
     }
     return(false);
 }
示例#2
0
        public ActionResult LaunchMap5(string id, string currentFolderID, string searchedWord)
        {
            ViewBag.res             = null;
            _currentFolderID        = currentFolderID;
            ViewBag.currentFolderID = currentFolderID;
            if (id != null && !_mapManager.IsMapExist(new ObjectId(id)))
            {
                return(RedirectToAction("index", "Home"));
            }

            if (id != null)
            {
                var userId = User.Identity.GetUserId();
                MapPermissionController mpc = new MapPermissionController();
                MapPermissionType       userPermissionsAsUser  = mpc.GetUserPermissionToMapAsUser(id, userId);
                MapPermissionType       userPermissionsByGroup = mpc.GetUserPermissionToMapByGroup(id, userId);
                MapPermissionType       userPermissions        = MapPermissionType.NA;

                if (userPermissionsAsUser == MapPermissionType.RW || userPermissionsByGroup == MapPermissionType.RW)
                {
                    userPermissions = MapPermissionType.RW;
                }
                else if (userPermissionsAsUser == MapPermissionType.RO || userPermissionsByGroup == MapPermissionType.RO)
                {
                    userPermissions = MapPermissionType.RO;
                }
                else
                {
                    return(RedirectToAction("index", "Home"));
                }

                ViewBag.userPermission = userPermissions;

                var map   = _mapManager.GetMapById(new ObjectId(id));
                int count = 0;
                /////centering searched word if exists
                if (searchedWord != null && !searchedWord.Equals(""))
                {
                    var nodes = map.Model["nodeDataArray"];
                    foreach (var node in nodes.AsBsonArray)
                    {
                        string nodeText = node["text"].ToString();
                        if (nodeText.Contains(searchedWord))
                        {
                            _mapManager.UpdateMap(map);

                            double nodeP1 = 0;
                            double nodeP2 = 0;
                            var    links  = map.Model["linkDataArray"];
                            foreach (var link in links.AsBsonArray)
                            {
                                link["points"] = "";
                            }
                            if (count == 0)
                            {
                                node["loc"] = "";
                                count++;
                            }
                            //node["fill"] = "#FFFF00";
                        }
                    }
                }

                ViewBag.isSaved = true;
                ViewBag.myMap   = map.Model.ToJson().ToString();

                //var refIDs = GetReferencesIDsFromMapModel(map.Model.ToJson());
                //var refsDict = GetReferencesFromIDs(refIDs);
                //ViewBag.refs = refsDict;
                //string t = map.Model.ToJson().ToString();
                //ViewBag.myMap = JsonConvert.SerializeObject(map.Model.ToJson());
                return(View(map));
            }
            else
            {
                ViewBag.userPermission = MapPermissionType.RW;
                ViewBag.isSaved        = false;
                var map = new Map {
                    Name = "(Unsaved File)", Model = null
                };
                ViewBag.myMap = "{}".ToJson().ToString();
                return(View(map));
            }
        }
        public JsonResult SaveFolderGroupPermission(string groupId, string folderId, MapPermissionType permission)
        {
            var ans = UpdateGroupFolderPermission(groupId, folderId, permission);

            return(Json(ans));
        }
 public bool UpdateGroupFolderPermission(string gId, string folderId, MapPermissionType per)
 {
     return(AddGroupToFolder(gId, folderId, per));
 }
 public bool UpdateUserFolderPermission(string uId, string folderId, MapPermissionType per)
 {
     return(AddUserToFolder(uId, folderId, per));
 }
示例#6
0
        public JsonResult SaveMapGroupPermission(string groupId, string mapId, MapPermissionType permission)
        {
            var ans = UpdateGroupMapPermission(groupId, mapId, permission);

            return(Json(ans));
        }
示例#7
0
 public bool UpdateGroupMapPermission(string gId, string mapId, MapPermissionType per)
 {
     return(AddGroupToMap(gId, mapId, per));
 }
示例#8
0
 public bool UpdateUserMapPermission(string uId, string mapId, MapPermissionType per)
 {
     return(AddUserToMap(uId, mapId, per));
 }