Exemple #1
0
        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);
        }
Exemple #2
0
 // not used
 public void PublishCrew(UIUpdateModel update)
 {
     try
     {
         proxy.PublishCrewUpdate(update);
     }
     catch { }
 }
Exemple #3
0
 public void PublishCallIncident(UIUpdateModel call)
 {
     try
     {
         proxy.PublishCallIncident(call);
     }
     catch { }
 }
Exemple #4
0
 // not used
 public void PublishCrew(UIUpdateModel update)
 {
     try
     {
         proxyToCloud.InvokeWithRetry(client => client.Channel.PublishCrewUpdate(update));
         //   proxy.PublishCrewUpdate(update);
     }
     catch { }
 }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
        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();
            }
        }
Exemple #7
0
 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;
            //}
        }
Exemple #9
0
 // for publishing call incident
 public PublishThreadData(IPublishing subscriber, UIUpdateModel call, bool isCall)
 {
     this.subscriber = subscriber;
     this.call       = call;
 }
Exemple #10
0
 // for publishing crew update
 public PublishThreadData(IPublishing subscriber, UIUpdateModel update)
 {
     this.subscriber = subscriber;
     this.crewUpdate = update;
 }
Exemple #11
0
        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());
 }
Exemple #13
0
 public void PublishCrewUpdate(UIUpdateModel update)
 {
     publishCrewEvent?.Invoke(update);
 }
Exemple #14
0
 public void PublishCallIncident(UIUpdateModel call)
 {
     publishCall?.Invoke(call);
 }
Exemple #15
0
 public void PublishCrewUpdate(UIUpdateModel update)
 {
     throw new NotImplementedException();
 }