예제 #1
0
        private IActionResult toDelete(BookmarkEntity bookmarkEntity)
        {
            if (bookmarkEntity.ReadOnly)
            {
                return(View("Error", new ErrorViewModel("Item Readonly!", "\'" + bookmarkEntity.Name + "\' is readonly, therefor it cannot be deleted.")));
            }
            switch (bookmarkEntity.BookmarkType)
            {
            case BookmarkEntity.Type.FOLDER:
            {
                ViewBag.DirectChild   = bookmarkEntityRepo.NumberOfDirectItems(bookmarkEntity.ToString().Replace("/", "|"));
                ViewBag.IndirectChild = bookmarkEntityRepo.NumberOfIndirectItems(bookmarkEntity.ToString().Replace("/", "|"));
                return(View("Folder/Delete", bookmarkEntity));
            }

            case BookmarkEntity.Type.LINK:
            {
                return(View("Link/Delete", bookmarkEntity));
            }

            case BookmarkEntity.Type.LOCATION:
            {
                return(View("Location/Delete", bookmarkEntity));
            }

            case BookmarkEntity.Type.TEXTFILE:
            {
                return(View("Textfile/Delete", bookmarkEntity));
            }

            default:
            {
                return(View("Edit"));
            }
            }
        }
예제 #2
0
        public async Task <IActionResult> CreateFolder([Bind("Id,Name,ReadOnly,ParentPath")]
                                                       Folder folder, string returnUrl)
        {
            BookmarkEntity parent = folderRepo.GetById((Convert.ToInt32(folder.ParentPath)));

            if (folder.ParentPath.Equals("-1"))
            {
                folder.ParentPath = "Root";
            }
            else
            {
                folder.ParentPath = parent.ToString().Replace("Root/", "").Replace("/", "|");
            }

            if (ModelState.IsValid)
            {
                if (parent != null && parent.ReadOnly)
                {
                    return(View("Error", new ErrorViewModel("Parent folder is not Editable!", "\'" + folder.ParentPath + "\' is readonly")));
                }

                if (bookmarkEntityRepo.NameExistById(folder.Name, folder.ParentPath, folder.Id))
                {
                    return(View("Error", new ErrorViewModel("Folder already exist!", "A folder with name \'" + folder.Name + "\' already exist at \'" + folder.ParentPath + "\'")));
                }
                folderRepo.InsertAsync(folder);
                await _context.SaveChangesAsync();

                if (returnUrl != null && returnUrl.Equals("Home"))
                {
                    return(Redirect("/Home"));
                }
                else if (returnUrl == null)
                {
                    return(Redirect("/BookmarkEntities"));
                }
                else
                {
                    return(Redirect(returnUrl));
                }
            }
            return(View(folder));
        }
예제 #3
0
        public async Task <IActionResult> CreateTextfile([Bind("Id,Title, Uri, Content, Name, ReadOnly,ParentPath")]
                                                         ItemTextFile file, string returnUrl)
        {
            BookmarkEntity parent = folderRepo.GetById((Convert.ToInt32(file.ParentPath)));

            if (file.ParentPath.Equals("-1"))
            {
                file.ParentPath = "Root";
            }
            else
            {
                if (parent == null)
                {
                    return(NotFound());
                }
                file.ParentPath = parent.ToString().Replace("/", "|");
            }

            if (ModelState.IsValid)
            {
                if (parent.ReadOnly)
                {
                    return(View("Error", new ErrorViewModel("Parent folder is not Editable!", "\'" + file.ParentPath + "\' is readonly")));
                }
                if (bookmarkEntityRepo.NameExistById(file.Name, file.ParentPath, file.Id))
                {
                    return(View("Error", new ErrorViewModel()));
                }
                itemTextfileRepo.InsertAsync(file);
                await _context.SaveChangesAsync();

                if (returnUrl != null && returnUrl.Equals("Home"))
                {
                    return(Redirect("/Home"));
                }
                else
                {
                    return(Redirect("/BookmarkEntities"));
                }
            }
            return(View(file));
        }