/// <summary> /// 删除记录 /// </summary> /// <param name="recordId"></param> /// <returns></returns> public bool DeleteRecord(int recordId) { DomainRecord record = this.WriteDB.ReadInfo <DomainRecord>(t => t.ID == recordId); if (record == null) { return(this.FaildMessage("记录不存在")); } SiteDomain domain = this.ReadDB.ReadInfo <SiteDomain>(t => t.ID == record.DomainID); List <DomainCDN> cdnlist = this.ReadDB.ReadList <DomainCDN>(t => t.RecordID == record.ID); // 调用CDN接口,删除CDN记录 foreach (DomainCDN cdn in cdnlist) { if (cdn.CDNType != CDNProviderType.Manual) { CDNProvider provider = ProviderAgent.Instance().GetCDNProviderInfo(cdn.CDNType); if (provider != null || provider.Setting != null) { if (!provider.Setting.Delete(cdn.CName, out string msg)) { return(this.FaildMessage(msg)); } } } this.WriteDB.Delete <DomainCDN>(t => t.ID == cdn.ID && t.RecordID == recordId); } // 此处调用DNSPOD接口,删除别名记录 // do something this.WriteDB.Delete <DomainRecord>(t => t.ID == recordId); return(this.AccountInfo.Log(LogType.Site, $"删除商户{domain.SiteID}域名记录{record.SubName}.{domain.Domain}")); }
public Task SaveCDNInfo([FromForm] CDNProviderType type, [FromForm] int?isOpen, [FromForm] string setting) { CDNProvider provider = new CDNProvider() { Type = type, SettingString = setting, IsOpen = isOpen == null ? false : isOpen == 1 }; return(this.GetResult(ProviderAgent.Instance().SaveCDNProvider(provider))); }
public Task GetCDNSetting([FromForm] CDNProviderType type) { CDNProvider provider = ProviderAgent.Instance().GetCDNProviderInfo(type); ICDNProvider cdn = provider?.Setting; if (cdn == null) { return(this.GetResult(true)); } else { return(this.GetResult(cdn.ToSetting())); } }
/// <summary> /// 添加/修改CDN供应商 /// </summary> /// <param name="cdn"></param> /// <returns></returns> public bool SaveCDNProvider(CDNProvider cdn) { using (DbExecutor db = NewExecutor(IsolationLevel.ReadUncommitted)) { if (cdn.Exists(db)) { cdn.Update(db); } else { cdn.Add(db); } db.Commit(); } return(this.AccountInfo.Log(LogType.Set, $"保存CDN供应商:{cdn.Type}")); }
public Task CDNInfo([FromForm] CDNProviderType?type) { CDNProvider provider = type == null ? new CDNProvider() { Type = CDNProviderType.Manual, } : (ProviderAgent.Instance().GetCDNProviderInfo(type.Value) ?? new CDNProvider() { Type = type.Value }); return(this.GetResult(new { provider.Type, provider.IsOpen })); }
static CDNManager() { _provider = Factory.CreateObject("cdn/provider", true) as CDNProvider; }