/// <summary> /// Login handler /// </summary> /// <param name="ssoTicket">the sso ticket</param> /// <returns></returns> public bool TryLogin(string ssoTicket) { UserDao.Login(out playerData, ssoTicket); if (playerData == null) { return(false); } log = LogManager.GetLogger(Assembly.GetExecutingAssembly(), $"Player {playerData.Name}"); log.Debug($"Player {playerData.Name} has logged in"); UserSettingsDao.CreateOrUpdate(out settings, playerData.Id); PlayerManager.Instance.AddPlayer(this); playerData.PreviousLastOnline = playerData.LastOnline; playerData.LastOnline = DateTime.Now; UserDao.Update(playerData); Subscription = SubscriptionDao.GetSubscription(playerData.Id); Messenger = new Messenger(this); Messenger.SendStatus(); Authenticated = true; Send(new AuthenticationOKComposer()); Send(new ActivityPointNotificationComposer()); Send(new AvailabilityStatusComposer()); Send(new UserRightsMessageComposer(IsSubscribed ? 2 : 0, playerData.Rank)); return(true); }
private (string Title, List <Article> Articles) SubscribeFeed(string feed, string appId) { var result = this.fetcher.Fetch(feed); if (result == default) { return(result); } using (var connection = this.helper.GetDbConnection()) { #region 插入 feed var feedDao = new FeedDao(connection); var feedId = feed.Md5(); var feedEntity = feedDao.GetFeed(feedId); if (feedEntity == null) { feedEntity = new Rss.Common.Entities.Feed { Id = feedId, Url = feed, Title = result.Title }; feedDao.InsertFeed(feedEntity); } #endregion #region 订阅 var subscriptionDao = new SubscriptionDao(connection); var subscription = subscriptionDao.GetSubscription(appId, feedId); if (subscription == null) { subscription = new Subscription { AppId = appId, FeedId = feedId }; subscriptionDao.InsertSubscription(subscription); } #endregion } return(result); }
public Messenger(int userId) { subscription = SubscriptionDao.GetSubscription(userId); FriendRequestsEnabled = MessengerDao.GetAcceptsFriendRequests(userId); LoadMessengerData(userId); }
public void Load() { this.Data = SubscriptionDao.GetSubscription(player.Details.Id); }