コード例 #1
0
 public static void SaveNewFileInDB(FileStream file, string TZ, string filedesc, string extention, string remark)
 {
     using (DBcomfilerEntities context = new DBcomfilerEntities())
     {
         //todo convert from the system.io object to my file.
         DAL.File newFile      = new DAL.File();
         string[] fileLongName = file.Name.Split('\\');
         string[] fileName     = fileLongName[fileLongName.Length - 1].Split('.');
         string   id           = fileName[0];
         newFile.ID            = id;
         newFile.CreatorID     = TZ;
         newFile.Date_Creation = DateTime.Now;
         newFile.Desctiption   = filedesc;
         newFile.ExtensionID   = context.Extensions.FirstOrDefault(x => x.Extension1 == extention).ID;
         newFile.Version       = 1;
         try
         {
             context.Files.Add(newFile);
             context.SaveChanges();
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
コード例 #2
0
        public static List <DAL.File> Search(string directory, string searchString)
        {
            bool            searchSubdirectories = true;
            bool            caseSensitive        = true;
            bool            useRegex             = true;
            string          docxText             = null;
            List <DAL.File> searchfiles          = new List <DAL.File>();
            var             isMatch = useRegex ? new Predicate <string>(x => Regex.IsMatch(x, searchString))
                : new Predicate <string>(x => x.IndexOf(searchString, caseSensitive ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase) >= 0);

            // TODO rekorsive to all the directories in this directory
            foreach (var filePath in Directory.GetFiles(directory, "*.docx", searchSubdirectories ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly))
            {
                FileStream stream = null;
                using (stream = System.IO.File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    if (stream.Length == 0)
                    {
                        continue;
                    }
                    docxText = new DocxToStringConverter(stream).Convert();
                }
                if (isMatch(docxText))
                {
                    using (DBcomfilerEntities context = new DBcomfilerEntities())
                    {
                        string   idFile = stream.Name.Substring(stream.Name.Length - 41).ToString();
                        string   id     = idFile.Remove(idFile.Length - 5);
                        DAL.File file   = context.Files.FirstOrDefault(x => x.ID == id);
                        searchfiles.Add(file);
                    }
                }
            }
            return(searchfiles);
        }
コード例 #3
0
        // server side
        private void ExecuteCommand(DAL.File file)
        {
            _service.DownloadFile(file);

            ExecuteCommandByData(System.IO.File.ReadLines(file.Name).ToArray());

            _service.DeleteFile(file);
            System.IO.File.Delete(file.Name);
        }
コード例 #4
0
 public static DateTime GetFileDateByName(string fileName)
 {
     using (DBcomfilerEntities context = new DBcomfilerEntities())
     {
         DAL.File file = context.Files.FirstOrDefault(x => x.ID == fileName);
         {
             return(Convert.ToDateTime(file.Date_Creation));
         }
     }
 }
コード例 #5
0
        private List <DAL.File> getFiles(string path)
        {
            var             files = new DirectoryInfo(path).GetFiles();
            List <DAL.File> list  = new List <DAL.File>();

            foreach (var file in files)
            {
                DAL.File newFile = new DAL.File();
                newFile.name     = file.Name;
                newFile.size     = file.Length;
                newFile.id       = 0;
                newFile.allUsers = config.name;
                list.Add(newFile);
            }
            return(list);
        }
コード例 #6
0
        public void HandleCommandResult(Commands command, string file)
        {
            int i = 0;

            DAL.File result = null;
            while ((result = _service.GetFiles(q: "name = '" + file + "'").FirstOrDefault()) == null && i < _maxCommandHandlingIterations)
            {
                i++;
            }
            if (result != null)
            {
                _service.DownloadFile(result);
                HandleCommandFile(command, result.Name);
            }
            else
            {
                Console.WriteLine("Command '" + command + "' has been cancelled by server!");
            }
        }