Exemplo n.º 1
0
        private void ReceiveFile(ClientRequest request)
        {
            Auxiliary.WriteLog("Receiving the file " + request.Request);
            FileInfo info = null;

            try
            {
                ShortFileInfo fromFileList = GetFromFileList(request.Request);
                if (fromFileList != null)
                {
                    this._files.Remove(fromFileList);
                    info = new FileInfo(Path.Combine(this._DestinationDirectory.FullName, fromFileList.FileName));
                    if (!info.Directory.Exists)
                    {
                        info.Directory.Create();
                    }
                    FileStream stream = info.Create();
                    stream.Write(request.BinaryResponse, 0, request.BinaryResponse.Length);
                    stream.Close();
                }
                _filesUpdated++;
            }
            catch (Exception exception)
            {
                Auxiliary.WriteLog(
                    $"Exception while receiving file \"{request.Request}\"\r\nDestination: {((info != null) ? info.FullName : "FileInfo is null")}\r\n{exception.ToString()}");
            }
        }
Exemplo n.º 2
0
 private ShortFileInfo GetFileInfo(string s)
 {
     if (s.Trim() != "")
     {
         string[] strArray = s.Split(new char[] { '\t' });
         if (strArray.Length >= 3)
         {
             ShortFileInfo info = new ShortFileInfo {
                 FileName     = strArray[0],
                 CreationTime = CasProtocol.Convert.StringToDateTime(strArray[1])
             };
             int.TryParse(strArray[2], out info.FileSize);
             return(info);
         }
     }
     return(null);
 }
Exemplo n.º 3
0
 private void ParseFileList(string files)
 {
     Auxiliary.WriteLog("Files for product " + this._Product + ":\r\n" + files);
     this._files = new List <ShortFileInfo>();
     if (files != ":empty:")
     {
         string[] strArray = files.Split(new char[] { '\n' });
         for (int i = 0; i < strArray.Length; i++)
         {
             ShortFileInfo fileInfo = this.GetFileInfo(strArray[i]);
             if (fileInfo != null)
             {
                 FileInfo info2 = new FileInfo(Path.Combine(this._SourceDirectory.FullName, fileInfo.FileName));
                 if ((!info2.Exists || (info2.LastWriteTimeUtc < fileInfo.CreationTime)) || (System.Convert.ToInt32(info2.Length) != fileInfo.FileSize))
                 {
                     this._files.Add(fileInfo);
                 }
             }
         }
     }
 }