Beispiel #1
0
        /// <summary>
        /// 获取群列表
        /// </summary>
        /// <param name="package"></param>
        /// <returns></returns>
        public static Model.GetGroupListPackage GetGroupListPackage(Model.GetGroupListPackage package)
        {
            var resp = new Util.Webs.Clients.WebClient().Post(IMServiceURL.GetGroupList)
                       .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                       .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                       .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                       .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                       .JsonData <Model.GetGroupListPackage>(package)
                       .OnFail((s, c) => SDKClient.logger.Error($"GetMyGroupList 调用失败: {s},错误码:{(int)c}"))
                       .ContentType(Util.Webs.Clients.HttpContentType.Json)
                       .ResultFromJson <Model.GetGroupListPackage>();

            return(resp);
        }
Beispiel #2
0
        public static async Task InsertGroupInfo(Model.GetGroupListPackage getGroupListPackage)
        {
            List <DB.GroupInfo> lst = new List <DB.GroupInfo>();
            var glist = await SDKProperty.SQLiteConn.Table <DB.GroupInfo>().ToListAsync();

            foreach (var group in getGroupListPackage.data.items.adminGroup)
            {
                var model = glist.Find(g => g.groupId == group.groupId);
                if (model != null)
                {
                    continue;
                }
                GetGroupPackage package = new GetGroupPackage()
                {
                    data = new Model.GetGroupPackage.Data()
                    {
                        groupId = group.groupId,
                        item    = group
                    }
                };
                DB.GroupInfo info = new DB.GroupInfo()
                {
                    getGroupPackage = Util.Helpers.Json.ToJson(package),
                    groupId         = group.groupId
                };
                lst.Add(info);
            }
            foreach (var group in getGroupListPackage.data.items.joinGroup)
            {
                var model = glist.Find(g => g.groupId == group.groupId);
                if (model != null)
                {
                    continue;
                }
                GetGroupPackage package = new GetGroupPackage()
                {
                    data = new Model.GetGroupPackage.Data()
                    {
                        groupId = group.groupId,
                        item    = group
                    }
                };
                DB.GroupInfo info = new DB.GroupInfo()
                {
                    getGroupPackage = Util.Helpers.Json.ToJson(package),
                    groupId         = group.groupId
                };


                lst.Add(info);
            }
            foreach (var group in getGroupListPackage.data.items.ownerGroup)
            {
                var model = glist.Find(g => g.groupId == group.groupId);
                if (model != null)
                {
                    continue;
                }
                GetGroupPackage package = new GetGroupPackage()
                {
                    data = new Model.GetGroupPackage.Data()
                    {
                        groupId = group.groupId,
                        item    = group
                    }
                };
                DB.GroupInfo info = new DB.GroupInfo()
                {
                    getGroupPackage = Util.Helpers.Json.ToJson(package),
                    groupId         = group.groupId
                };


                lst.Add(info);
            }
            try
            {
                await SDKProperty.SQLiteConn.InsertAllAsync(lst);
            }
            catch (Exception)
            {
            }
        }
Beispiel #3
0
 public static async Task UpdateGroupInfo(Model.GetGroupListPackage getGroupListPackage)
 {
     await DeleteGroupListPackage();
     await InsertGroupInfo(getGroupListPackage);
 }