Esempio n. 1
0
 private static void AttachAction(Poll poll, FolderPollAction action, FileSystemWatcher watcher)
 {
     if (poll.Impersonation && poll.ImpersonationSpecified)
     {
         switch (action)
         {
             case FolderPollAction.Copy:
                 watcher.Created += delegate(object sender, FileSystemEventArgs args)
                 {
                     using (new ImpersonatedUser(poll.Domain, poll.Username, poll.Password))
                     {
                         CopyFile(args.FullPath, Path.Combine(poll.NewFile.Copy.TargetFolder, args.Name));
                     }
                 };
                 break;
             case FolderPollAction.Move:
                 watcher.Created += delegate(object sender, FileSystemEventArgs args)
                 {
                     using (new ImpersonatedUser(poll.Domain, poll.Username, poll.Password))
                     {
                         MoveFile(args.FullPath, Path.Combine(poll.NewFile.Move.TargetFolder, args.Name));
                     }
                 };
                 break;
             case FolderPollAction.Launch:
                 watcher.Created += delegate(object sender, FileSystemEventArgs args)
                 {
                     using (new ImpersonatedUser(poll.Domain, poll.Username, poll.Password))
                     {
                         LaunchApplication(poll.NewFile.Launch.Application, PrepareLaunchArgs(poll, args.FullPath, args.Name));
                     }
                 };
                 break;
         }
     }
     else
     {
         switch (action)
         {
             case FolderPollAction.Copy:
                 watcher.Created += (sender, args) => CopyFile(args.FullPath, Path.Combine(poll.NewFile.Copy.TargetFolder, args.Name));
                 break;
             case FolderPollAction.Move:
                 watcher.Created += (sender, args) => MoveFile(args.FullPath, Path.Combine(poll.NewFile.Move.TargetFolder, args.Name));
                 break;
             case FolderPollAction.Launch:
                 watcher.Created += (sender, args) => LaunchApplication(poll.NewFile.Launch.Application, PrepareLaunchArgs(poll, args.FullPath, args.Name));
                 break;
         }
     }
 }
        private void AttachAction(Poll poll, FolderPollAction action, FileSystemWatcher watcher)
        {
            if (poll.ImpersonationSpecified && poll.Impersonation)
            {
                using (var user = new ImpersonatedUser(poll.Username, poll.Password))
                {
                    switch (action)
                    {
                        case FolderPollAction.Copy:
                            watcher.Created += (sender, args) => this.CopyFile(args.FullPath, string.Format("{0}\\{1}", poll.NewFile.Move.TargetFolder, args.Name));
                            break;
                        case FolderPollAction.Move:
                            watcher.Created += (sender, args) => this.MoveFile(args.FullPath, string.Format("{0}\\{1}", poll.NewFile.Move.TargetFolder, args.Name));
                            break;
                        case FolderPollAction.Launch:
                            watcher.Created +=(sender, args) => this.LaunchApplication(poll.NewFile.Launch.Application, args.FullPath, poll.NewFile.Launch.Arguments);
                            break;
                    }
                }
            }
            else
            {

            }
        }
        private void ImpersonatedAction(Poll poll, FolderPollAction action, FileSystemWatcher watcher)
        {
            if (poll.ImpersonationSpecified && poll.Impersonation)
            {
                using (var user = new ImpersonatedUser(poll.Username, poll.Password))
                {
                    switch (action)
                    {
                        case FolderPollAction.Copy:
                            break;
                            case FolderPollAction.Move:
                            break;
                        case :
                            break;
                    }
                }
            }
            else
            {

            }
        }