public void AddServiceToConfigAndStart(ServiceFormViewModel service) { var config = this.config.Get(); var sqlDServiceModel = new SqlDServiceModel() { Name = service.Name, Database = service.Database, Host = service.Host, Port = service.Port, Tags = (service.Tags ?? string.Empty).Split(',').ToList(), }; var registryEntryViewModels = service.Forwards.Where(x => x.Selected).ToList(); if (registryEntryViewModels.Any()) { sqlDServiceModel.ForwardingTo.AddRange(registryEntryViewModels.Select(y => new SqlDForwardingModel() { Host = y.Host, Port = y.Port })); } config.Services.Add(sqlDServiceModel); this.config.Set(config); SqlDStart.SqlDGo(typeof(ServiceService).Assembly, config); }
public void UpdateServiceAndRestart(ServiceFormViewModel service) { var config = this.config.Get(); var sqlDServiceModel = config.Services.First(x => x.ToEndPoint().Equals(new EndPoint(service.Host, service.Port))); var registryEntryViewModels = service.Forwards.Where(x => x.Selected).ToList(); if (registryEntryViewModels.Any()) { sqlDServiceModel.ForwardingTo = new List <SqlDForwardingModel>(); sqlDServiceModel.ForwardingTo.AddRange(registryEntryViewModels.Select(y => new SqlDForwardingModel() { Host = y.Host, Port = y.Port })); } this.config.Set(config); KillService(sqlDServiceModel.Host, sqlDServiceModel.Port, removeFromConfig: false); SqlDStart.SqlDGo(typeof(ServiceService).Assembly, config); }