public IActionResult DeleteConfig(int id) { ConfigsModel model = new ConfigsModel(); model.Configs = _appEntities.GetAllConfigs().ToList(); model.SelectedConfig = model.Configs.FirstOrDefault(x => x.Id == id); return(View(model)); }
public IActionResult Index(ConfigsModel configsModel) { if (configsModel != null) { configsModel.ContriesISO = GetCountriesISO(); return(View("Index", configsModel)); } return(BadRequest()); }
public IActionResult Config(ConfigsModel model) { if (ModelState.IsValid && model?.SelectedConfig != null) { _appEntities.UpsertConfig(model.SelectedConfig); } model.Configs = _appEntities.GetAllConfigs().ToList(); return(View(model)); }
public IActionResult DisableConfig(ConfigsModel model) { if (ModelState.IsValid && model?.SelectedConfig != null) { _appEntities.DisableConfig(model.SelectedConfig); } model.Configs = _appEntities.GetAllConfigs().ToList(); model.SelectedConfig = model.Configs.FirstOrDefault(x => x.Id == model.SelectedConfig.Id); return(View(model)); }
/// <summary> /// 获取配置信息 /// </summary> /// <returns></returns> public List <ConfigsModel> FindList() { string sql = @"select * from Sys_Configs order by F_SortNum"; List <ConfigsModel> configs = new List <ConfigsModel>(); using (DbDataReader dr = DbHelper.ExecuteReader(sql)) { while (dr.Read()) { ConfigsModel config = ReaderToModel <ConfigsModel>(dr); configs.Add(config); } } return(configs); }
private IActionResult config(ConfigsModel model, [AspMvcView] String view) { if (ModelState.IsValid) { addErrors(model.Save()); } if (!ModelState.IsValid) { return(View(view, model)); } if (!String.IsNullOrEmpty(model.BackTo)) { return(Redirect(model.BackTo)); } return(RedirectToAction()); }
public async Task <IActionResult> Index() { var model = new ConfigsModel { AllowedRegistration = NodeSettings.Configs.AllowedRegistration, AnotherNodesUrls = NodeSettings.Configs.AnotherNodesUrls, BlockchainDbConnection = NodeSettings.Configs.BlockchainDbConnection ?? new DatabaseConnectionInfo(), CacheServerConnection = NodeSettings.Configs.CacheServerConnection ?? new CacheServerConnectionInfo(), Certificate = NodeSettings.Configs.Certificate, ConfirmUsers = NodeSettings.Configs.ConfirmUsers, LicensorUrl = NodeSettings.Configs.LicensorUrl, MaxDbBackups = NodeSettings.Configs.MaxDbBackups, MessengerDbConnection = NodeSettings.Configs.MessengerDbConnection ?? new DatabaseConnectionInfo(), Node = NodeSettings.Configs.Node, NodesUrls = NodeSettings.Configs.NodesUrls, NotificationServerURL = NodeSettings.Configs.NotificationServerURL, OpenStackOptions = NodeSettings.Configs.OpenStackOptions ?? new OpenStackOptions(), SmtpClient = NodeSettings.Configs.SmtpClient ?? new SmtpClientInfo(), NodeKeys = NodeData.Instance.NodeKeys, RecoveryMode = NodeSettings.Configs.RecoveryMode, TrustedIps = NodeSettings.Configs.TrustedIps, BlockchainInfo = await BlockchainReadService.GetBlockchainInformationAsync().ConfigureAwait(false), ClientsPort = NodeSettings.Configs.Node.ClientsPort, NodesPort = NodeSettings.Configs.Node.NodesPort, License = NodeSettings.Configs.License, S3FileStorageOptions = NodeSettings.Configs.S3FileStorageOptions, ContriesISO = GetCountriesISO(), SMSRUServiceConfiguration = NodeSettings.Configs.SmsServiceConfiguration is SMSRUServiceConfiguration ? (SMSRUServiceConfiguration)NodeSettings.Configs.SmsServiceConfiguration : new SMSRUServiceConfiguration(), SMSIntelServiceConfiguration = NodeSettings.Configs.SmsServiceConfiguration is SMSIntelServiceConfiguration ? (SMSIntelServiceConfiguration)NodeSettings.Configs.SmsServiceConfiguration : new SMSIntelServiceConfiguration(), BSGServiceConfiguration = NodeSettings.Configs.SmsServiceConfiguration is BSGServiceConfiguration ? (BSGServiceConfiguration)NodeSettings.Configs.SmsServiceConfiguration : new BSGServiceConfiguration(), GolosAlohaServiceConfiguration = NodeSettings.Configs.SmsServiceConfiguration is VoiceServiceConfiguration ? (VoiceServiceConfiguration)NodeSettings.Configs.SmsServiceConfiguration : new VoiceServiceConfiguration() }; return(View(model)); }
public async Task <IActionResult> Update([FromForm] ConfigsModel configsModel) { ErrorModel errorModel = new ErrorModel(); bool encryptionChangedFlag = false; try { if (!configsModel.SmtpClient.IsValid() && configsModel.Node.RegistrationMethod == RegistrationMethod.EmailRequired) { errorModel.Errors.Add("RegistrationMethod", "Selected registration method requires specifying the correct SmtpClient settings."); } int settingsCount = 0; SmsServiceConfiguration smsConfiguration = NodeSettings.Configs.SmsServiceConfiguration; if (configsModel.BSGServiceConfiguration.IsValid() && NodeSettings.Configs.SmsServiceConfiguration.GetType() != typeof(BSGServiceConfiguration)) { settingsCount++; smsConfiguration = configsModel.BSGServiceConfiguration; } if (configsModel.SMSIntelServiceConfiguration.IsValid() && NodeSettings.Configs.SmsServiceConfiguration.GetType() != typeof(SMSIntelServiceConfiguration)) { settingsCount++; smsConfiguration = configsModel.SMSIntelServiceConfiguration; } if (configsModel.SMSRUServiceConfiguration.IsValid() && NodeSettings.Configs.SmsServiceConfiguration.GetType() != typeof(SMSRUServiceConfiguration)) { settingsCount++; smsConfiguration = configsModel.SMSRUServiceConfiguration; } if (configsModel.GolosAlohaServiceConfiguration.IsValid() && NodeSettings.Configs.SmsServiceConfiguration.GetType() != typeof(VoiceServiceConfiguration)) { settingsCount++; smsConfiguration = configsModel.GolosAlohaServiceConfiguration; } if (settingsCount > 1) { errorModel.Errors.Add("SmsServiceConfiguration", "Found more than one SMS service configuration"); } if (settingsCount == 0 && configsModel.Node.RegistrationMethod == RegistrationMethod.PhoneRequired && !smsConfiguration.IsValid()) { errorModel.Errors.Add("RegistrationMethod", "Selected registration method requires specifying the correct SmsService settings."); } if (errorModel.Errors.Any()) { configsModel.ErrorModel = errorModel; return(Index(configsModel)); } if (settingsCount == 0) { if (configsModel.SMSIntelServiceConfiguration.IsValid()) { smsConfiguration = configsModel.SMSIntelServiceConfiguration; } else if (configsModel.SMSRUServiceConfiguration.IsValid()) { smsConfiguration = configsModel.SMSRUServiceConfiguration; } else if (configsModel.BSGServiceConfiguration.IsValid()) { smsConfiguration = configsModel.BSGServiceConfiguration; } else if (configsModel.GolosAlohaServiceConfiguration.IsValid()) { smsConfiguration = configsModel.GolosAlohaServiceConfiguration; } } NodeSettings.Configs.AllowedRegistration = configsModel.AllowedRegistration; NodeSettings.Configs.BlockchainDbConnection = configsModel.BlockchainDbConnection; NodeSettings.Configs.CacheServerConnection = configsModel.CacheServerConnection; NodeSettings.Configs.ConfirmUsers = configsModel.ConfirmUsers; NodeSettings.Configs.LicensorUrl = configsModel.LicensorUrl; NodeSettings.Configs.MaxDbBackups = configsModel.MaxDbBackups; NodeSettings.Configs.MessengerDbConnection = configsModel.MessengerDbConnection; NodeSettings.Configs.OpenStackOptions = configsModel.OpenStackOptions; NodeSettings.Configs.S3FileStorageOptions = configsModel.S3FileStorageOptions; NodeSettings.Configs.SmtpClient = configsModel.SmtpClient; NodeSettings.Configs.RecoveryMode = configsModel.RecoveryMode; NodeSettings.Configs.Node.ClientsPort = configsModel.ClientsPort; NodeSettings.Configs.Node.NodesPort = configsModel.NodesPort; NodeSettings.Configs.Node.SupportEmail = configsModel.Node.SupportEmail; NodeSettings.Configs.Node.AdminEmail = configsModel.Node.AdminEmail; NodeSettings.Configs.Node.PermanentlyDeleting = configsModel.Node.PermanentlyDeleting; NodeSettings.Configs.Node.RegistrationMethod = configsModel.Node.RegistrationMethod; NodeSettings.Configs.Node.Country = configsModel.Node.Country; NodeSettings.Configs.SmsServiceConfiguration = smsConfiguration; if (configsModel.Node.EncryptionType != NodeSettings.Configs.Node.EncryptionType) { NodeSettings.Configs.Node.EncryptionType = configsModel.Node.EncryptionType; encryptionChangedFlag = true; } if (configsModel.RecoveryMode) { _connectionsService.CloseAllClientConnections(); } if (configsModel.Node != null) { NodeSettings.Configs.Node.About = configsModel.Node.About; NodeSettings.Configs.Node.Name = configsModel.Node.Name; NodeSettings.Configs.Node.Storage = configsModel.Node.Storage; NodeSettings.Configs.Node.Visible = configsModel.Node.Visible; NodeSettings.Configs.Node.Routing = configsModel.Node.Routing; NodeSettings.Configs.Node.UserRegistrationAllowed = configsModel.Node.UserRegistrationAllowed; if (configsModel.NodeImage != null && configsModel.NodeImage.Length > 0) { string path = _fileStorage.StorageName == "Local" ? Path.Combine( NodeSettings.LOCAL_FILE_STORAGE_PATH, $"[{RandomExtensions.NextString(10)}]{configsModel.NodeImage.FileName}") : null; using (SHA256 sha256 = SHA256.Create()) { var fileHash = sha256.ComputeHash(configsModel.NodeImage.OpenReadStream()); var fileInfo = await _filesService.SaveFileAsync( null, configsModel.NodeImage.FileName, path, configsModel.NodeImage.Length, fileHash, _fileStorage.StorageName).ConfigureAwait(false); await _fileStorage.UploadAsync(configsModel.NodeImage.OpenReadStream(), path ?? fileInfo.FileId).ConfigureAwait(false); NodeSettings.Configs.Node.Photo = fileInfo.FileId; } } if (LicensorClient.Instance.IsAuthentificated) { var editedNode = await LicensorClient.Instance.EditNodeAsync(NodeSettings.Configs.Node).ConfigureAwait(false); _nodesService.CreateOrUpdateNodeInformationAsync(editedNode); } } await NodeSettings.Configs.UpdateConfigurationFileAsync().ConfigureAwait(false); if (encryptionChangedFlag) { _connectionsService.RestartNodeConnections(); } NodeSettings.AppShutdownTokenSource.CancelAfter(TimeSpan.FromSeconds(3)); return(Index(configsModel)); } catch (Exception ex) { errorModel.Errors.Add("Internal server error", ex.Message); configsModel.ErrorModel = errorModel; return(Index(configsModel)); } }