public ActionResult AddShareUser(AddShareUserInput input)
        {
            if (fileShareService.AddShareUser(input))
            {
                return(Json(new { code = "0" }));
            }

            return(Json(new { code = "1", msg = "用户已存在" }));
        }
        public int Upload(UploadInput input)
        {
            var userId   = HttpContext.Current.Session["UserID"].ToString();
            var userName = HttpContext.Current.Session["UserName"].ToString();

            UserDto userDto = new UserDto
            {
                UserID   = userId,
                UserName = userName
            };

            userService.SaveUser(userDto);

            PersonalFile personalFile = _context.PersonalFiles.FirstOrDefault(a => a.Id == input.Id);

            DocumentInfo documentInfo = null;

            CreateDocumentInput createDocumentInput = new CreateDocumentInput
            {
                CreateUserID   = userId,
                CreateUserName = userName,
                FileName       = input.FileName + "." + input.FileType,
                FileType       = input.FileType
            };

            //新建文件
            if (input.CreateType == CreateType.newFile.ToString() && (personalFile == null || input.FileType != personalFile.FileType))
            {
                MemoryStream stream = new MemoryStream();
                if (input.FileType == FileType.xlsx.ToString())
                {
                    stream = new MemoryStream(NPOIHelper.CreateExcelFile());
                }
                documentInfo = documentService.CreateDocument(createDocumentInput, stream);
            }
            else if (input.CreateType == CreateType.uploadFile.ToString() && (personalFile == null || HttpContext.Current.Request.Files.Count > 0))
            {
                if (HttpContext.Current.Request.Files.Count == 0)
                {
                    return(-1);
                }

                var uploadFile = HttpContext.Current.Request.Files[0];
                createDocumentInput.FileName = uploadFile.FileName;
                createDocumentInput.FileType = createDocumentInput.FileName.Substring(createDocumentInput.FileName.LastIndexOf('.') + 1);
                input.FileName = createDocumentInput.FileName.Substring(0, createDocumentInput.FileName.LastIndexOf('.'));
                if (createDocumentInput.FileType == FileType.doc.ToString() || createDocumentInput.FileType == FileType.docx.ToString())
                {
                    input.FileType = FileType.docx.ToString();
                }
                else
                {
                    input.FileType = FileType.xlsx.ToString();
                }

                documentInfo = documentService.CreateDocument(createDocumentInput, uploadFile.InputStream);
            }

            if (personalFile == null)
            {
                var createTime = DateTime.Now;
                personalFile = new PersonalFile
                {
                    DocumentID     = documentInfo.Id,
                    CreateType     = input.CreateType,
                    FileName       = input.FileName,
                    FileType       = input.FileType,
                    CreateUserID   = userId,
                    CreateUserName = userName,
                    CreateTime     = createTime,
                    ModifyUserID   = userId,
                    ModifyUserName = userName,
                    ModifyTime     = createTime
                };
                _context.PersonalFiles.Add(personalFile);
            }
            else
            {
                //personalFile.CreateType = input.CreateType;
                personalFile.FileName = input.FileName;
                //personalFile.FileType = input.FileType;
                documentInfo          = _context.DocumentInfos.FirstOrDefault(a => a.Id == personalFile.DocumentID);
                documentInfo.FileName = input.FileName + "." + personalFile.FileType;
            }

            _context.SaveChanges();

            var shareUserList = JsonConvert.DeserializeObject <List <FileUserDto> >(input.ShareUserList);

            fileShareService.AddShareUser(new AddShareUserInput
            {
                FileId       = personalFile.Id,
                FileUserDtos = shareUserList
            });

            return(personalFile.Id);
        }