Example #1
0
        public ActionResult AddFileInfo(AddFileInfoDto vm)
        {
            if (vm != null)
            {
                var  fileService = this.GetService <IFileService>();
                bool result      = fileService.AddFileInfo(vm);

                return(Success(result));
            }

            return(Error());
        }
Example #2
0
        public virtual bool AddFileInfo(AddFileInfoDto vm)
        {
            bool result = false;

            if (vm != null && !string.IsNullOrEmpty(vm.Name))
            {
                string fullname = Utils.Combine(ConfigUtils.FileRootPath, vm.Directory, vm.Name);
                if (vm.Type == FileInfoType.File && File.Exists(fullname) ||
                    vm.Type == FileInfoType.Directory && Directory.Exists(vm.Directory))
                {
                    FileInfoDto m = new FileInfoDto()
                    {
                        Type      = vm.Type,
                        Directory = vm.Directory,
                        Name      = vm.Name,
                        IsDelete  = false
                    };
                    if (vm.Type == FileInfoType.File)
                    {
                        var info = new FileInfo(fullname);
                        m.CreationTime  = info.CreationTime;
                        m.LastWriteTime = info.LastAccessTime;
                        m.Length        = info.Length;
                    }
                    else
                    {
                        var info = new DirectoryInfo(fullname);
                        m.CreationTime  = info.CreationTime;
                        m.LastWriteTime = info.LastAccessTime;
                    }
                    var parent = FileInfoService.Instance.GetParent(vm.Directory);
                    if (parent != null)
                    {
                        m.ParentId = parent.ParentId;
                    }
                    var fileInfoRepository = this.GetRepository <IFileInfoRepository>();
                    fileInfoRepository.AddOrUpdate(m);
                    result = true;
                }
            }

            return(result);
        }
        private bool AddFileInfo(FileInfo localinfo, string remoteDirectory, string remoteName)
        {
            bool   result     = false;
            string serverfile = this.GetLocalPath(Utils.Combine(remoteDirectory, remoteName));

            if (!string.IsNullOrEmpty(serverfile))
            {
                string dir = Path.GetDirectoryName(serverfile);
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
                if (File.Exists(serverfile))
                {
                    var serverinfo = new FileInfo(serverfile);
                    if (serverinfo.Length != localinfo.Length ||
                        serverinfo.CreationTime != localinfo.CreationTime ||
                        serverinfo.LastAccessTime != localinfo.LastAccessTime)
                    {
                        localinfo.CopyTo(serverfile, true);
                    }
                }
                else
                {
                    localinfo.CopyTo(serverfile, true);
                }
                AddFileInfoDto vm = new AddFileInfoDto()
                {
                    Type      = FileInfoType.File,
                    Directory = remoteDirectory,
                    Name      = remoteName
                };
                result = this.Client.Request <bool, AddFileInfoDto>(MsgCmd.AddFileInfo, vm);
            }

            return(result);
        }