public static void SetItem(GroupModels item) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); string sql = "Select 1 From [Group] Where ID = " + item.Id; bool isNew = db.GetFirstValue(sql) == null; if (isNew) { item.SetPermissionsForAllSites(2); using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(WebInfo.Conn)) { sql = $"INSERT INTO [Group]([ID], [Name], [Desc], [Status], [Color], [Icon]) VALUES({ WorkLib.GetItem.NewSN()},@Name, @Desc, @Status, @Color, @Icon) "; conn.Execute(sql, item); } } else { item.SetPermissionForSingleSite(PageCache.SiteID, item.GroupType); using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(WebInfo.Conn)) { sql = @"UPDATE [Group] SET [Name]=@Name,[Desc]=@Desc,[Status]=@Status, [Color]=@Color, [Icon]=@Icon WHERE ID=@ID "; conn.Execute(sql, item); } } }
/// <summary> /// 抓取 Group 物件包含 PermissionType /// </summary> /// <param name="id"></param> /// <param name="siteId"></param> /// <returns></returns> public static GroupModels GetItem(long id, long siteId) { using (var conn = new SqlConnection(WebInfo.Conn)) { string sql = @" SELECT a.[ID], a.[Name], a.[Icon], a.[Color], a.[Desc], a.[Status], b.[PermissionType] as GroupType FROM [Group] a LEFT JOIN GroupSitePermissionType b ON (a.ID = b.GroupID AND b.SiteID = @SiteID) WHERE a.ID = @ID "; GroupModels retValue = conn.Query <GroupModels>(sql, new { SiteID = siteId, ID = id }).FirstOrDefault(); retValue.GroupType = retValue.GroupType == 0 ? 1 : retValue.GroupType; return(retValue); } }