private void AddNewVersionApp(ReformApp reformApp, AppListItem app, AppProject appProject) { try { var appitems = AppStoreUIService.GetAppsFromAppList <AppProject>(appProject.Id); foreach (var a in appitems) { var versions = RedisService.GetAllSubModelIdsByType <App, AppVersion>(a.Id).ToIdsWithNoPrefix <AppVersion>(); if (!versions.Contains(app.versionCode.ToString())) { reformApp.NewVersionCount = AddNewVersionForApp(reformApp.NewVersionCount, app, a); } else { reformApp.DupVersionCount++; LogHelper.WriteInfo(string.Format("Already has version {1} for app name {0}", app.name, app.versionCode), ConsoleColor.DarkYellow); } } } catch (Exception ex) { LogHelper.WriteError(ex.Message + ex.StackTrace); } }
public void SetupTagsByCategoryId(QihooAppStoreCompleteApp appItem, AppProject appProject, App app) { var categoryName = GetCategoryNameById(appItem.CategoryId); switch (appItem.CategoryPId) { case "1": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_SOFTWARE, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_SOFTWARE, appProject.Id); break; case "2": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_GAME, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_GAMES, appProject.Id); break; default: break; } AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_LATEST, appProject.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_LIVE, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_VALID, app.Id); AppStoreUIService.AddTagForApp(categoryName, app.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_FROM_QIHOO, appProject.Id); AppStoreUIService.AddTagForAppProject(categoryName, appProject.Id); }
private Simulation() { AppProject app = AppProject.GetInstance(); IShortBranchTreeGenerator graph = new DigraphBuilder(); graph.buildRoutes(); if (app.VccToGnd == null) { this.VccToGndView = graph.getVccToGndBranch(); } else { this.VccToGndView = app.VccToGnd; } if (app.GndToCF == null) { this.CFToGndView = graph.getCFToGndBranch(); } else { this.CFToGndView = app.GndToCF; } if (app.VccToCF == null) { this.CFToVccView = graph.getVccToCFBranch(); } else { this.CFToVccView = app.VccToCF; } load(); }
private ISet <TNode> getPowedNodes() { ISet <TNode> cfs = new HashSet <TNode>(); ISet <string> labels = new HashSet <string>(); Action <INotifyComponentChanged> action = p => { labels.Add(p.getHeadNode().Equal); if (p.getTailNode() != null) { labels.Add(p.getTailNode().Equal); } }; addPowedLabels(vccToGndRoutes, action); addPowedLabels(cfToGndRoutes, action); addPowedLabels(cfToVccRoutes, action); AppProject app = AppProject.GetInstance(); foreach (string label in labels) { if (label != "GND") { var query = app.Equals[label].Where(p => p.PartType.Contains("接口连接器") && p.TNType == TerminalType.Normal); foreach (var nd in query) { cfs.Add(nd); } } } return(cfs); }
private void showRoute() { IsDoubleClick = false; AppProject pro = AppProject.GetInstance(); TestBranch br = null; if (source.Table.TableName == "地线导通测试") { br = pro.getGndBranch(SelectedIndex); } else if (source.Table.TableName == "110V导通测试") { br = pro.getVccBranch(SelectedIndex); } else if (source.Table.TableName == "普通导通测试") { br = pro.getNormalBranch(SelectedIndex); } else if (source.Table.TableName == "测试回路") { br = pro.getLoopBranch(SelectedIndex); } else if (source.Table.TableName == "逻辑测试") { br = pro.getLogicBranch(SelectedIndex); } if (br != null) { List <UIElement> elements = BranchFactory.convertToUIElement(br.Branch); Messenger.Default.Send <List <UIElement> >(elements, "ShowBranchPicture"); } Console.WriteLine(source.Table.TableName); }
/// <summary> /// 初始化搜索的起点和终点 /// 并标记所有的Vcc起点 /// </summary> private void init() { vccNodes = AppProject.GetSetTerminal(p => p.Type == NamesManage.Positive, nodes); gndNodes = AppProject.GetSetTerminal(p => p.Type == NamesManage.Negative, nodes); nodes.ForEach(p => p.HasIncluded = false); vccNodes.ForEach(p => p.HasIncluded = true); }
public void SetupTags(BaiduAppDetail appItem, AppProject appProject, App app) { if (!string.IsNullOrEmpty(appItem.Type)) { switch (appItem.Type) { case "soft": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_SOFTWARE, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_SOFTWARE, appProject.Id); break; case "game": AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_GAME, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_GAMES, appProject.Id); break; default: break; } AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_LATEST, appProject.Id); AppStoreUIService.AddTagForAppProject(appItem.CategoryName, appProject.Id); AppStoreUIService.AddTagForApp(appItem.CategoryName, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_LIVE, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_VALID, app.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_FROM_BAIDU, appProject.Id); } }
public AppProject SetupAppList(AppProject appProject, out App app) { appProject = new AppProject(); var appProjectId = RedisService.Add <AppProject>(appProject); app = new App(); var appId = RedisService.Add <App>(app); AppSettingsForAppList appSetting = new AppSettingsForAppList() { Id = appId, CreateDateTime = DateTime.Now }; CustomProperty prop = new CustomProperty() { Id = AppConfigKey.OS_ATTR_ID, Value = AppConfigKey.OS_ATTR_VALUE }; RedisService.AddCustomPropertyFor <App, CustomProperty>(app.Id, prop); var lcdDetails = AppStoreUIService.GetElementDetailList(AppConfigKey.LCD_ATTR_ID); foreach (var lcd in lcdDetails) { SetLCD(app.Id, lcd.Value.ToString()); } AppStoreUIService.SetAppForAppList <AppProject>(appProjectId, appSetting); return(appProject); }
/// <summary> /// 列表显示所有的等效节点 /// </summary> private void showLabels(string label) { ISet <TNode> nodes = AppProject.GetInstance().Equals[label]; Messenger.Default.Send <Tuple <string, DataView> >( Tuple.Create <string, DataView>(label, addEqualCollection(nodes, label)) , "DisplayTestBranch"); }
public CFDisplay() { cfs = new Dictionary <TNode, CFPair>(); AppProject app = AppProject.GetInstance(); foreach (TNode node in app.CFNodes) { cfs[node] = new CFPair(node); } }
public App SetupApp(BaiduAppDetail appItem, AppProject appProject, App app) { var originalApp = CloneHelper.DeepClone <App>(app); var originalApp2 = RedisService.Get <App>(app.Id); app.AppNo = appProject.AppNo; app.AppProjectId = appProject.Id; app.UseGreaterVersion = true; ClientImageInfo lg = new ClientImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(LogoDirRoot, GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl))), TypeId = AppConfigKey.CLIENT_IMAGE_TYPE_ID }; RedisService.Add <ClientImageInfo>(lg); app.ClientLogos = new List <ClientImageInfo> { lg }; ImageInfo lg2 = new ImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(LogoDirRoot, GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl))) }; RedisService.Add <ImageInfo>(lg2); app.Logo = lg2; app.Name = appItem.Name; app.OrderNumber = appItem.Score; app.DownloadTimes = appItem.Score; app.Status = 1; var screenShotlist = GetScreenShotlist(appItem); foreach (var s in screenShotlist) { ImageInfo ss = new ImageInfo { BelongsToAppId = app.Id, FileUrl = Path.Combine(ScreenshotDirRoot, GetFileNameFromUri(GetDownloadUrl(s))) }; RedisService.Add <ImageInfo>(ss); app.ScreenShot.Add(ss); } app.PlatformType = AppConfigKey.PLATFORM_TYPE_ID.ConfigValue().ToInt32(); app.Summary = appItem.Summary.Replace("<br/>", string.Empty).Replace("<br>", string.Empty); var changeLog = appItem.ChangeLog.Replace("<br/>", string.Empty).Replace("<br>", string.Empty).Replace("NULL", string.Empty); app.Summary = string.Format("{0}\r\n{1}", app.Summary, changeLog); RedisService.UpdateWithRebuildIndex <App>(originalApp2, app); return(app); }
private void alignBranchNode(ISet <ShortBranchNode> expandNodes, BranchView view) { foreach (ShortBranchNode node in view.LabelToBranch.Values) { if (node == null) { continue; } var filterNodes = expandNodes.Where(p => node.EndName == p.EndName).ToList(); if (filterNodes.Count == 0 || filterNodes.Count == 1) { continue; } double maxWidth = double.MinValue; foreach (ShortBranchNode br in filterNodes) { if (br.Uis[br.Uis.Count - 1].Pos.X > maxWidth) { maxWidth = br.Uis[br.Uis.Count - 1].Pos.X; } } foreach (ShortBranchNode br in filterNodes) { double start = br.Uis[br.Uis.Count - 1].Pos.X; TNode head = br.Uis[br.Uis.Count - 1].Info.getHeadNode(); TNode tail = br.Uis[br.Uis.Count - 1].Info.getTailNode(); for (double x = start; x < maxWidth; x++) { INotifyComponentChanged info = new ComponentViewModel(Tuple.Create <TNode, TNode>(head, tail), ComponentType.Blank); TNodeUI ui = new TNodeUI(info, false, view.Observer); ui.Pos = new Point(x + 1, br.Uis[br.Uis.Count - 1].Pos.Y); br.Uis.Add(ui); } moveRight(br.Nodes, maxWidth - start); } double maxy = filterNodes.Max(p => p.Uis[p.Uis.Count - 1].Pos.Y); double miny = filterNodes.Min(p => p.Uis[p.Uis.Count - 1].Pos.Y); TNode tm = AppProject.GetInstance().Equals[node.EndName].First(); INotifyComponentChanged _info = new ComponentViewModel(Tuple.Create <TNode, TNode>(tm, null), ComponentType.Blank); TNodeUI nui = new TNodeUI(_info, false, view.Observer); nui.Pos = new Point(node.Uis[node.Uis.Count - 1].Pos.X + 1, node.Uis[node.Uis.Count - 1].Pos.Y); List <TNodeUI> uis = new List <TNodeUI>() { nui }; ShortBranchNode nnode = new ShortBranchNode(uis, node, node.EndName); foreach (ShortBranchNode nd in node.Nodes) { nnode.Nodes.Add(nd); } moveRight(node.Nodes, 1); node.Nodes.Clear(); node.Nodes.Add(nnode); } }
public JsonResult SaveProject([FromBody] AppProject data) { //TODO add security tokens RequestResult result = new RequestResult(); //TODO check if data is valid HttpContext.Session.Set("AppProjectData", data); result.Error = 0; return(new JsonResult(result)); }
public AppProject SetupAppProject <T>(T appItem, AppProject appProject) where T : QihooAppStoreApp { var originalAppProject = CloneHelper.DeepClone <AppProject>(appProject); appProject.AppNo = "qh360_" + appItem.Id; appProject.Creator = appItem.Developer; appProject.LogoFile = GetFileNameFromUri(appItem.IconURL); appProject.Name = appItem.Name; appProject.PackageName = appItem.PackageName; appProject.Rate = appItem.Rating.ToInt32(); RedisService.UpdateWithRebuildIndex <AppProject>(originalAppProject, appProject); return(appProject); }
private TablikProject LoadProject(string projectCode, string projectSuffix, params string[] modules) { TestLib.CopyDir("Tablik", projectCode, projectCode + projectSuffix); var app = new App("Constructor", new TestIndicator(), true); var proj = new AppProject(app, TestLib.TestRunDir + @"Tablik\" + projectCode + projectSuffix); var tablik = proj.Tablik; tablik.LoadAllSignals(); foreach (var module in modules) { tablik.AddModule(module); } return(tablik); }
public AppProject SetupAppProject(BaiduAppDetail appItem, AppProject appProject) { var originalAppProject = CloneHelper.DeepClone <AppProject>(appProject); appProject.AppNo = "baidu_" + appItem.Id; appProject.Creator = appItem.SourceName; appProject.LogoFile = GetFileNameFromUri(GetDownloadUrl(appItem.IconUrl)); appProject.Name = appItem.Name; appProject.PackageName = appItem.PackageName; //appProject.Rate = appItem.Rating.ToInt32(); RedisService.UpdateWithRebuildIndex <AppProject>(originalAppProject, appProject); return(appProject); }
/// <summary> /// 整理出可测的支路 /// </summary> private void loadTestBranch() { List <LogicCircuit> testBranch = new List <LogicCircuit>(); AppProject app = AppProject.GetInstance(); foreach (var route in cfToVccRoutes) { bool needTest = route.Exists(p => p.CptType == ViewModel.ComponentType.ContactOpen); if (needTest) { testBranch.Add(new LogicCircuit(route, route[route.Count - 1].getHeadNode(), route[0].getHeadNode().Equal)); } } foreach (var route in vccToGndRoutes) { var cpt = route.FirstOrDefault(p => p.CptType == ViewModel.ComponentType.ContactOpen); if (cpt != null) { int index = route.IndexOf(cpt); for (int i = index + 1; i < route.Count; i++) { TNode cf = app.IsCFEqual(route[i].getHeadNode().Equal); if (cf != null && cf.Equal != "GND") { testBranch.Add(new LogicCircuit(route.GetRange(0, i), cf, route[0].getHeadNode().Equal)); break; } } } } foreach (var route in cfToGndRoutes) { var cpt = route.LastOrDefault(p => p.CptType == ViewModel.ComponentType.ContactOpen); if (cpt != null) { int index = route.IndexOf(cpt); for (int i = index; i >= 0; i--) { TNode cf = app.IsCFEqual(route[i].getHeadNode().Equal); if (cf != null && cf.Equal != "GND") { testBranch.Add(new LogicCircuit(route.GetRange(i, route.Count - i), cf, route[route.Count - 1].getHeadNode().Equal)); break; } } } } this.testBranch = testBranch.AsReadOnly(); }
private bool CanPowDown(string label) { if (string.IsNullOrEmpty(label)) { return(false); } else { ISet <string> pows = Simulation.getInstance().getPows(); HashSet <TNode> nodes = (HashSet <TNode>)AppProject.GetInstance().Equals[label]; return(ModeManager.getAuthority().canOperate() && (label.Equals("DC110V") || nodes.Any(p => p.PartType.StartsWith("接口连接器"))) && pows.Contains(label)); } }
public void AppUpdate(AppProject appProject) { var apps = AppStoreUIService.GetAppsFromAppList <AppProject>(appProject.Id); if (apps != null) { foreach (var app in apps) { var originalApp = RedisService.Get <TargetApp>(app.Id); originalApp.CategoryId = "1"; originalApp.CategoryName = "游戏"; originalApp.NameLowCase = originalApp.Name.ToLower(); RedisService.UpdateWithRebuildIndex <TargetApp>(originalApp, originalApp); } } }
public static AppProject FromBaseObject(BaseObject baseObj) { if (baseObj == null || baseObj.NativeObject == IntPtr.Zero) { return(null); } AppProject obj = baseObj as AppProject; if (object.Equals(obj, null)) { obj = new AppProject(CreatedWhenConstruct.CWC_NotToCreate); obj.BindNativeObject(baseObj.NativeObject, "AppProject"); obj.IncreaseCast(); } return(obj); }
public AppProject AddNewApp(QihooAppStoreApp appItem, AppProject appProject) { try { var app = new App(); appProject = SetupAppList(appProject, out app); appProject = SetupAppProject(appItem, appProject); app = SetupApp(appItem, appProject, app); SetupTags(appItem, appProject, app); } catch (Exception ex) { LogHelper.WriteError(ex.Message + ex.StackTrace); AppProjectDelete(appProject.Id); LogHelper.WriteInfo(string.Format("AppProjectId: {0} is delete.", appProject.Id)); } return(appProject); }
public AppProject AddNewApp(BaiduAppDetail appItem, AppProject appProject, string appfileName) { try { var app = new App(); appProject = SetupAppList(appProject, out app); appProject = SetupAppProject(appItem, appProject); app = SetupApp(appItem, appProject, app); SetupAppVersion(appItem, app, appfileName); SetupTags(appItem, appProject, app); } catch (Exception ex) { LogHelper.WriteError(ex.Message + ex.StackTrace); AppProjectDelete(appProject.Id); LogHelper.WriteInfo(string.Format("AppProjectId: {0} is delete.", appProject.Id)); } return(appProject); }
public void SetupTagsByCategoryName(QihooAppStoreApp appItem, AppProject appProject, App app) { if (!string.IsNullOrEmpty(appItem.CategoryName)) { if (appItem.CategoryName.StartsWith(AppConfigKey.CATEGORY_SOFT_NAME, StringComparison.OrdinalIgnoreCase)) { AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_SOFTWARE, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_SOFTWARE, appProject.Id); } else { AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_GAME, appProject.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_TOT_10_GAMES, appProject.Id); } AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_LATEST, appProject.Id); AppStoreUIService.AddTagForAppProject(GetCategoryTagName(appItem.CategoryName), appProject.Id); AppStoreUIService.AddTagForApp(GetCategoryTagName(appItem.CategoryName), app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_LIVE, app.Id); AppStoreUIService.AddTagForApp(AppConfigKey.TAG_VALID, app.Id); AppStoreUIService.AddTagForAppProject(AppConfigKey.TAG_FROM_QIHOO, appProject.Id); } }
public JsonResult GetProject() { RequestResult result = new RequestResult(); AppProject projectdata = HttpContext.Session.Get <AppProject>("AppProjectData"); result.Error = 0; if (projectdata != null) { //result.Error = 0; result.Data = projectdata; } else { result.Data = new AppProject { title = "", description = "", fontColor = "rgba(195, 0, 47, 1)", fontSize10Em = 10 }; //result.Error = 1; //result.ErrorMessage = "No data found."; } return(new JsonResult(result)); }
/// <summary> /// 去除掉已经在VccToGnd中出现过的支路 /// </summary> private ISet <ShortBranchNode> removeRedundentRoute(ISet <ShortBranchNode> nodes, ISet <ShortBranchNode> total) { List <List <ShortBranchNode> > routes = getAllRoutes(nodes); AppProject app = AppProject.GetInstance(); if (app.VccToGnd == null) { app.VccToGnd = getVccToGndBranch(); } ISet <ShortBranchNode> allNodes = expandBranch(app.VccToGnd.Nodes); ISet <INotifyComponentChanged> allcpts = new HashSet <INotifyComponentChanged>(); foreach (ShortBranchNode brNode in allNodes) { foreach (TNodeUI nd in brNode.Uis) { allcpts.Add(nd.Info); } } List <ShortBranchNode> bans = new List <ShortBranchNode>(); foreach (List <ShortBranchNode> rt in routes) { List <INotifyComponentChanged> infos = new List <INotifyComponentChanged>(); rt.ForEach(p => p.Uis.ForEach(ui => infos.Add(ui.Info))); infos.RemoveAt(infos.Count - 1); if (infos.All(p => allcpts.FirstOrDefault(cpt => ComponentViewModel.compare(cpt, p)) != null )) { bans.Add(rt[0]); rt.ForEach(p => total.Remove(p)); } } bans.ForEach(p => nodes.Remove(p)); return(nodes); }
internal LauncherProject(AppProject project) { _project = project; }
public BranchView getCFToGndBranch() { #region 将树状结构的节点放到一维集合中 BranchView rst = getNodes(gndNodes[0].Equal, label => label == "DC110V"); ISet <ShortBranchNode> brs = rst.Nodes; ShortBranchNode head = brs.First().Parent; ISet <ShortBranchNode> total = expandBranch(brs); #endregion #region 过滤出所有总负到测试点的通路 AppProject pro = AppProject.GetInstance(); ISet <string> remain = new HashSet <string>(); foreach (ShortBranchNode node in total) { if (node.Nodes.Count == 0) { bool mark = false; foreach (TNode tnode in pro.Equals[node.EndName]) { if (tnode.PartType.StartsWith("接口连接器")) { mark = true; break; } } if (mark) { ShortBranchNode tp = node; while (tp != null) { remain.Add(tp.EndName); tp = tp.Parent; } } } } //先把叶节点中末端是测试点的标注出来 bool next = true; while (next) { next = false; List <ShortBranchNode> temp = new List <ShortBranchNode>(); foreach (ShortBranchNode node in total) { if (node.Nodes.Count == 0) { bool mark = false; foreach (TNode tnode in pro.Equals[node.EndName]) { if (tnode.PartType.StartsWith("接口连接器")) { mark = true; if (!node.Uis[node.Uis.Count - 1].Info.isCFNode()) { INotifyComponentChanged info = new ComponentViewModel(Tuple.Create <TNode, TNode>(tnode, null), ComponentType.Terminal); node.Uis.Add(new TNodeUI(info, false, rst.Observer)); } break; } } if (!mark) { if (!remain.Contains(node.EndName)) { node.remove(); temp.Add(node); next = true; } else { ShortBranchNode tp = node; while (tp != null) { remain.Add(tp.EndName); tp = tp.Parent; } } } } } foreach (ShortBranchNode node in temp) { total.Remove(node); } } rst.Nodes = removeRedundentRoute(rst.Nodes, total);//去除冗余的支路 #endregion #region 为短支路树计算位置信息 ISet <ShortBranchNode> data = new HashSet <ShortBranchNode>(total.Where(p => p.Parent == head).ToList()); CalculatePosition(data, 0, 0); if (rst.Type) { alignBranchNode(total, rst); } rst.Nodes = data; #endregion rst.GraphType = GraphType.CFToGndGraph; rst.GraphName = "测试点至总负布线图"; return(rst); }
/// <summary> /// 获得从总正出发,总负截止的所有拼接支路 /// </summary> private BranchView getNodes(string headEqual, Func <string, bool> filter) { ComponentVMObserver _observer = new ComponentVMObserver(); AppProject pro = AppProject.GetInstance(); ((List <ShortBranch>)pro.Shorts).ForEach(p => p.HasIncluded = false); LinkedList <string> labels = new LinkedList <string>(); IDictionary <string, ShortBranchNode> allLabels = new Dictionary <string, ShortBranchNode>(); labels.AddLast(headEqual); ShortBranchNode head = new ShortBranchNode(null, null, headEqual); allLabels.Add(headEqual, head); #region 广度遍历得到短支路的树结构 while (labels.First != null) { string label = labels.First.Value; labels.RemoveFirst(); if (filter(label)) { continue; } TNodeUI item1 = null, item2 = null; foreach (ShortBranch br in pro.Shorts) { if (!br.HasIncluded) { if (br.HeadEqualNum == label || br.TailEqualNum == label) { // if (br.HeadEqualNum == "Net203" || br.TailEqualNum == "Net203") // { // // } List <TNodeUI> uis = new List <TNodeUI>(); List <TNode> brNodes = br.Branch; if (br.TailEqualNum == label) { brNodes.Reverse(); } int i = 0; while (i < brNodes.Count) { TNodeUI ui = null; if (i + 1 < brNodes.Count && brNodes[i].Brother == brNodes[i + 1]) { ui = BranchFactory.convert(brNodes[i], brNodes[i + 1], _observer); if (i == 0) { item2 = ui; } uis.Add(ui); i += 2; } else { ui = BranchFactory.convert(brNodes[i], null, _observer); if (i == 0) { item2 = ui; } uis.Add(ui); i++; } if (ui != null && item1 == null) { item1 = ui; } } ShortBranchNode bnode = new ShortBranchNode(uis, allLabels[label], brNodes[brNodes.Count - 1].Equal); allLabels[label].Nodes.Add(bnode); if (!allLabels.ContainsKey(brNodes[brNodes.Count - 1].Equal)) { allLabels.Add(brNodes[brNodes.Count - 1].Equal, bnode); labels.AddLast(brNodes[brNodes.Count - 1].Equal); } br.HasIncluded = true; } } } } #endregion #region 返回顶节点 // ISet<ShortBranchNode> branchNodes = new HashSet<ShortBranchNode>(); // foreach (ShortBranchNode brNode in allLabels.Values) // { // if (brNode.Parent == head) // branchNodes.Add(brNode); // } return(new BranchView(allLabels, head.Nodes, _observer)); #endregion }
/// <summary> /// 建立所有非重复路径 /// </summary> public void buildRoutes() { nodes = AppProject.GetInstance().Nodes; init(); }
public void SetupTags(QihooAppStoreCompleteApp appItem, AppProject appProject, App app) { SetupTagsByCategoryId(appItem, appProject, app); }