private UIUpdateModel TryGetConsumer(string mrid) { UIUpdateModel consumer = new UIUpdateModel(); string s = Regex.Match(mrid.ToUpper().Trim(), @"\d+").Value; if (mrid.Contains("ec_") || mrid.Contains("EC_")) { foreach (ResourceDescription rd in DMSServiceHost.Instance.EnergyConsumersRD) { if (rd.GetProperty(ModelCode.IDOBJ_MRID).AsString() == "EC_" + s) { consumer = new UIUpdateModel(rd.Id, false); return(consumer); } } } else if (mrid.Contains("ec") || mrid.Contains("EC")) { foreach (ResourceDescription rd in DMSServiceHost.Instance.EnergyConsumersRD) { if (rd.GetProperty(ModelCode.IDOBJ_MRID).AsString() == "EC_" + s) { consumer = new UIUpdateModel(rd.Id, false); return(consumer); } } } return(consumer); }
// not used public void PublishCrew(UIUpdateModel update) { try { proxy.PublishCrewUpdate(update); } catch { } }
public void PublishCallIncident(UIUpdateModel call) { try { proxy.PublishCallIncident(call); } catch { } }
// not used public void PublishCrew(UIUpdateModel update) { try { proxyToCloud.InvokeWithRetry(client => client.Channel.PublishCrewUpdate(update)); // proxy.PublishCrewUpdate(update); } catch { } }
public void PublishCallIncident(UIUpdateModel call) { foreach (IPublishing subscriber in PubSubscribeDB.Subscribers) { PublishThreadData threadObj = new PublishThreadData(subscriber, call, true); Thread thread = new Thread(threadObj.PublishCallIncidentDelta); thread.Start(); } }
public void PublishCrewUpdate(UIUpdateModel update) { foreach (IPublishing subscriber in PubSubscribeDB.Subscribers) { PublishThreadData threadObj = new PublishThreadData(subscriber, update); Thread thread = new Thread(threadObj.PublishCrewDelta); thread.Start(); } }
public void PublishCallIncident(UIUpdateModel call) { try { proxyToCloud.InvokeWithRetry(c => c.Channel.PublishCallIncident(call)); } catch (FaultException e) { Console.WriteLine(e.Message); } }
private void GetCallFromConsumers(UIUpdateModel call) { //ElementProperties property; //properties.TryGetValue(call.Gid, out property); //EnergyConsumerProperties consumerProperties = property as EnergyConsumerProperties; //if (consumerProperties != null) //{ // consumerProperties.IsEnergized = call.IsEnergized; // consumerProperties.Call = true; //} }
// for publishing call incident public PublishThreadData(IPublishing subscriber, UIUpdateModel call, bool isCall) { this.subscriber = subscriber; this.call = call; }
// for publishing crew update public PublishThreadData(IPublishing subscriber, UIUpdateModel update) { this.subscriber = subscriber; this.crewUpdate = update; }
public void Process() { while (true) { LogIn(); Message message; try { var fg = client.GetMessageUids(); var count = client.GetMessageCount(); List <int> indexforDelete = new List <int>(); if (count > 0) { for (int i = 1; i <= count; i++) { message = client.GetMessage(i); MessagePart mp = message.FindFirstPlainTextVersion(); messagesFormClents.Add(message.Headers.MessageId, message); /* * Console.WriteLine(mp.GetBodyAsText()); * Pronaci ec na osnovu MRID_ja */ UIUpdateModel call = TryGetConsumer(mp.GetBodyAsText()); if (call.Gid > 0) { SendMailMessageToClient(message, true); lock (sync) { if (DMSServiceHost.Instance.Tree.Data[call.Gid].IsEnergized == true) { clientsCall.Add(call.Gid); DMSServiceHost.Instance.Tree.Data[call.Gid].IsEnergized = false; } } if (clientsCall.Count == 3) { Thread t = new Thread(new ThreadStart(TraceUpAlgorithm)); t.Start(); } Publisher publisher = new Publisher(); publisher.PublishCallIncident(call); } else { SendMailMessageToClient(message, false); } indexforDelete.Add(i); } foreach (int item in indexforDelete) { client.DeleteMessage(item); } client.Disconnect(); LogIn(); } } catch (Exception) { client.Disconnect(); LogIn(); } //Console.WriteLine(message.Headers.Subject); Thread.Sleep(3000); } }
private void GetCrewUpdate(UIUpdateModel update) { Console.WriteLine(update.Response.ToString()); }
public void PublishCrewUpdate(UIUpdateModel update) { publishCrewEvent?.Invoke(update); }
public void PublishCallIncident(UIUpdateModel call) { publishCall?.Invoke(call); }
public void PublishCrewUpdate(UIUpdateModel update) { throw new NotImplementedException(); }