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 { } }