public void WebTopologyModelProviderDelegate(List <UIModel> uIModels)
        {
            //Dok se ne sredi logika za vise root-ova na WEB-u
            UIModel uIModel;

            if (uIModels.Count == 0)
            {
                uIModel = new UIModel();
            }
            else
            {
                uIModel = uIModels.First();
            }
            TopologyForUIMessage         message     = new TopologyForUIMessage(uIModel);
            CalculationEnginePublication publication = new CalculationEnginePublication(Topic.TOPOLOGY, message);

            try
            {
                using (PublisherProxy publisherProxy = proxyFactory.CreateProxy <PublisherProxy, IPublisher>(EndpointNames.PublisherEndpoint))
                {
                    if (publisherProxy == null)
                    {
                        string errMessage = "WebTopologyModelProviderDelegate => PublisherProxy is null.";
                        logger.LogError(errMessage);
                        throw new NullReferenceException(errMessage);
                    }


                    publisherProxy.Publish(publication, "CE_PUBLISHER");
                    logger.LogDebug("Topology publisher published new ui model successfully.");
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Topology publisher failed to publish new ui model. Exception: {ex.Message}");
            }
        }
        public void TopologyToOMSConvertDelegate(List <IOutageTopologyModel> outageTopologyModels)
        {
            IOutageTopologyModel outageTopologyModel;

            if (outageTopologyModels.Count == 0)
            {
                outageTopologyModel = new OutageTopologyModel();
            }
            else
            {
                outageTopologyModel = outageTopologyModels.First();
            }

            OMSModelMessage message = new OMSModelMessage(outageTopologyModel);
            CalculationEnginePublication publication = new CalculationEnginePublication(Topic.OMS_MODEL, message);

            try
            {
                using (PublisherProxy publisherProxy = proxyFactory.CreateProxy <PublisherProxy, IPublisher>(EndpointNames.PublisherEndpoint))
                {
                    if (publisherProxy == null)
                    {
                        string errMessage = "TopologyToOMSConvertDelegate => PublisherProxy is null.";
                        logger.LogError(errMessage);
                        throw new NullReferenceException(errMessage);
                    }

                    publisherProxy.Publish(publication, "CE_PUBLICATION");
                    logger.LogDebug("Topology publisher published new oms model successfully.");
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Topology publisher failed to publish new oms model. Exception: {ex.Message}");
            }
        }