public void ReplaceWildcards(TransferableItem transferableItem)
 {
     if (transferableItem.LocalPath.Contains("{NewestDictionary}"))
     {
         var wildcard = this.GetNewestDictionaryWildcard(transferableItem.LocalPath);
         transferableItem.LocalPath  = transferableItem.LocalPath.Replace("{NewestDictionary}", wildcard);
         transferableItem.RemotePath = transferableItem.RemotePath.Replace("{NewestDictionary}", wildcard);
     }
 }
Ejemplo n.º 2
0
        public void Update_Newest_Directory_Wildcard()
        {
            var item = new TransferableItem();

            item.LocalPath  = "x:\\Develop\\S5\\K-System\\MoneyWorkflow\\Releases\\{NewestDictionary}\\*";
            item.RemotePath = "/wwwroot/{NewestDictionary}";

            var service = new WildCardService();

            service.ReplaceWildcards(item);

            Assert.AreEqual("x:\\Develop\\S5\\K-System\\MoneyWorkflow\\Releases\\1.7.1.0\\*", item.LocalPath);
            Assert.AreEqual("/wwwroot/1.7.1.0", item.RemotePath);
        }
        public void PutFiles(Site site, TransferableItem transferableItem)
        {
            // Setup session options
            SessionOptions sessionOptions = new SessionOptions
            {
                Protocol = site.Protocol,
                HostName = site.HostName,
                UserName = site.UserName,
                Password = site.Password
            };

            try
            {
                using (Session session = new Session())
                {
                    // Connect
                    session.Open(sessionOptions);

                    // Upload files
                    TransferOptions transferOptions = new TransferOptions();
                    transferOptions.ResumeSupport.State = TransferResumeSupportState.Smart;
                    transferOptions.TransferMode        = TransferMode.Binary;

                    session.FileTransferred += this.OnFileTransferred;



                    session.PutFiles(
                        transferableItem.LocalPath,
                        site.RemoteBasePath + transferableItem.RemotePath,
                        transferableItem.Remove,
                        transferOptions);
                }
            }
            catch (Exception ex)
            {
                this.logger.Error(ex, "Error");
            }
        }