/// <summary> /// Create Json for Grid view /// </summary> /// <param name="folder">folder where we will take files</param> /// <returns>Json string</returns> /// <exception cref="ArgumentNullException"></exception> public static string ToGridJson(this IFolderService service, DtoFolder folder) { if (ReferenceEquals(service, null) || ReferenceEquals(folder, null)) { throw new ArgumentNullException(); } var jsonObj = new { rows = new List <JsonGridObject>() }; DtoFolder[] folders = service.GetNextLevelChildNodes(folder).ToArray(); foreach (var chld in folders) { bool isPublic = chld.SharedToUsers.Any(); if (service.GetNextLevelChildNodes(chld).Any() || chld.Files.Any()) { jsonObj.rows.Add(chld.ToGridObject("folder", isPublic)); } else { jsonObj.rows.Add(chld.ToGridObject("emptyfolder", isPublic)); } } foreach (var file in folder.Files) { jsonObj.rows.Add(file.ToGridObject(file.FileTypes.First().TypeName)); } return(new JavaScriptSerializer().Serialize(jsonObj)); }
public DtoFolder AddFolder(DtoFolder parent, string newFolderName) { var folder = folderRepository.Add(parent.ToDalFolder(), newFolderName); uow.Commit(); return(folder.ToDtoFolder()); }
/// <summary> /// Convert DtoFolder to json ready format /// </summary> /// <param name="folder">converting folder</param> /// <returns>Json Folder</returns> public static JsonTreeFolder ToJsonFolder(this DtoFolder folder) { if (ReferenceEquals(folder, null)) { return(null); } return(new JsonTreeFolder { id = folder.ID, text = folder.Title }); }
public ActionResult AddFolder(string title, string id) { long ID; if (string.IsNullOrEmpty(id)) { ID = user.Folders.Min(folder => folder.ID); folderService.AddFolder(folderService.GetById(ID), title); return(Json(new { parentId = ID, data = folderService.ToTreeJson(user.ID) })); } long.TryParse(id, out ID); DtoFolder newFolder = folderService.AddFolder(folderService.GetById(ID), title); return(Json(new { parentId = id, id = newFolder.ID })); }
/// <summary> /// Convert Bll Folder entity to Dal entity /// </summary> /// <param name="folder">bll entity</param> /// <returns>dal entity</returns> public static DalFolder ToDalFolder(this DtoFolder folder) { if (ReferenceEquals(folder, null)) { return(null); } return(new DalFolder { ID = folder.ID, LeftKey = folder.LeftKey, RightKey = folder.RightKey, Level = folder.Level, DateTime = folder.DateTime, Title = folder.Title, OwnerID = folder.OwnerID, Files = new HashSet <DalFile>(folder.Files.Select(item => item.ToDalFile())), SharedToUsers = new HashSet <long>(folder.SharedToUsers) }); }
/// <summary> /// Convert DtoFolder to json ready format /// </summary> /// <param name="folder">converting folder</param> /// <param name="type">type of fodler</param> /// <param name="isPublic">is folder shared</param> /// <returns>Json File</returns> public static JsonGridObject ToGridObject(this DtoFolder folder, string type, bool isPublic) { if (ReferenceEquals(folder, null)) { return(null); } var publicIcon = "../icons/hidden.png"; if (isPublic) { publicIcon = "../icons/public.png"; } return(new JsonGridObject { id = folder.ID, data = new[] { SetIconPath(type), folder.Title, "-", folder.DateTime.ToString("D"), publicIcon } }); }
public void RemoveAccessToFolderToUsers(DtoFolder folder, params DtoUser[] users) { folderRepository.RemoveAccessToFolder(folder.ToDalFolder(), users.Select(item => item.ToDalUser()).ToArray()); uow.Commit(); }
public void MoveFilesIntoAnotherFolder(DtoFolder folder, params DtoFile[] files) { folderRepository.MoveFiles(folder.ToDalFolder(), files.Select(item => item.ToDalFile()).ToArray()); uow.Commit(); }
public void MoveFolder(DtoFolder movingFolder, DtoFolder toFolder) { folderRepository.Move(movingFolder.ToDalFolder(), toFolder.ToDalFolder()); uow.Commit(); }
public void UpdateFolder(DtoFolder e) { folderRepository.Update(e.ToDalFolder()); uow.Commit(); }
public IEnumerable <DtoFolder> GetNeighboringNodes(DtoFolder folder) => folderRepository.GetNeighboringNodes(folder.ToDalFolder()).Select(item => item.ToDtoFolder());
public DtoFolder GetPreviousLevelParentNode(DtoFolder folder) => folderRepository.GetPreviousLevelParentNode(folder.ToDalFolder()).ToDtoFolder();
public IEnumerable <DtoFolder> GetNextLevelChildNodes(DtoFolder folder) => folderRepository.GetNextLevelChildNodes(folder.ToDalFolder()).Select(item => item.ToDtoFolder());