/// <summary> /// 添加节点或更新节点 /// </summary> /// <param name="directoryName">目录名称</param> /// <param name="url">API地址</param> /// <param name="ip">IP地址</param> /// <param name="description">描述</param> /// <param name="weight">权重</param> /// <param name="status">状态</param> /// <param name="directoryId">所属目录</param> public string Add(string directoryName, string url, string ip, string description, int weight, int status,string[] apiList) { var directory = Model.RepositoryRegistry.Directory.FindBy(directoryName); if (directory == null) { return "目录不存在"; } var directoryInfo = new Model.DirectoryInfo(directory.Id, directory.Name); var node = new Model.Node(directoryInfo); node.Description = description; node.Ip = ip; node.Url = url; node.Weight = weight; node.Status = (Model.NodeStatus)status; if (node.Validate()) { Model.RepositoryRegistry.Node.Add(node); var nodes = Model.RepositoryRegistry.Node.Select(directory.Id); this.PublishEvent("Add", new NodeDomainEvent(nodes.Select(m => m.Convert()).ToList())); } this.PublishEvent("Add", new UpdateApiDomainEvent(directory.Id, apiList)); if (node.GetBrokenRules().Count > 0) { return node.GetBrokenRules()[0].Description; } return string.Empty; }
/// <summary> /// 添加节点或更新节点 /// </summary> /// <param name="directoryName">目录名称</param> /// <param name="url">API地址</param> /// <param name="ip">IP地址</param> /// <param name="description">描述</param> /// <param name="weight">权重</param> /// <param name="status">状态</param> /// <param name="directoryId">所属目录</param> public string Add(string directoryName, string url, string ip, string description, int weight, int status, string[] apiList) { var directory = Model.RepositoryRegistry.Directory.FindBy(directoryName); if (directory == null) { return("目录不存在"); } var directoryInfo = new Model.DirectoryInfo(directory.Id, directory.Name); var node = new Model.Node(directoryInfo); node.Description = description; node.Ip = ip; node.Url = url; node.Weight = weight; node.Status = (Model.NodeStatus)status; if (node.Validate()) { Model.RepositoryRegistry.Node.Add(node); var nodes = Model.RepositoryRegistry.Node.Select(directory.Id); this.PublishEvent("Add", new NodeDomainEvent(nodes.Select(m => m.Convert()).ToList())); } this.PublishEvent("Add", new UpdateApiDomainEvent(directory.Id, apiList)); if (node.GetBrokenRules().Count > 0) { return(node.GetBrokenRules()[0].Description); } return(string.Empty); }
public void test_add() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); var actual = Model.RepositoryRegistry.Node.FindBy(n.Id); NodeAssert(n, actual); }
public void test_add() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); var actual = Model.RepositoryRegistry.Node.FindBy(n.Id); NodeAssert(n, actual); }
public void FindByIdsTest() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.Node n2 = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); Model.RepositoryRegistry.Node.Add(n2); var list = Model.RepositoryRegistry.Node.FindByIds(new int[2] { n.Id, n2.Id }); Assert.IsTrue(list.Count() > 0); }
public void FindByIdsTest() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.Node n2 = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); Model.RepositoryRegistry.Node.Add(n2); var list = Model.RepositoryRegistry.Node.FindByIds(new int[2] { n.Id, n2.Id }); Assert.IsTrue(list.Count() > 0); }
public void test_update() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); n.Ip = "111"; n.Url = "url"; Model.RepositoryRegistry.Node.Update(n); var actual = Model.RepositoryRegistry.Node.FindBy(n.Id); NodeAssert(n, actual); }
public void test_update() { Model.DirectoryInfo d = new Model.DirectoryInfo(111, "bbb"); Model.Node n = new Model.Node(d); Model.RepositoryRegistry.Node.Add(n); n.Ip = "111"; n.Url = "url"; Model.RepositoryRegistry.Node.Update(n); var actual = Model.RepositoryRegistry.Node.FindBy(n.Id); NodeAssert(n, actual); }
private Model.Node SelectConvert(Model.Node n, Model.DirectoryInfo dir) { propertyHelper.SetValue(m => m.DirectoryInfo, n, dir); return(n); }