public bool Insert(WisAppList wisAppList) { string sql = @"INSERT INTO [dbo].[WIS_AppList] ([AppID] ,[AppName] ,[AppNameEn] ,[Development] ,[Email] ,[Category] ,[DescriptionCh] ,[DescriptionEn] ,[LastUpdateUser] ,[LastUpdateDT] ,[CreateDT] ,[IsTop] ,[CompanyApp] ,[Delflag] ,[AppOpen] ,[AppUserGroup]) VALUES (@AppID, @AppName, @AppNameEn, @Development, @Email, @Category, @DescriptionCh, @DescriptionEn, @LastUpdateUser, @LastUpdateDT, @CreateDT, @IsTop, @CompanyApp, @Delflag, @AppOpen, @AppUserGroup)"; try { int inserted = _Connection.Execute(sql, wisAppList, _Transaction, commandType: CommandType.Text); if (inserted == 1) { return(true); } else { return(false); } } catch (Exception ex) { LogHelper.WriteException(ex, MethodBase.GetCurrentMethod(), wisAppList); var exception = new Exception("WisAppListTable:::Insert()", ex); throw exception; } }
/// <summary> /// /// </summary> /// <param name="wisAppList"></param> /// <param name="wisAppUserList">更新授權名單 清單</param> /// <returns></returns> public bool ModifyAppName(WisAppList wisAppList, List <WisAppUserList> wisAppUserList) { bool isModified; using (IMcpDataBaseRepository Db = new McpDataBaseRepository(_connectionProvider)) { isModified = Db.WisAppListTable.Update(wisAppList); Db.WisAppUserListTable.DeleteByAppID(wisAppList.AppID); Db.WisAppUserListTable.Insert(wisAppUserList); Db.Commit(); } return(isModified); }
public bool InsertAppName(WisAppList wisAppList, List <WisAppUserList> wisAppUserList) { bool inserted = false; using (IMcpDataBaseRepository Db = new McpDataBaseRepository(_connectionProvider)) { inserted = Db.WisAppListTable.Insert(wisAppList); Db.WisAppUserListTable.DeleteByAppID(wisAppList.AppID); Db.WisAppUserListTable.Insert(wisAppUserList); Db.Commit(); inserted = true; } return(inserted); }
public bool AppNameisExisted(string appname) { string sql = @"SELECT * FROM WIS_AppList WHERE AppName = @AppName AND Delflag = 0"; try { WisAppList wisAppList = _Connection.Query <WisAppList>(sql, new { AppName = appname }, _Transaction, commandType: CommandType.Text).FirstOrDefault(); if (wisAppList != null) { return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }
public bool Update(WisAppList wisAppList) { string sql = @"UPDATE WIS_AppList SET AppName = @AppName ,AppNameEn = @AppNameEn ,Development = @Development ,Email = @Email ,Category = @Category ,DescriptionCh = @DescriptionCh ,DescriptionEn = @DescriptionEn ,LastUpdateUser = @LastUpdateUser ,LastUpdateDT = @LastUpdateDT ,IsTop = @IsTop ,CompanyApp = @CompanyApp ,AppOpen = @AppOpen ,AppUserGroup = @AppUserGroup WHERE AppID = @AppID"; try { int isupdated = _Connection.Execute(sql, wisAppList, _Transaction, commandType: CommandType.Text); if (isupdated == 1) { return(true); } else { return(false); } } catch (Exception ex) { LogHelper.WriteException(ex, MethodBase.GetCurrentMethod(), wisAppList); var exception = new Exception("WisAppListTable:::Update()", ex); throw exception; } }
public bool AppNameisExisted(string appname) { string sql = @"SELECT * FROM WIS_AppList WHERE AppName = @AppName AND Delflag = 0"; try { WisAppList wisAppList = _Connection.Query <WisAppList>(sql, new { AppName = appname }, _Transaction, commandType: CommandType.Text).FirstOrDefault(); if (wisAppList != null) { return(true); } else { return(false); } } catch (Exception ex) { LogHelper.WriteException(ex, MethodBase.GetCurrentMethod(), appname); var exception = new Exception("WisAppListTable:::AppNameisExisted()", ex); throw exception; } }
public bool Update(WisAppList wisAppList) { string sql = @"UPDATE WIS_AppList SET AppName = @AppName ,AppNameEn = @AppNameEn ,Development = @Development ,Email = @Email ,Category = @Category ,DescriptionCh = @DescriptionCh ,DescriptionEn = @DescriptionEn ,LastUpdateUser = @LastUpdateUser ,LastUpdateDT = @LastUpdateDT ,IsTop = @IsTop ,CompanyApp = @CompanyApp ,AppOpen = @AppOpen ,AppUserGroup = @AppUserGroup WHERE AppID = @AppID"; try { int isupdated = _Connection.Execute(sql, wisAppList, _Transaction, commandType: CommandType.Text); if (isupdated == 1) { return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }
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://*****:*****@gmail.com", Category = "wistron_app", DescriptionCh = "Test", DescriptionEn = "Test", AppOpen = true, AppUserGroup = "", AppUserGroupName = "" }; _inSideOrOutSideApp = new List <InSideOrOutSideApp> { new InSideOrOutSideApp { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc1", AppName = "Test AppName1", CompanyApp = "Inside App", IsTopCount = 1 }, new InSideOrOutSideApp { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc2", AppName = "Test AppName2", CompanyApp = "Inside App", IsTopCount = 1 }, new InSideOrOutSideApp { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc3", AppName = "Test AppName3", CompanyApp = "Outside App", IsTopCount = 1 }, new InSideOrOutSideApp { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc4", AppName = "Test AppName4", CompanyApp = "Outside App", IsTopCount = 1 }, }; _wisApp = new WisAppList { AppName = "Test AppName", AppNameEn = "Test AppName", Development = "MCP Developer", Email = "*****@*****.**", Category = "wistron_app", DescriptionCh = "Test", DescriptionEn = "Test", AppUserGroup = "1,2" }; _wisDefineGroups = new List <WisDefineGroup> { new WisDefineGroup { GroupID = "1", GroupName = "ePaper", SelectGroup = "1", GroupInclude = "", SelectAccount = "2", AccountInclude = "9012016,9303064" }, new WisDefineGroup { GroupID = "2", GroupName = "WistronArk", SelectGroup = "1", GroupInclude = "8177818", SelectAccount = "1", AccountInclude = "10610056,10704054" } }; #endregion //fake service _appListService = Substitute.For <IAppListService>(); _uploadFileService = Substitute.For <IUploadFileService>(); _authService = Substitute.For <IAuthService>(); _targetObj = new AppBiz(_configContext, _appListService, _uploadFileService, _mapper, _authService); }
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://*****:*****@gmail.com", Category = "wistron App", DescriptionCh = "App說明-中文", DescriptionEn = "App說明-英文", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now, IsTop = true, CompanyApp = true, Delflag = false, AppOpen = true, AppUserGroup = "1, 2" }; _wisAppOs = new List <WisAppOs> { //以下為 IOS // Status 為啟用 new WisAppOs { AppOSID = 2, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", OSType = 1, Version = "1.0.1", PackageName = "com.wistron.portalapp.dev", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", Status = true, DescriptionCh = "版本更新 1.0.1", DescriptionEn = "The version is update 1.0.1", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now, DelFlag = false, FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", WebDownFlag = true, }, // Status 為不啟用 new WisAppOs { AppOSID = 3, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", OSType = 1, Version = "1.0.0", PackageName = "com.wistron.portalapp.dev", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", Status = false, DescriptionCh = "版本更新 1.0.0", DescriptionEn = "The version is update 1.0.0", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now, DelFlag = false, FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", WebDownFlag = true, }, //以下為 Android //Status 為啟用 new WisAppOs { AppOSID = 8, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", OSType = 2, Version = "1.0.1", PackageName = "com.wistron.portalapp.dev", FileName = "Portal 2.0_20201021(Dev 0.2.2).apk", Status = true, DescriptionCh = "版本更新 1.0.1", DescriptionEn = "The version is update 1.0.1", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now, DelFlag = false, FilePath = "PortalApp2.0/Android/Install/0.2.2-9e5f0b8dd1bf467096272cb1c41cca1d.apk", WebDownFlag = true, }, //Status 為不啟用 new WisAppOs { AppOSID = 9, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", OSType = 2, Version = "1.0.0", PackageName = "com.wistron.portalapp.dev", FileName = "Portal 2.0_20201021(Dev 0.2.2).apk", Status = false, DescriptionCh = "版本更新 1.0.0", DescriptionEn = "The version is update 1.0.0", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now, DelFlag = false, FilePath = "PortalApp2.0/Android/Install/0.2.2-9e5f0b8dd1bf467096272cb1c41cca1d.apk", WebDownFlag = true, } }; _wisAppPhoto = new List <WisAppPhoto> { new WisAppPhoto { AppPhotoID = 22, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOS = 1, FileNumber = 5, FileName = "024abd90fb4c49149156aff2d5fd99ac.png", FilePath = "PortalApp2.0/Android/Images/024abd90fb4c49149156aff2d5fd99ac.png", PhotoType = 1 // 1= Icon 圖片 2 = 一般圖片 }, new WisAppPhoto { AppPhotoID = 23, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOS = 2, FileNumber = 5, FileName = "398ce584d4304c518c0cf17128fd2001.png", FilePath = "PortalApp2.0/IOS/Images/398ce584d4304c518c0cf17128fd2001.png", PhotoType = 1 } }; _wisDefineGroup = new List <WisDefineGroup> { new WisDefineGroup { GroupID = "1", GroupName = "WZS All users", SelectGroup = "1", GroupInclude = "A33,A13,A10", SelectAccount = "1", AccountInclude = "10609123,200503036,2008L0323" }, new WisDefineGroup { GroupID = "2", GroupName = "ML10-Dept", SelectGroup = "2", GroupInclude = "ML1500,ML1400,ML1100", SelectAccount = "1", AccountInclude = "" } }; _wisAppOsOthers = new List <WisAppOsOther> { new WisAppOsOther { AppOtherID = 88, AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOsID = 2, Site = "WKS", OSType = 1, Version = "1.0.1", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", LastUpdateUser = "******", LastUpdateDT = DateTime.Now, CreateDT = DateTime.Now } }; _iosWisAppOsOthers = new List <WisAppOsOther>(); _androidWisAppOsOthers = new List <WisAppOsOther>(); _appOsInfo = new AppOsInfo { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = 2, OSType = DeviceType.Ios, AppName = "Test AppName", AppNameEn = "Test AppName", PackageName = "com.wistron.portalapp.dev", Version = "1,0.1", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", Status = true, WebDownFlag = true, DescriptionCh = "版本更新 1.0.1", DescriptionEn = "The version is update 1.0.1", CreateDT = DateTime.Now, LastUpdateDT = DateTime.Now, AppOsHistory = new List <AppOsInfo> { new AppOsInfo { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = 3, OSType = 1, AppName = "Test AppName", AppNameEn = "Test AppName", PackageName = "com.wistron.portalapp.dev", Version = "1,0.0", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", Status = false, WebDownFlag = true, DescriptionCh = "版本更新 1.0.0", DescriptionEn = "The version is update 1.0.0", CreateDT = DateTime.Now, LastUpdateDT = DateTime.Now, }, new AppOsInfo { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOSID = 2, OSType = 1, AppName = "Test AppName", AppNameEn = "Test AppName", PackageName = "com.wistron.portalapp.dev", Version = "1,0.1", FileName = "PortalApp2.0/IOS/Install/0.2.1-ef04db152ccd4d1893998ec1f07fcc06.ipa", FilePath = "PortalApp2.0/IOS/Install/b2fcbfb55f5e4aa4a75a40e5ea09b514.plist", Status = true, WebDownFlag = true, DescriptionCh = "版本更新 1.0.1", DescriptionEn = "The version is update 1.0.1", CreateDT = DateTime.Now, LastUpdateDT = DateTime.Now, } }, Photo = new List <AppPhotoContent> { new AppPhotoContent { AppID = "4beedc78-0d31-496e-bb9c-81a79c9c6bc6", AppOS = 1, FileNumber = 5, FileName = "024abd90fb4c49149156aff2d5fd99ac.png", FilePath = "PortalApp2.0/Android/Images/024abd90fb4c49149156aff2d5fd99ac.png", PhotoType = 1 // 1= Icon 圖片 2 = 一般圖片 } } }; #endregion //fake service _appListService = Substitute.For <IAppListService>(); _uploadFileService = Substitute.For <IUploadFileService>(); _authService = Substitute.For <IAuthService>(); _targetObj = new AppBiz(_configContext, _appListService, _uploadFileService, _mapper, _authService); }
/// <summary> /// 更新 Wis App name /// </summary> /// <param name="appNameCreate"></param> /// <returns></returns> public TResult <bool> ModifyAppName(AppNameCreate appNameCreate) { List <WisAppUserList> wisAppUserList = new List <WisAppUserList>(); //撈出置頂總合資料 List <InSideOrOutSideApp> inSideOrOutSideApps = _appListService.GetIsTopAppList(); #region Check 置頂 //如果要頂置 需檢查頂置規則 企業APP 2筆 外部 App 2筆 if (appNameCreate.IsTop) { //企業專用 true:企業APP , false:外部APP if (appNameCreate.CompanyApp) { //內部 app得要排除 自己的部分 int inSideTop = inSideOrOutSideApps.Where(p => p.CompanyApp.Equals("Inside App") && p.AppID != appNameCreate.AppID).Count(); if (inSideTop >= 2) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "企業內部 App 置頂最多為2筆")); } } else { //外部 app 得要排除 自己的部分 int outSideTop = inSideOrOutSideApps.Where(p => p.CompanyApp.Equals("Outside App") && p.AppID != appNameCreate.AppID).Count(); if (outSideTop >= 2) { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "外部 App 置頂最多為2筆")); } } } #endregion //DTO WisAppList wisApp = _mapper.Map <AppNameCreate, WisAppList>(appNameCreate); DateTime date = DateTime.Now; wisApp.LastUpdateUser = "******"; wisApp.LastUpdateDT = date; #region 授權群組 設定 AppOen 1:開放,0:有授權名單 List <string> groupID = wisApp.AppUserGroup?.Split(',').ToList(); List <WisDefineGroup> wisDefineGroups = _appListService.GetDefineGroup(groupID); foreach (var item in wisDefineGroups) { //新增群組 if (!string.IsNullOrEmpty(item.GroupInclude)) { List <MdsHrEmpData> mdsHrEmpData = new List <MdsHrEmpData>(); List <string> findGroup = item.GroupInclude.Split(',').ToList(); if (item.SelectGroup == "1") // 找Site { mdsHrEmpData = _appListService.GetHrEmpByLocation(findGroup); } else // 找 DeptID { mdsHrEmpData = _appListService.GetHrEmpByDept(findGroup); } List <WisAppUserList> findAppUser = mdsHrEmpData.Select(p => new WisAppUserList { AppID = appNameCreate.AppID, UserID = p.Uid }).ToList(); wisAppUserList.AddRange(findAppUser); } //新增 自定義的user if (!string.IsNullOrEmpty(item.AccountInclude)) { List <MdsAdUserData> mdsAdUserDatas = new List <MdsAdUserData>(); List <MdsHrEmpData> mdsHrEmpData = new List <MdsHrEmpData>(); List <string> findUId = item.AccountInclude.Split(',').ToList(); if (item.SelectAccount == "1") // 找 AD Data { mdsAdUserDatas = _appListService.GetMdsAdUser(findUId); } else // 找 HR Data { mdsHrEmpData = _appListService.GetHrEmpByUId(findUId); } List <WisAppUserList> findAppUser = mdsAdUserDatas.Select(p => new WisAppUserList { AppID = appNameCreate.AppID, UserID = p.Uid }).ToList(); List <WisAppUserList> findAppUserByHr = mdsHrEmpData.Select(p => new WisAppUserList { AppID = appNameCreate.AppID, UserID = p.Uid }).ToList(); wisAppUserList.AddRange(findAppUser); wisAppUserList.AddRange(findAppUserByHr); } } #endregion bool isModified = _appListService.ModifyAppName(wisApp, wisAppUserList); if (isModified) { return(TResult <bool> .OK(true, appNameCreate.AppName)); } else { return(TResult <bool> .Fail(false, FaultInfoRcConstants.ERR_CODE_FAIL, "Modify App name fail!")); } }