Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        public DtoFolder AddFolder(DtoFolder parent, string newFolderName)
        {
            var folder = folderRepository.Add(parent.ToDalFolder(), newFolderName);

            uow.Commit();

            return(folder.ToDtoFolder());
        }
Exemplo n.º 3
0
        /// <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
            });
        }
Exemplo n.º 4
0
        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 }));
        }
Exemplo n.º 5
0
        /// <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)
            });
        }
Exemplo n.º 6
0
        /// <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 }
            });
        }
Exemplo n.º 7
0
 public void RemoveAccessToFolderToUsers(DtoFolder folder, params DtoUser[] users)
 {
     folderRepository.RemoveAccessToFolder(folder.ToDalFolder(), users.Select(item => item.ToDalUser()).ToArray());
     uow.Commit();
 }
Exemplo n.º 8
0
 public void MoveFilesIntoAnotherFolder(DtoFolder folder, params DtoFile[] files)
 {
     folderRepository.MoveFiles(folder.ToDalFolder(), files.Select(item => item.ToDalFile()).ToArray());
     uow.Commit();
 }
Exemplo n.º 9
0
 public void MoveFolder(DtoFolder movingFolder, DtoFolder toFolder)
 {
     folderRepository.Move(movingFolder.ToDalFolder(), toFolder.ToDalFolder());
     uow.Commit();
 }
Exemplo n.º 10
0
 public void UpdateFolder(DtoFolder e)
 {
     folderRepository.Update(e.ToDalFolder());
     uow.Commit();
 }
Exemplo n.º 11
0
 public IEnumerable <DtoFolder> GetNeighboringNodes(DtoFolder folder)
 => folderRepository.GetNeighboringNodes(folder.ToDalFolder()).Select(item => item.ToDtoFolder());
Exemplo n.º 12
0
 public DtoFolder GetPreviousLevelParentNode(DtoFolder folder)
 => folderRepository.GetPreviousLevelParentNode(folder.ToDalFolder()).ToDtoFolder();
Exemplo n.º 13
0
 public IEnumerable <DtoFolder> GetNextLevelChildNodes(DtoFolder folder)
 => folderRepository.GetNextLevelChildNodes(folder.ToDalFolder()).Select(item => item.ToDtoFolder());