public void ChangeDomainName(HostDNS host, string newDomainName) { try { if (host == null || host.Remark == null) { throw new ArgumentException("Invald domain argument."); } _helper.ChangeDomain(host.IP, host.DomainName, newDomainName, true); } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public bool AddHostDomain(HostDNS domain, bool isenable) { try { string remark = ""; if (domain.Remark != null) remark = JSONHelper.JsonSerializer<HostRemark>(domain.Remark); string[] newline = new string[1] { string.Format("{0}{1}\t\t{2}\t\t{3}", isenable ? "" : "#", domain.IP, domain.DomainName, "#" + remark) }; _helper.WriteToFile(newline, true); return true; } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public void ChangeComment(HostDNS host, string newcomment) { try { if (host == null || host.Remark == null) { throw new ArgumentException("Invald domain argument."); } HostRemark remark = new HostRemark() { SiteType = host.Remark.SiteType, Target = host.Remark.Target, Comment = newcomment }; _helper.ChangeRemark(host.IP, host.DomainName, new HostRemark(), true); } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public bool SaveHostDomain(string oldDomain, HostDNS host, bool isWriteToFile) { try { _helper.ChangeLineByDomain(oldDomain, host.IP, host.Remark, !host.IsDisabled, isWriteToFile); return true; } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public List<HostDNS> GetDomanList(Recognizer rec) { try { List<HostDNS> resultList = new List<HostDNS>(); IEnumerable<string> lines = _helper.GetAllLines(); Regex reg = new Regex(@"(^[#\s]*)((\d{1,3}\.){3}\d{1,3})\s*([\d\w\.-]+)[^\S\n]*(#[^\n]*)?$", RegexOptions.IgnoreCase | RegexOptions.Multiline); foreach (string line in lines) { Match match = reg.Match(line.Trim()); if (match.Success) { HostDNS domain = new HostDNS(); domain.IsDisabled = !string.IsNullOrEmpty(match.Groups[1].Value.Trim()); domain.IP = match.Groups[2].Value; domain.DomainName = match.Groups[4].Value; string remarkStr = match.Groups[5].Value; if (string.IsNullOrWhiteSpace(domain.IP) || string.IsNullOrWhiteSpace(domain.DomainName)) continue; if (string.IsNullOrWhiteSpace(remarkStr.Trim('#'))) { HostRemark remark = new HostRemark() { SiteType = rec.GetSiteType(domain.DomainName,domain.IP), Target = TargetType.Other, Comment = "" }; domain.Remark = remark; } else { try { domain.Remark = JSONHelper.JsonDeserialize<HostRemark>(remarkStr.Trim('#')); } catch (Exception e) { HostRemark newmark = new HostRemark() { SiteType = rec.GetSiteType(domain.DomainName,domain.IP), Target = TargetType.Other, Comment = remarkStr.Trim('#') }; domain.Remark = newmark; } } resultList.Add(domain); } } return resultList; } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public void EnableHost(HostDNS host) { try { if (host == null) { throw new ArgumentException("The host can not be null."); } else if (!host.IsDisabled) { return; } _helper.EnableByIpAndDomain(host.IP, host.DomainName, true); } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public bool DeleteHostLine(HostDNS host, bool iswritetofile) { try { _helper.DeleteLine(host.IP, host.DomainName, host.IsDisabled, iswritetofile); return true; } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public void ChangeTargetType(HostDNS host, TargetType newTargetType) { try { if (host == null || host.Remark == null) { throw new ArgumentException("Invald domain argument."); } else if (host.Remark.Target == newTargetType) { return; } else { HostRemark newRemark = new HostRemark() { SiteType = host.Remark.SiteType, Target = newTargetType, Comment = host.Remark.Comment }; string newIp = EnvironmentMnager.GetIpAdress(host.Remark.SiteType, newTargetType); if (!string.IsNullOrEmpty(newIp)) { _helper.ChangeIpAndRemark(host.DomainName, host.IP, newIp, newRemark, true); DNSManager.FulshDNS(); } else { _helper.ChangeRemark(host.IP, host.DomainName, newRemark, true); } } } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
public void ChangeRemark(HostDNS domain, HostRemark newRemark, bool isWriteToFile) { try { if (newRemark.SiteType != domain.Remark.SiteType || newRemark.Target != domain.Remark.Target)//siteType or targetType has changed { string newIp = EnvironmentMnager.GetIpAdress(newRemark.SiteType, newRemark.Target); if (String.IsNullOrWhiteSpace(newIp)) { _helper.ChangeRemark(domain.IP, domain.DomainName, newRemark, true); } else { _helper.ChangeIpAndRemark(domain.DomainName, domain.IP, newIp, newRemark, true); } } else//only comment is changed { _helper.ChangeRemark(domain.IP, domain.DomainName, newRemark, true); } } catch (Exception ex) { _loger.WriteLine(ex.ToString()); throw; } }
private HostDNS GetCurrentBoundHost(int rowindex) { if (rowindex < 0 || rowindex > dgvDomain.Rows.Count) { rowindex = dgvDomain.CurrentCell.RowIndex; } HostDNS dns = new HostDNS(); var currentcell = dgvDomain.CurrentCellAddress; var a = dgvDomain.Rows[rowindex].DataBoundItem as DataRowView; dns.DomainName = a["Domain"] as string; dns.IP = a["IP"] as string; dns.Remark = new HostRemark(); SiteType type = (SiteType)a["SiteType"]; dns.Remark.SiteType = type; dns.Remark.Comment = a["Remark"] as string; if (((Image)a["QA1"]).Tag.ToString() == ENABLE) { dns.Remark.Target = TargetType.QA1; } else if (((Image)a["QA2"]).Tag.ToString() == ENABLE) { dns.Remark.Target = TargetType.QA2; } else if (((Image)a["QA3"]).Tag.ToString() == ENABLE) { dns.Remark.Target = TargetType.QA3; } else if (((Image)a["LOC"]).Tag.ToString() == ENABLE) { dns.Remark.Target = TargetType.LOCAL; } else { dns.Remark.Target = TargetType.DEFAULT; } dns.IsDisabled = (bool)a["IsDisabled"]; return dns; }