private async Task <IEnumerable <EdgeMessagePipelineModule> > GetDefaultModulesOfAgentAsync(string plantId, string internalAgentId)
        {
            var defaultModulesOfAgent = await _edgeAgentRepository.GetEdgeAgentDefaultModuleAsync(plantId, internalAgentId);

            IList <EdgeMessagePipelineModule> prparedDefaultModules = new List <EdgeMessagePipelineModule>();

            foreach (var module in defaultModulesOfAgent)
            {
                EdgeMessagePipelineModule messagePipelineModule = new EdgeMessagePipelineModule();
                messagePipelineModule.ConfigurationName = module.ImageName;
                messagePipelineModule.ImageURI          = module.ImageURI;
                messagePipelineModule.ModuleName        = module.Name;
                messagePipelineModule.ModuleImageName   = module.ImageName;
                messagePipelineModule.ModuleTag         = module.ModuleVersion;
                prparedDefaultModules.Add(messagePipelineModule);
            }

            return(prparedDefaultModules);
        }
        private void PreapareRoutesOfModules(IEnumerable <EdgeMessagePipelineModule> targetModules, EdgeMessagePipelineModule sourceModuleOfRoute, IDictionary <string, string> routesForTemplate)
        {
            foreach (var targetModule in targetModules)
            {
                string key = string.Format(Constants.RouteNameTemplate, Regex.Replace(sourceModuleOfRoute.ConfigurationName, @"[^0-9a-zA-Z]+", string.Empty), Regex.Replace(targetModule.ConfigurationName, @"[^0-9a-zA-Z]+", string.Empty));

                if (!routesForTemplate.ContainsKey(key))
                {
                    routesForTemplate.Add(key, string.Format(Constants.RouteTemplate, sourceModuleOfRoute.ModuleName, targetModule.ModuleName));
                }
            }
        }
 private void PreapareRouteForTargetModules(IEnumerable <EdgeRouteModule> targetModulesOfRoute, IEnumerable <EdgeMessagePipelineModule> finalModulesOfAgent, EdgeMessagePipelineModule sourceModuleOfRoute, IDictionary <string, string> routesForTemplate)
 {
     foreach (var targetRouteModule in targetModulesOfRoute)
     {
         var targetModules = finalModulesOfAgent.Where(module => module.ModuleImageName.ToLower() == targetRouteModule.ModuleImage.ToLower());
         PreapareRoutesOfModules(targetModules, sourceModuleOfRoute, routesForTemplate);
     }
 }