Exemple #1
0
        public void PublishOptimizationResults(List <MeasurementUI> result)
        {
            OptimizationEventArgs e = new OptimizationEventArgs
            {
                OptimizationResult = result,
                Message            = "optimization result"
            };

            try
            {
                OptimizationResultEvent(this, e);
            }
            catch (Exception ex)
            {
                string message = string.Format("CES does not have any subscribed clinet for publishing new optimization result. {0}", ex.Message);
                CommonTrace.WriteTrace(CommonTrace.TraceVerbose, message);
                Console.WriteLine(message);
            }
        }
Exemple #2
0
        public void PublishCoReduction(Tuple <string, float, float> tupla)
        {
            OptimizationEventArgs e = new OptimizationEventArgs
            {
                CoReduction = tupla,
                Message     = "CoReduction"
            };

            try
            {
                OptimizationResultEvent(this, e);
            }
            catch (Exception ex)
            {
                string message = string.Format("CES does not have any subscribed clinet for publishing new optimization result. {0}", ex.Message);
                CommonTrace.WriteTrace(CommonTrace.TraceVerbose, message);
                Console.WriteLine(message);
            }
        }
Exemple #3
0
        public void PublishRenewableKW(Tuple <DateTime, float> renewableKW)
        {
            OptimizationEventArgs e = new OptimizationEventArgs
            {
                RenewableKW = renewableKW,
                Message     = "RenewableKW"
            };

            try
            {
                OptimizationResultEvent(this, e);
            }
            catch (Exception ex)
            {
                string message = string.Format("CES does not have any subscribed clinet for publishing new optimization result. {0}", ex.Message);
                CommonTrace.WriteTrace(CommonTrace.TraceVerbose, message);
                Console.WriteLine(message);
            }
        }
Exemple #4
0
        public void OptimizationResultHandler(object sender, OptimizationEventArgs e)
        {
            List <ICePubSubCallbackContract> faultetClients = new List <ICePubSubCallbackContract>(4);

            foreach (ICePubSubCallbackContract client in clientsToPublish)
            {
                if ((client as ICommunicationObject).State.Equals(CommunicationState.Opened))
                {
                    if (e.Message == "wind percent")
                    {
                        client.WindPercentResult(e.WindPercent);
                    }
                    else if (e.Message == "RenewableKW")
                    {
                        client.RenewableResult(e.RenewableKW);
                    }
                    else if (e.Message == "CoReduction")
                    {
                        client.PublishCoReduction(e.CoReduction);
                    }
                    else
                    {
                        client.OptimizationResults(e.OptimizationResult);
                    }
                }
                else
                {
                    faultetClients.Add(client);
                }
            }

            lock (clientsLocker)
            {
                foreach (ICePubSubCallbackContract client in faultetClients)
                {
                    clientsToPublish.Remove(client);
                }
            }
        }