protected override void OnStart(string[] args)
        {
            using (var eventLog = new TaskManagementEventLog())
            {
                try
                {
                    var combo = string.Empty;
                    if (null != args)
                    {
                        combo = args.Aggregate(combo, (x,
                                                       arg) => "{0}{1}\"{2}\"".FormatWith(x, null == x ? string.Empty : ", ", arg));
                    }

                    Trace.WriteLineIf(Tracing.Is.TraceVerbose, "args={0}".FormatWith(combo));
                    if (null != Manager)
                    {
                        throw new InvalidOperationException();
                    }

                    Args    = args;
                    Manager = ServiceLocator.Current.GetInstance <IManageTasks>();
                    Manager.Start(args);
                    eventLog.SuccessOnStart();
                }
                catch (Exception exception)
                {
                    eventLog.FailureOnStart();
                    Trace.TraceError("{0}", exception);
                }
            }
        }
        private void OnDispose()
        {
            Trace.WriteLineIf(Tracing.Is.TraceVerbose, string.Empty);
            if (null == Manager)
            {
                return;
            }

            Manager.Stop();
            Manager.Dispose();
            Manager = null;
        }
        private void OnDispose()
        {
            Trace.WriteLineIf(Tracing.Is.TraceVerbose, string.Empty);
            if (null == Manager)
            {
                return;
            }

            Manager.Stop();
            Manager.Dispose();
            Manager = null;
        }
        protected override void OnStart(string[] args)
        {
            using (var eventLog = new TaskManagementEventLog())
            {
                try
                {
                    var combo = string.Empty;
                    if (null != args)
                    {
                        combo = args.Aggregate(combo, (x,
                                                       arg) => "{0}{1}\"{2}\"".FormatWith(x, null == x ? string.Empty : ", ", arg));
                    }

                    Trace.WriteLineIf(Tracing.Is.TraceVerbose, "args={0}".FormatWith(combo));
                    if (null != Manager)
                    {
                        throw new InvalidOperationException();
                    }

                    Args = args;
                    Manager = ServiceLocator.Current.GetInstance<IManageTasks>();
                    Manager.Start(args);
                    eventLog.SuccessOnStart();
                }
                catch (Exception exception)
                {
                    eventLog.FailureOnStart();
                    Trace.TraceError("{0}", exception);
                }
            }
        }
 public ManageTasksController(IManageTasks service)
 {
     taskService = service;
 }