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); } }
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); } }
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); } }
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); } } }