Beispiel #1
0
 protected void AddServiceData(string uuid, object data)
 {
     ServiceData.Add(uuid, data);
 }
Beispiel #2
0
        bool LoadFile(string filePath)
        {
            FileInfo file = filePath.AsFile();

            ServicesDirectory = file.Directory; //filePath.AsDirectory();

            var serviceInfos = ServicesDirectory?.GetDirectories()
                               .Where(x => File.Exists(x.FullName + @"\Website\appsettings.json"))
                               .Select(x =>
                                       new ServiceInfo
            {
                Name               = getServiceName(x.FullName + @"\Website\appSettings.json"),
                ProjectFolder      = x.FullName,
                WebsiteFolder      = Path.Combine(x.FullName, "Website"),
                LaunchSettingsPath = Path.Combine(x.FullName, @"Website\Properties", "launchSettings.json")
            });

            if (!CheckIfServicesDirectoryExist())
            {
                return(false);
            }

            servicesDirectoryLastWriteTime = ServicesDirectory.LastWriteTime;

            txtFileInfo.Text = ServicesDirectory.FullName;
            txtSolName.Text  = ServicesDirectory.Name;
            if (serviceInfos == null)
            {
                return(false);
            }

            foreach (var serviceInfo in serviceInfos)
            {
                var serviceName = serviceInfo.Name;
                var srv         = ServiceData.SingleOrDefault(srvc => srvc.Service == serviceName);
                if (srv == null)
                {
                    srv = new MicroserviceItem();
                    ServiceData.Add(srv);
                }

                var port           = "";
                var status         = MicroserviceItem.EnumStatus.NoSourcerLocally;
                var parentFullName = ServicesDirectory?.FullName ?? "";
                var projFolder     = serviceInfo.ProjectFolder;
                var websiteFolder  = serviceInfo.WebsiteFolder;
                var launchSettings = serviceInfo.LaunchSettingsPath;
                var procId         = -1;

                if (File.Exists(@launchSettings))
                {
                    status = MicroserviceItem.EnumStatus.Pending;
                    port   = GetPortNumberFromLaunchSettingsFile(launchSettings);
                }
                else
                {
                    websiteFolder = null;
                }

                srv.Status         = status;
                srv.Service        = serviceName;
                srv.Port           = port;
                srv.ProcId         = procId;
                srv.SolutionFolder = projFolder;
                srv.WebsiteFolder  = websiteFolder;
            }

            FilterListBy(txtSearch.Text);

            projectLoaded = true;

            if (watcher == null)
            {
                StartFileSystemWatcher(ServicesDirectory);
            }

            Refresh();

            return(true);
        }