public void AddStatusInformation(StatusProgressItem pi)
 {
     if (!m_statusInformation.Contains(pi))
     {
         m_statusInformation.Add(pi);
     }
 }
        public void HandleEvent(FlowManifest manifest, IExecutionEngine pIExecutionEngine)
        {
            StatusProgressItem spi0 = new StatusProgressItem {
                Description = "FlowStatus", Status = manifest.FlowStatus.ToString()
            };

            pIExecutionEngine.AddStatusInformation(spi0);

            StatusProgressItem spi = new StatusProgressItem {
                Description = "Testing .EndFlow", Status = "Running"
            };

            pIExecutionEngine.AddStatusInformation(spi);

            try
            {
                pIExecutionEngine.EndFlow = true;
                spi.Status = "SHOULD NOT WORK!";
            }
            catch (NotImplementedException)
            {
                spi.Status = "NotImplementedException";
            }

            StatusProgressItem spi2 = new StatusProgressItem {
                Description = "Testing .LogToEvents", Status = "Running"
            };

            pIExecutionEngine.AddStatusInformation(spi2);

            try
            {
                pIExecutionEngine.LogToEvents = true;
                spi2.Status = "SHOULD NOT WORK!";
            }
            catch (NotImplementedException)
            {
                spi2.Status = "NotImplementedException";
            }

            StatusProgressItem spi3 = new StatusProgressItem {
                Description = "Testing .ResponseInBrowser", Status = "Running"
            };

            pIExecutionEngine.AddStatusInformation(spi3);

            try
            {
                IResponseInBrowser i = pIExecutionEngine.ResponseInBrowser;
                spi3.Status = "SHOULD NOT WORK!";
            }
            catch (NotImplementedException)
            {
                spi3.Status = "NotImplementedException";
            }
        }
        public void Publish(System.Collections.Specialized.NameValueCollection inputParameters, System.Collections.Hashtable applicationCache, string tempDirectory, string configDirectory, string dataDirectory, string retrivalOutputDirectory, string generatorOutputDirectory, ItSoftware.CompuFlow.Common.IExecutionEngine pIExecutionEngine)
        {
            StatusProgressItem spi = new StatusProgressItem {
                Description = "Copying", Status = "Running"
            };

            pIExecutionEngine.AddStatusInformation(spi);
            System.IO.File.Copy(System.IO.Path.Combine(retrivalOutputDirectory, "Site.html"), System.IO.Path.Combine("C:\\Temp", "Site.html"), true);
            spi.Status = "OK";
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public StatusProgressItem GetProgressItem( )
        {
            StatusProgressItem progressItem = new StatusProgressItem( );

            progressItem.Description      = this.ProgressItem.Description;
            progressItem.ErrorInfo        = this.ProgressItem.ErrorInfo;
            progressItem.ExecutionTime    = this.ProgressItem.ExecutionTime;
            progressItem.StartTime        = this.ProgressItem.StartTime;
            progressItem.Status           = this.ProgressItem.Status;
            progressItem.MinExecutionTime = this.ProgressItem.MinExecutionTime;
            progressItem.MaxExecutionTime = this.ProgressItem.MaxExecutionTime;
            progressItem.AvgExecutionTime = this.ProgressItem.AvgExecutionTime;
            return(progressItem);
        }
        public void Generate(System.Collections.Specialized.NameValueCollection inputParameters, System.Collections.Hashtable applicationCache, string tempDirectory, string configDirectory, string dataDirectory, string outputDirectory, string retrivalOutputDirectory, Common.IExecutionEngine pIExecutionEngine)
        {
            string html = null;

            StatusProgressItem siLoading = new StatusProgressItem {
                Description = "Loading HTML", Status = "Running"
            };

            pIExecutionEngine.AddStatusInformation(siLoading);
            try
            {
                using (StreamReader sr = File.OpenText(Path.Combine(retrivalOutputDirectory, "Site.html")))
                {
                    html = sr.ReadToEnd();
                }
                siLoading.Status = "OK";
            }
            catch (Exception x)
            {
                siLoading.ErrorInfo = x.ToString();
                siLoading.Status    = "Failure";
            }

            string rib = inputParameters["ResponseInBrowser"];

            if (rib != null)
            {
                bool bRib = bool.Parse(rib);

                if (bRib)
                {
                    StatusProgressItem siResponseInBrowser = new StatusProgressItem {
                        Description = "Returning information to browser", Status = "Running"
                    };
                    pIExecutionEngine.AddStatusInformation(siResponseInBrowser);
                    try
                    {
                        pIExecutionEngine.ResponseInBrowser.WriteHtml(html);
                        siResponseInBrowser.Status = "OK";
                    }
                    catch (Exception y)
                    {
                        siResponseInBrowser.Status    = "Failure";
                        siResponseInBrowser.ErrorInfo = y.ToString();
                    }
                }
            }
        }