/// <summary> /// key:zoneName*pointName*appID,value:app /// </summary> /// <param name="hallInfo"></param> /// <returns></returns> private static Dictionary <string, Item> CreateAppDic(Model.HallInfo hallInfo) { Dictionary <string, Item> dic = new Dictionary <string, Item>(); if (hallInfo == null) { return(dic); } var appList = from zs in hallInfo.zoneList from ps in zs.PointList from items in ps.Items where items.Type == MainApp.Model.ItemType.App.ToString() select items; try { foreach (var app in appList) { dic.Add(app.ID, app); } } catch//null { } return(dic); }
internal static void UploadUpdatedItems(Model.HallInfo hallInfo) { Dictionary <string, Item> newDic = CreateAppDic(hallInfo); Dictionary <string, Item> publishedDic = CreateAppDic(HallHelper.PublishedHallInfo); foreach (var k in newDic.Keys) { if (!publishedDic.Keys.Contains(k) || newDic[k].Version != publishedDic[k].Version)//new or updated app { string appID = k; string pointName = FindPointName(appID, hallInfo); string zoneName = FindZoneName(appID, hallInfo); string dirName = string.Format("{0}_{1}_{2}", zoneName, pointName, appID); var fileName = newDic[k].Arg.Split('*')[1]; var fileConfigName = newDic[k].Arg.Split('*')[2]; if (fileName != "" && fileConfigName != "")//upload file&config { AppHelper.UploadPadFileandConfig(dirName, fileName, fileConfigName); } else if (fileName != "")//upload file without config { AppHelper.UploadPadFile(dirName, fileName); } } } }