// API // API // API public static async Task <IVRConfig> GetConfigAsync() { using (IVRConfigDataProvider configDP = new IVRConfigDataProvider()) { IVRConfig config = await configDP.GetItemAsync(); if (config == null) { throw new InternalError("No IVR settings defined"); } return(config); } }
private async Task AddConfigAsync(IVRConfig data) { data.Id = KEY; if (!await DataProvider.AddAsync(data)) { throw new InternalError("Unexpected error adding settings"); } await Auditing.AddAuditAsync($"{nameof(IVRConfigDataProvider)}.{nameof(AddConfigAsync)}", "Config", Guid.Empty, "Add Softelvdm_IVR Config", DataBefore : null, DataAfter : data, ExpensiveMultiInstance : true ); }
public async Task <IVRConfig> GetItemAsync() { IVRConfig config = await DataProvider.GetAsync(KEY); if (config == null) { config = new IVRConfig(); string publicKey, privateKey; RSACrypto.MakeNewKeys(out publicKey, out privateKey); config.PrivateKey = privateKey; config.PublicKey = publicKey; await AddConfigAsync(config); } return(config); }
public async Task UpdateConfigAsync(IVRConfig data) { IVRConfig origConfig = Auditing.Active ? await GetItemAsync() : null; data.Id = KEY; UpdateStatusEnum status = await DataProvider.UpdateAsync(data.Id, data.Id, data); if (status != UpdateStatusEnum.OK) { throw new InternalError("Unexpected error saving configuration {0}", status); } await Auditing.AddAuditAsync($"{nameof(IVRConfigDataProvider)}.{nameof(UpdateConfigAsync)}", "Config", Guid.Empty, "Update Softelvdm_IVR Config", DataBefore : origConfig, DataAfter : data, ExpensiveMultiInstance : true ); }