示例#1
0
        public JsonResult Rename(string newName, string json)
        {
            if (string.IsNullOrWhiteSpace(newName))
            {
                return(Json(new KResult {
                    status = KStatus.error, message = "new name is empty"
                }));
            }

            KSelectListItem[] list = JsonConvert.DeserializeObject <KSelectListItem[]>(json);

            List <KResult> result = new List <KResult>();

            foreach (KSelectListItem item in list)
            {
                string  fullName = KCore.PhysicalPath(item.url);
                string  newFullName;
                KStatus status  = KStatus.success;
                string  message = "";
                switch (item.type)
                {
                case "file":
                    FileInfo file = new FileInfo(fullName);
                    newFullName = NewFileName(file.DirectoryName + "\\" + newName, file.Extension);
                    try { file.MoveTo(newFullName); }
                    catch (Exception ex) { status = KStatus.error; message = ex.Message; }
                    break;

                case "folder":
                    DirectoryInfo dir = new DirectoryInfo(fullName);
                    newFullName = NewFolderName(dir.Parent.FullName + "\\" + newName);
                    try { dir.MoveTo(newFullName); }
                    catch (Exception ex) { status = KStatus.error; message = ex.Message; }
                    break;

                default:
                    status  = KStatus.error;
                    message = "incorrect type";
                    break;
                }

                result.Add(new KResult
                {
                    status  = status,
                    message = message,
                    data    = item.id
                });
            }

            return(Json(result));
        }
示例#2
0
        public JsonResult Remove(string json)
        {
            KSelectListItem[] list = JsonConvert.DeserializeObject <KSelectListItem[]>(json);

            List <KResult> result = new List <KResult>();

            foreach (KSelectListItem item in list)
            {
                string  fullName = KCore.PhysicalPath(item.url);
                KStatus status   = KStatus.success;
                string  message  = "";
                switch (item.type)
                {
                case "file":
                    FileInfo file = new FileInfo(fullName);
                    try { file.Delete(); }
                    catch (Exception ex) { status = KStatus.error; message = ex.Message; }
                    break;

                case "folder":
                    DirectoryInfo dir = new DirectoryInfo(fullName);
                    try { dir.Delete(true); }
                    catch (Exception ex) { status = KStatus.error; message = ex.Message; }
                    break;

                default:
                    status  = KStatus.error;
                    message = "incorrect type";
                    break;
                }

                result.Add(new KResult
                {
                    status  = status,
                    message = message,
                    data    = item.id
                });
            }

            return(Json(result));
        }