public void Initialize(IEnumerable <IApplication> apps, IEnumerable <IGesture> gestures, bool showIgnore = false, bool selecteAll = false) { if (showIgnore) { AppTabControl.SelectedIndex = 1; } var newUserAppList = new List <AppListItem>(); var newIgnoredApp = new List <AppListItem>(); foreach (var app in apps) { IgnoredApp ignoredApp = app as IgnoredApp; if (ignoredApp != null) { newIgnoredApp.Add(new AppListItem(ignoredApp, null, selecteAll)); } else { var ali = new AppListItem(app, null, selecteAll); ali.ActionItemList.ForEach(a => a.IsSelected = selecteAll); newUserAppList.Add(ali); } } var color = (Color)Application.Current.Resources["HighlightColor"]; GestureMap = gestures.ToDictionary(g => g.Name, g => new GestureItem() { Gesture = g, GestureImage = GestureImage.CreateImage(g.PointPatterns, new Size(56, 56), color), }); UserAppList = newUserAppList; IgnoredAppList = newIgnoredApp; }
public void Initialize(IEnumerable <IApplication> apps, IEnumerable <IGesture> gestures, bool showIgnore = false, bool selecteAll = false) { if (showIgnore) { AppTabControl.SelectedIndex = 1; } var newUserAppList = new List <AppListItem>(); var newIgnoredApp = new List <AppListItem>(); foreach (var app in apps) { IgnoredApp ignoredApp = app as IgnoredApp; if (ignoredApp != null) { newIgnoredApp.Add(new AppListItem(ignoredApp, null, selecteAll)); } else { var ali = new AppListItem(app, null, selecteAll); ali.ActionItemList.ForEach(a => a.IsSelected = selecteAll); newUserAppList.Add(ali); } } GestureMap = gestures.ToDictionary(g => g.Name); UserAppList = newUserAppList; IgnoredAppList = newIgnoredApp; }
/// <summary> /// 啟用/停用 APP /// </summary> /// <returns></returns> public TResult <bool> EnableOrDisableApp(AppListItem appListItem) { //UI 畫面 是啟用 就是 反向 string status = appListItem.Status ? AppStatus.Disable : AppStatus.Enable; if (status == AppStatus.Enable && !string.IsNullOrEmpty(appListItem.OSType)) { //先檢查 有無其他版本啟用 不包含自己 WisAppOs wisAppOs = _appListService.CheckAppOsStatus(appListItem.AppID, appListItem.OSType == "IOS" ? 1 : 2); if (wisAppOs != null && wisAppOs.AppOSID != Convert.ToInt32(appListItem.AppOSID)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "已有其本版已啟用!")); } } bool updated = _appListService.EnableOrDisableApp(appListItem.AppOSID, status); if (updated) { return(TResult <bool> .OK(true, "OK")); } else { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "updated fail!")); } }
/// <summary> /// 如果資料 只新增 AppList 需刪除 AppID 就可 /// 如果資料 新增到 AppOS 需刪除 AppOSID /// </summary> /// <param name="appListItem"></param> /// <returns></returns> public TResult <bool> DeleteApp(AppListItem appListItem) { bool deleted = false; if (!string.IsNullOrEmpty(appListItem.AppOSID)) { //有值 代表需刪除 AppOS 就可以 deleted = _appListService.DeleteAppOs(appListItem.AppOSID); } else { //無值 代表 只新增 AppList 階段 需刪除 AppID 就可 deleted = _appListService.DeleteApp(appListItem.AppID); } if (deleted) { return(TResult <bool> .OK(true, "OK")); } else { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "delete fail!")); } }
private async void Grid_Tapped(object sender, TappedRoutedEventArgs e) { AppListItem item = (AppListItem)appListControl.SelectedItem; if (item != null) { if (item.PackageFullName.Contains("AppClock")) { this.Frame.Navigate(typeof(AppClock)); } else if (item.PackageFullName.Contains("ConnectMainPackage")) { this.Frame.Navigate(typeof(ConnectMainPackage)); } else if (item.PackageFullName.Contains("Shutdown")) { this.Frame.Navigate(typeof(Shutdown)); } else if (item.PackageFullName.Contains("Camera2")) { StopGpio(); this.Frame.Navigate(typeof(Camera2)); } else if (item.PackageFullName.Contains("AudioRecord")) { this.Frame.Navigate(typeof(AudioRecord)); } else if (item.PackageFullName.Contains("MediaPlayer")) { this.Frame.Navigate(typeof(MediaPlayer)); } else if (item.PackageFullName.Contains("Accelerometer")) { this.Frame.Navigate(typeof(Accelerometer)); } /* * else if (item.PackageFullName.Contains("SensorCompass")) * { * this.Frame.Navigate(typeof(SensorCompass)); * } */ else if (item.PackageFullName.Contains("SensorGyrometer")) { this.Frame.Navigate(typeof(SensorGyrometer)); } else if (item.PackageFullName.Contains("Vibrator")) { this.Frame.Navigate(typeof(Vibrator)); } else if (item.PackageFullName.Contains("NFCTest")) { this.Frame.Navigate(typeof(NFCTest)); } //linda 0511 add wificonnectFromFile else if (item.PackageFullName.Contains("WifiConnectFromFile")) { this.Frame.Navigate(typeof(WifiConnectFromFile)); }//linda 0511 add wificonnectFromFile else if (item.PackageFullName.Contains("Location2")) { this.Frame.Navigate(typeof(Location2)); } /* * else if (item.PackageFullName.Contains("Map")) * { * this.Frame.Navigate(typeof(Map)); * } * * else if (item.PackageFullName.Contains("autotest")) * { * this.Frame.Navigate(typeof(autotest)); * } */ else if (item.PackageFullName.Contains("Setting")) { this.Frame.Navigate(typeof(Setting)); } else if (item.PackageFullName.Contains("DeviceContrl")) { this.Frame.Navigate(typeof(DeviceContrl)); } else if (item.PackageFullName.Contains("ShowMessage")) { this.Frame.Navigate(typeof(ShowMessage)); } else if (item.PackageFullName.Contains("About")) { this.Frame.Navigate(typeof(about)); } else if (item.PackageFullName.Contains("Flashlight")) { //if(openStatus ==0) //this.Frame.Navigate(typeof(FlashLight), flashPin112); //else this.Frame.Navigate(typeof(FlashLight), null); } else if (item.PackageFullName.Contains("AS7000HRM")) { this.Frame.Navigate(typeof(AS7000HRM)); } else { await item.AppEntry.LaunchAsync(); } //Unable to cast object of type 'Windows.ApplicationModel.Package' to type 'Windows.ApplicationModel.IPackageWithMetadata'. } }
public void SetUp() { #region Initial fake data of constructor _configContext = new ConfigContext { McpDb = "Data Source=10.37.36.195;Initial Catalog=MCPDev;uid=gary;pwd=Unsoul418!;", UploadPath = "C:/AppOs", ImageEndPoint = "http://localhost:53322/app", IosDownloadAddress = "itms-services://?action=download-manifest&url=" }; _appList = new List <AppListItem> { new AppListItem { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = "22", Status = true, CompanyApp = true, IsTop = true, AppName = "Test AppName", PackageName = "com.wistron.portalapp.dev", Development = "MCP development", CreateDT = DateTime.Now, OSType = "IOS", Version = "1.0.0", FileName = "Portal 2.0_20201022(Dev 0.2.3).apk", FilePath = "ITSM/IOS/Install/23eb89786e364260ae789d0ec433d724.plist" } }; _appListItem = new AppListItem { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = "22", Status = false, CompanyApp = true, IsTop = true, AppName = "Test AppName", PackageName = "com.wistron.portalapp.dev", Development = "MCP development", CreateDT = DateTime.Now, OSType = "IOS", Version = "1.0.0", FileName = "Portal 2.0_20201022(Dev 0.2.3).apk", FilePath = "ITSM/IOS/Install/23eb89786e364260ae789d0ec433d724.plist" }; _alreadyEnabled = new WisAppOs { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = 22, OSType = 1 }; //fake service _appListService = Substitute.For <IAppListService>(); _uploadFileService = Substitute.For <IUploadFileService>(); _mapper = Substitute.For <IMapper>(); _authService = Substitute.For <IAuthService>(); #endregion _targetObj = new AppBiz(_configContext, _appListService, _uploadFileService, _mapper, _authService); }
/// <summary> /// 因實體檔案 目前已 dev server C:/AppOs 路徑下為主 所以再本機 測試 會有無法刪除檔案情形 /// </summary> /// <param name="appListItem"></param> /// <returns></returns> public TResult <bool> DeleteFile(AppListItem appListItem) { bool deleted = false; if (string.IsNullOrEmpty(appListItem.AppOSID)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "無法刪除實體檔案 因為 AppOsId 為空值")); } if (string.IsNullOrEmpty(appListItem.FilePath)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "無實體安裝檔案")); } //IOS 刪除檔案 if (appListItem.OSType == "IOS") { //Plist 檔案 string filePath = $"{_configContext.UploadPath}/{appListItem.FilePath}"; //ipa 檔案 string fileName = $"{_configContext.UploadPath}/{appListItem.FileName}"; if (!File.Exists(filePath)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, " 無實體安裝Plist路徑檔案")); } if (!File.Exists(fileName)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, " 無實體安裝ipa路徑檔案")); } //刪除實體檔案 File.Delete(filePath); File.Delete(fileName); } //Android 刪除檔案 if (appListItem.OSType == "Android") { //apk 檔案 Android filePath 為 .apk 檔案路徑 fileName 為原.apk 黨案名稱 string filePath = $"{_configContext.UploadPath}/{appListItem.FilePath}"; if (!File.Exists(filePath)) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, " 無實體安裝apk路徑檔案")); } //刪除實體檔案 File.Delete(filePath); } //DB 更新 deleted = _appListService.DeleteAppFilePath(appListItem.AppOSID); if (deleted) { return(TResult <bool> .OK(true, "OK")); } else { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "再刪除資料庫 欄位 FilePath出現錯誤")); } }