예제 #1
0
 public ChadderSource(int instanceId = 0)
 {
     InstanceId = instanceId;
     Urls       = new ChadderUrls();
     db         = new ChadderDatabase(this);
     Session    = new ChadderRequest();
     KeyFactory = new ECDSASimpleFactory();
     Connection = new ChadderConnection(Urls.Domain);
     Connection.OnRequestUpdate += () => UIThread.Run(async() =>
     {
         await RequestUpdates();
     });
 }
예제 #2
0
        public async Task <ChadderError> Logout()
        {
            var result = await Session.PostRequestAPI <BasicResponse>(Urls.Logout);

            if (result.Error == ChadderError.OK)
            {
                Insight.Track("Successfull Logout");
            }
            else
            {
                Insight.Track("Logout Failed");
            }
            Session.Token = null;
            Connection.Disconnect();
            IsOnline = false;
            sqlDB.Dispose();
            sqlDB = null;
            var mainDb = await ChadderSQLMainDB.GetDatabase(InstanceId);

            await mainDb.DeleteUser(db.LocalUser.UserId);

            db = new ChadderDatabase(this);
            return(ChadderError.OK);
        }