public void send_tinyGroupPush(GroupPull groupPull, Session session)
 #endif
 {
   oprot_.WriteMessageBegin(new TMessage("tinyGroupPush", TMessageType.Call, seqid_));
   tinyGroupPush_args args = new tinyGroupPush_args();
   args.GroupPull = groupPull;
   args.Session = session;
   args.Write(oprot_);
   oprot_.WriteMessageEnd();
   #if SILVERLIGHT
   return oprot_.Transport.BeginFlush(callback, state);
   #else
   oprot_.Transport.Flush();
   #endif
 }
      public string tinyGroupPush(GroupPull groupPull, Session session)
      {
        #if !SILVERLIGHT
        send_tinyGroupPush(groupPull, session);
        return recv_tinyGroupPush();

        #else
        var asyncResult = Begin_tinyGroupPush(null, null, groupPull, session);
        return End_tinyGroupPush(asyncResult);

        #endif
      }
 public IAsyncResult send_tinyGroupPush(AsyncCallback callback, object state, GroupPull groupPull, Session session)
 public IAsyncResult Begin_tinyGroupPush(AsyncCallback callback, object state, GroupPull groupPull, Session session)
 {
   return send_tinyGroupPush(callback, state, groupPull, session);
 }
      public string groupPull(GroupPull groupPull, Session session)
      {
        #if !SILVERLIGHT
        send_groupPull(groupPull, session);
        return recv_groupPull();

        #else
        var asyncResult = Begin_groupPull(null, null, groupPull, session);
        return End_groupPull(asyncResult);

        #endif
      }
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 1:
         if (field.Type == TType.Struct) {
           GroupPull = new GroupPull();
           GroupPull.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.Struct) {
           Session = new Session();
           Session.Read(iprot);
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
        public async Task<object> TinyGroupPush(ChatRequest.ChatGroupPullRequest request, SystemSession session)
        {
            var tinyGroupPush = new GroupPull { UserId = session.UserName, PageSize = request.PageSize, DrillUp = request.DrillUp, DrillDown = request.DrillDown, Limit = request.Limit, IncludeInstance = request.IncludeInstance, Cursor = request.Cursor };

            var response = await Task.Factory.StartNew(() => Client.ChatService.tinyGroupPush(tinyGroupPush, session.GetSession())).ConfigureAwait(false);

            return JsonConvert.DeserializeObject(response);
        }
        public async Task<StatusData<object>> GroupPull(ChatRequest.ChatGroupPullRequest request, SystemSession session)
        {
            var result = new StatusData<object> { Status = SystemDbStatus.Selected };

            var groupPull = new GroupPull { UserId = session.UserName, PageSize = request.PageSize, DrillUp = request.DrillUp, DrillDown = request.DrillDown, Limit = request.Limit, IncludeInstance = request.IncludeInstance, Cursor = request.Cursor };

            var response = await Task.Factory.StartNew(() => Client.ChatService.groupPull(groupPull, session.GetSession())).ConfigureAwait(false);

            Helper.Helper.ExtractData(result, response, "error", elementsToBypass: new Collection<string> { "error" });
            return result;
        }