/** public ActionResult createFolder(MapFolder parent) * { * var id = User.Identity.GetUserId(); * ObjectId UserId = new ObjectId(id); * MapFolder toadd = new MapFolder(); * toadd.Creator = UserId; * }**/ public ActionResult MyFirstMapAndFolders() { try { var id = User.Identity.GetUserId(); ObjectId UserId = new ObjectId(id); MapFolder superiorMapFolder = _mapFolderDataManager.GetSuperiorMapFolderOfUserOwned(UserId); if (superiorMapFolder == null) { // superiorMapFolder = createSuppFolderLocaly(OWNED_SUPIRIOR); _mapFolderDataManager.AddFolder(superiorMapFolder); } var mapFolders = this._mapFolderDataManager.GetAllSubFolder(superiorMapFolder); //var mapFolders = this._mapFolderDataManager.GetFirstFoldersOfUser(UserId); var maps = this._mapFolderDataManager.GetAllMapsInFolder(superiorMapFolder); _mapDataManager = new MapDB(new Settings()); ViewBag.maps = maps; ViewBag.currFolder = superiorMapFolder; return(PartialView("_MyFoldersView", mapFolders)); } catch (Exception e) { string exp = e.ToString(); //return RedirectToAction("Index", "Home"); _mapDataManager = new MapDB(new Settings()); ViewBag.maps = _mapDataManager.GetAllMaps(); return(PartialView("_MyFoldersView", new List <MapFolder>())); } }
public ActionResult OpenFolderShared(string Id) { string userIdAsString = User.Identity.GetUserId(); ObjectId userObjectID = new ObjectId(userIdAsString); ObjectId parentID = new ObjectId(Id); var parent = new MapFolderDB(new Settings()).GetMapFolderById(parentID); bool isCurrentFolderSupp = false; if (parent.Model["type"].Equals(SharedCodedData.SHARED_SUPIRIOR)) { parent = _mapFolderDataManager.GetSuperiorMapFolderOfUserShared(userObjectID); parentID = parent.Id; isCurrentFolderSupp = true; } ObjectId prevFolderID = parent.ParentDierctory; var prevFolder = new MapFolderDB(new Settings()).GetMapFolderById(prevFolderID); if (prevFolder != null) { bool isPrevCorrect = false; if (prevFolder.Permissions.Users.Keys.Contains(userObjectID)) { isPrevCorrect = true; } else { foreach (var groupId in prevFolder.Permissions.Groups.Keys) { var group = _groupManager.GetGroupById(groupId); if (group.Members.Keys.Contains(userObjectID)) { isPrevCorrect = true; break; } } } if (!isPrevCorrect) { prevFolder = _mapFolderDataManager.GetSuperiorMapFolderOfUserShared(userObjectID); prevFolderID = prevFolder.Id; } } var mapFolders = _mapFolderDataManager.GetAllSubFolder(parent); if (isCurrentFolderSupp) { mapFolders = this._mapFolderDataManager.GetAllFolders(); } var finalMapFolders = new List <MapFolder>(); foreach (var mapFolder in mapFolders) { if (mapFolder.Id.Equals(parent.Id)) { continue; } if (mapFolder.Permissions.Owner.Key.Equals(userObjectID)) { continue; } if (mapFolder.Permissions.Users.Keys.Contains(userObjectID)) { finalMapFolders.Add(mapFolder); } else { foreach (var groupId in mapFolder.Permissions.Groups.Keys) { var group = _groupManager.GetGroupById(groupId); if (group.Members.Keys.Contains(userObjectID)) { finalMapFolders.Add(mapFolder); } } } } mapFolders = finalMapFolders; var maps = new List <Map>(); if (parent.Model["type"].Equals(SharedCodedData.SHARED_SUPIRIOR)) { var allMaps = _mapDataManager.GetAllMaps(); foreach (var tempMap in allMaps) { if (tempMap.Permissions.Owner.Key.Equals(userObjectID)) { continue; } else if (tempMap.Permissions.Users.Keys.Contains(userObjectID)) { maps.Add(tempMap); } else { var groups = _groupManager.GetAllGroupsOfUser(userObjectID); foreach (var group in groups) { if (tempMap.Permissions.Groups.Keys.Contains(group.Id)) { maps.Add(tempMap); break; } } } } } else { maps = this._mapFolderDataManager.GetAllMapsInFolder(parent).ToList(); } ViewBag.maps = maps; ViewBag.currFolder = parent; ViewBag.currFolderID = parent.Id; ViewBag.currFolderIDString = parent.Id.ToString(); ViewBag.prevFolder = prevFolder; if (prevFolder == null) { ViewBag.prevFolderID = null; } else { ViewBag.prevFolderID = prevFolder.Id; } if (prevFolder != null) { List <MapFolder> prevFOlderInList = new List <MapFolder>() { prevFolder }; mapFolders = prevFOlderInList.Union(mapFolders); List <MapFolder> viewList = mapFolders.ToList(); } return(PartialView("_MySharedFoldersView", mapFolders)); }
public SearchMaps() { _mapManager = new MapDB(new Settings()); _allMaps = _mapManager.GetAllMaps(); }