public virtual Dictionary <string, string> GetMachineConfiguration(string machineName, string configurationName = null) { configurationName = configurationName ?? CommonConfigName; Machine machine = CoreRegistryRepository.GetOneMachineWhere(c => c.Name == machineName); Configuration config = machine.Configurations.FirstOrDefault(c => c.Name.Equals(configurationName)); if (config != null) { return(SettingsToDictionary(config.Settings)); } return(new Dictionary <string, string>()); }
public virtual void SetMachineConfiguration(string machineName, Dictionary <string, string> settings, string configurationName = null) { configurationName = configurationName ?? CommonConfigName; Machine machine = CoreRegistryRepository.GetOneMachineWhere(c => c.Name == machineName); lock (Machine.ConfigurationLock) { Configuration config = machine.Configurations.FirstOrDefault(c => c.Name.Equals(configurationName)); if (config == null) { config = new Configuration { Name = configurationName }; config.MachineId = machine.Id; config = CoreRegistryRepository.Save(config); } config.Settings = DictionaryToSettings(settings, config).ToList(); CoreRegistryRepository.Save(config); } }
public virtual CoreServiceResponse RegisterClient(Client client) { try { Args.ThrowIfNullOrEmpty(client?.Secret, nameof(client.Secret)); Args.ThrowIfNullOrEmpty(client?.ServerHost, nameof(client.ServerHost)); Args.ThrowIfNull(client?.Machine, nameof(client.Machine)); Args.ThrowIf(client.Port <= 0, "Server Port not specified"); IUserManager mgr = (IUserManager)UserManager.Clone(); mgr.HttpContext = HttpContext; string clientName = client.ToString(); CoreServiceResponse response = new CoreServiceResponse(); CheckUserNameResponse checkUserName = mgr.IsUserNameAvailable(clientName); if (!(bool)checkUserName.Data) // already exists { response.Success = true; response.Message = "Already registered"; } else { SignUpResponse signupResponse = mgr.SignUp(client.GetPseudoEmail(), clientName, client.Secret.Sha1(), false); if (!signupResponse.Success) { throw new Exception(response.Message); } Machine machine = CoreRegistryRepository.GetOneMachineWhere(m => m.Name == client.MachineName); client = CoreRegistryRepository.GetOneClientWhere(c => c.MachineId == machine.Id && c.MachineName == client.MachineName && c.ApplicationName == client.ApplicationName && c.ServerHost == client.ServerHost && c.Port == client.Port); response = new CoreServiceResponse { Success = true, Data = client.ToDynamicData().ToJson() }; } return(response); } catch (Exception ex) { return(HandleException(ex, nameof(CoreApplicationRegistrationService.RegisterClient))); } }