public async Task<List<UserNotification>> GetUserNotificationsAsync(UserIdentifier user, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue)
 {
     var userNotifications = await _store.GetUserNotificationsWithNotificationsAsync(user, state, skipCount, maxResultCount);
     return userNotifications
         .Select(un => un.ToUserNotification())
         .ToList();
 }
        public virtual async Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
        {
            var userNotifications = await _userNotificationRepository.Query().Where(s => s.UserId == userId).ToListAsync();

            foreach (var userNotification in userNotifications)
            {
                userNotification.State = state;
            }
            await SaveChangesAsync();
        }
Exemplo n.º 3
0
        public void UpdateAllUserNotificationStates(UserIdentifier user, UserNotificationState state)
        {
            var userNotifications = _userNotificationInfoRepository.GetAllList(un => un.UserId == user.UserId);

            foreach (var userNotification in userNotifications)
            {
                userNotification.State = state;
            }
            _unitOfWorkManager.Current.SaveChangesAsync();
        }
Exemplo n.º 4
0
        /// <summary>
        /// 修改消息读取状态
        /// </summary>
        /// <param name="idList"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public async Task UpdateUserNotificationStatus(List <Guid> idList, UserNotificationState state)
        {
            var data = _userNotificationInfoRepository.GetAll().Where(w => idList.Contains(w.Id));

            foreach (var item in data)
            {
                item.State = state;
                await _userNotificationInfoRepository.UpdateAsync(item);
            }
        }
        /// <summary>
        /// 修改消息读取状态
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public async Task UpdateUserNotificationStatus(List <UserNotificationInfoDto> list)
        {
            var idList = list.Select(s => s.Id).ToArray();
            UserNotificationState state = list[0].State;
            var data = _userNotificationInfoRepository.GetAll().Where(w => idList.Contains(w.Id));

            foreach (var item in data)
            {
                item.State = state;
                await _userNotificationInfoRepository.UpdateAsync(item);
            }
        }
Exemplo n.º 6
0
        public static bool IsNotificationDisabled()
        {
            var result = SHQueryUserNotificationState(out var state);

            if (result == NativeConstants.ERROR_SUCCESS && state != LastNotificationState)
            {
                Logger.Debug($"Detected NotificationState change from {LastNotificationState} to {state}");
                LastNotificationState = state;
            }

            return(NotificationsDisabledStates.Contains(state));
            //return state != UserNotificationState.QUNS_ACCEPTS_NOTIFICATIONS && state != UserNotificationState.QUNS_QUIET_TIME;
        }
        public virtual void UpdateAllUserNotificationStates(UserIdentifier user, UserNotificationState state)
        {
            using (_unitOfWorkManager.Current.SetTenantId(user.TenantId))
            {
                var userNotifications = _userNotificationRepository.GetAllList(un => un.UserId == user.UserId);

                foreach (var userNotification in userNotifications)
                {
                    userNotification.State = state;
                }

                _unitOfWorkManager.Current.SaveChanges();
            }
        }
Exemplo n.º 8
0
        public async Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
        {
            await _unitOfWorkManager.PerformAsyncUow(async() =>
            {
                var userNotifications = await _userNotificationRepository.GetAllListAsync(un => un.UserId == userId);

                foreach (var userNotification in userNotifications)
                {
                    userNotification.State = state;
                }

                await _unitOfWorkManager.Current.SaveChangesAsync();
            });
        }
Exemplo n.º 9
0
        /// <summary>
        /// Updates all notification states for a user.
        /// </summary>
        public async Task UpdateAllUserNotificationStatesAsync(Guid userId, UserNotificationState state)
        {
            var result = await _userNotificationRepository.GetListAsync(userId,
                                                                        state == UserNotificationState.Read?
                                                                        UserNotificationState.Unread :
                                                                        UserNotificationState.Read
                                                                        );

            foreach (var un in result)
            {
                un.State = state;
            }
            await _userNotificationRepository.UpdateManyAsync(result);
        }
Exemplo n.º 10
0
        private async void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (IsSuspended && SuspensionCause == SuspensionCause.Manual)
            {
                // App was manually suspended, only user can unsuspend it
                return;
            }

            if (NeedABreak.Properties.Settings.Default.AutomaticSuspension)
            {
                UserNotificationState state = QueryUserNotificationState.GetState();

                if (IsSuspended)
                {
                    // App was automatically suspended, shall we unsuspend it ?
                    if (state == UserNotificationState.AcceptsNotifications)
                    {
                        Resume();
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    // App is not suspended, shall we automatically suspend it ?
                    switch (state)
                    {
                    case UserNotificationState.Busy:
                    case UserNotificationState.RunningDirect3dFullScreen:
                    case UserNotificationState.PresentationMode:
                        Suspend(SuspensionCause.Automatic);
                        return;
                    }
                }
            }

            double minutesLeft = GetMinutesLeft();

            if (minutesLeft <= 0)
            {
                await TimesUp();
            }
            else if (minutesLeft <= 1)
            {
                await TimesAlmostUp();
            }
        }
Exemplo n.º 11
0
        public async Task <NotificationsOutput> GetMyNotifications(UserNotificationState state, int?take = null)
        {
            if (AbpSession.UserId == null)
            {
                return(new NotificationsOutput());
            }
            var userIdentifier = new UserIdentifier(AbpSession.TenantId,
                                                    AbpSession.UserId.Value);
            var notifications = await _userNotificationManager.GetUserNotificationsAsync(userIdentifier, state);

            if (take.HasValue)
            {
                notifications = notifications.Take(take.Value).ToList();
            }
            return(new NotificationsOutput()
            {
                Notifications = notifications.ToList()
            });
        }
        public virtual async Task UpdateUserNotificationStateAsync(
            int?tenantId,
            Guid userNotificationId,
            UserNotificationState state)
        {
            await _unitOfWorkManager.WithUnitOfWorkAsync(async() =>
            {
                using (_unitOfWorkManager.Current.SetTenantId(tenantId))
                {
                    var userNotification = await _userNotificationRepository.FirstOrDefaultAsync(userNotificationId);
                    if (userNotification == null)
                    {
                        return;
                    }

                    userNotification.State = state;
                    await _unitOfWorkManager.Current.SaveChangesAsync();
                }
            });
        }
        public virtual void UpdateUserNotificationState(
            int?tenantId,
            Guid userNotificationId,
            UserNotificationState state)
        {
            _unitOfWorkManager.WithUnitOfWork(() =>
            {
                using (_unitOfWorkManager.Current.SetTenantId(tenantId))
                {
                    var userNotification = _userNotificationRepository.FirstOrDefault(userNotificationId);
                    if (userNotification == null)
                    {
                        return;
                    }

                    userNotification.State = state;
                    _unitOfWorkManager.Current.SaveChanges();
                }
            });
        }
Exemplo n.º 14
0
 /// <summary>
 /// Updates a user notification state.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="tenantId">Tenant Id</param>
 /// <param name="userNotificationId">The user notification id.</param>
 /// <param name="state">New state.</param>
 public static void UpdateUserNotificationState(this IUserNotificationManager userNotificationManager, int?tenantId, Guid userNotificationId, UserNotificationState state)
 {
     AsyncHelper.RunSync(() => userNotificationManager.UpdateUserNotificationStateAsync(tenantId, userNotificationId, state));
 }
 static extern int SHQueryUserNotificationState(out UserNotificationState pquns);
 public Task UpdateUserNotificationStateAsync(int? tenantId, Guid userNotificationId, UserNotificationState state)
 {
     return _store.UpdateUserNotificationStateAsync(tenantId, userNotificationId, state);
 }
Exemplo n.º 17
0
 public virtual Task<int> GetUserNotificationCountAsync(long userId, UserNotificationState? state = null)
 {
     return _userNotificationRepository.CountAsync(un => un.UserId == userId && (state == null || un.State == state.Value));
 }
 /// <summary>
 /// Gets notifications for a user.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="user">User.</param>
 /// <param name="state">State</param>
 /// <param name="skipCount">Skip count.</param>
 /// <param name="maxResultCount">Maximum result count.</param>
 public static List<UserNotification> GetUserNotifications(this IUserNotificationManager userNotificationManager, UserIdentifier user, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue)
 {
     return AsyncHelper.RunSync(() => userNotificationManager.GetUserNotificationsAsync(user, state, skipCount: skipCount, maxResultCount: maxResultCount));
 }
Exemplo n.º 19
0
 public Task UpdateUserNotificationStateAsync(int?tenantId, Guid userNotificationId, UserNotificationState state)
 {
     return(_store.UpdateUserNotificationStateAsync(tenantId, userNotificationId, state));
 }
Exemplo n.º 20
0
        public async Task UpdateUserNotificationStateAsync(int?tenantId, Guid userNotificationId, UserNotificationState state)
        {
            await _unitOfWorkManager.PerformAsyncUow(async() =>
            {
                var userNotification = await _userNotificationRepository.FirstOrDefaultAsync(userNotificationId);
                if (userNotification == null)
                {
                    return;
                }

                userNotification.State = state;
                await _unitOfWorkManager.Current.SaveChangesAsync();
            });
        }
 public Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
 {
     return _store.UpdateAllUserNotificationStatesAsync(userId, state);
 }
 public Task UpdateUserNotificationStateAsync(Guid userNotificationId, UserNotificationState state)
 {
     return _store.UpdateUserNotificationStateAsync(userNotificationId, state);
 }
 public Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state)
 {
     return _store.UpdateAllUserNotificationStatesAsync(user, state);
 }
 /// <summary>
 /// 更新用户通知状态-异步
 /// </summary>
 /// <param name="userNotificationId">用户通知Id</param>
 /// <param name="state">用户通知状态</param>
 /// <returns></returns>
 public Task UpdateUserNotificationStateAsync(Guid userNotificationId, UserNotificationState state)
 {
     return Task.FromResult(0);
 }
 public UserNotificationInfo()
 {
     State = UserNotificationState.Unread;
 }
 /// <summary>
 /// 获取用户通知-异步
 /// </summary>
 /// <param name="userId">用户Id</param>
 /// <param name="state">状态</param>
 /// <param name="skipCount">跳过数</param>
 /// <param name="maxResultCount">最大结果数</param>
 /// <returns></returns>
 public Task<List<UserNotificationInfoWithNotificationInfo>> GetUserNotificationsWithNotificationsAsync(long userId, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue)
 {
     return Task.FromResult(new List<UserNotificationInfoWithNotificationInfo>());
 }
Exemplo n.º 27
0
        public virtual async Task UpdateUserNotificationStateAsync(Guid userNotificationId, UserNotificationState state)
        {
            var userNotification = await _userNotificationRepository.FirstOrDefaultAsync(userNotificationId);

            if (userNotification == null)
            {
                return;
            }

            userNotification.State = state;
        }
Exemplo n.º 28
0
 public Task UpdateUserNotificationStateAsync(int?notificationId, Guid userNotificationId, UserNotificationState state)
 {
     return(Task.FromResult(0));
 }
Exemplo n.º 29
0
        public virtual async Task UpdateUserNotificationStateAsync(int? tenantId, Guid userNotificationId, UserNotificationState state)
        {
            using (_unitOfWorkManager.Current.SetTenantId(tenantId))
            {
                var userNotification = await _userNotificationRepository.FirstOrDefaultAsync(userNotificationId);
                if (userNotification == null)
                {
                    return;
                }

                userNotification.State = state;
                await _unitOfWorkManager.Current.SaveChangesAsync();
            }
        }
 /// <summary>
 /// Updates a user notification state.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="tenantId">Tenant Id</param>
 /// <param name="userNotificationId">The user notification id.</param>
 /// <param name="state">New state.</param>
 public static void UpdateUserNotificationState(this IUserNotificationManager userNotificationManager, int? tenantId, Guid userNotificationId, UserNotificationState state)
 {
     AsyncHelper.RunSync(() => userNotificationManager.UpdateUserNotificationStateAsync(tenantId, userNotificationId, state));
 }
Exemplo n.º 31
0
        /// <summary>
        /// 获取接收到的消息数量
        /// </summary>
        /// <param name="receiveUserId"></param>
        /// <returns></returns>
        public async Task <List <SysChatRecordSummary> > GetChatRecordSummaryAsync(UserNotificationState state = UserNotificationState.Unread)
        {
            long receiveUserId = AbpSession.UserId.Value;

            return(await _sysChatRecordRepository.GetChatRecordSummaryAsync(receiveUserId, state));
        }
Exemplo n.º 32
0
        public virtual Task<List<UserNotificationInfoWithNotificationInfo>> GetUserNotificationsWithNotificationsAsync(long userId, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue)
        {
            var query = from userNotificationInfo in _userNotificationRepository.GetAll()
                        join notificationInfo in _notificationRepository.GetAll() on userNotificationInfo.NotificationId equals notificationInfo.Id
                        where userNotificationInfo.UserId == userId && (state == null || userNotificationInfo.State == state.Value)
                        orderby notificationInfo.CreationTime descending
                        select new { userNotificationInfo, notificationInfo };

            query = query.PageBy(skipCount, maxResultCount);

            var list = query.ToList();

            return Task.FromResult(list.Select(
                a => new UserNotificationInfoWithNotificationInfo(a.userNotificationInfo, a.notificationInfo)
                ).ToList());
        }
Exemplo n.º 33
0
 /// <inheritdoc />
 public Task UpdateAllUserNotificationStatesAsync(long user, UserNotificationState state)
 {
     return(_notificationRepository.UpdateAllUserNotificationStatesAsync(user, state));
 }
Exemplo n.º 34
0
        public virtual async Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state)
        {
            using (_unitOfWorkManager.Current.SetTenantId(user.TenantId))
            {
                var userNotifications = await _userNotificationRepository.GetAllListAsync(un => un.UserId == user.UserId);

                foreach (var userNotification in userNotifications)
                {
                    userNotification.State = state;
                }

                await _unitOfWorkManager.Current.SaveChangesAsync();
            }
        }
 public Task<int> GetUserNotificationCountAsync(UserIdentifier user, UserNotificationState? state = null)
 {
     return _store.GetUserNotificationCountAsync(user, state);
 }
Exemplo n.º 36
0
 /// <inheritdoc />
 public Task UpdateUserNotificationStateAsync(Guid userNotificationId, UserNotificationState state)
 {
     return(_notificationRepository.UpdateUserNotificationStateAsync(userNotificationId, state));
 }
Exemplo n.º 37
0
        public virtual Task<List<UserNotificationInfoWithNotificationInfo>> GetUserNotificationsWithNotificationsAsync(UserIdentifier user, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue)
        {
            using (_unitOfWorkManager.Current.SetTenantId(user.TenantId))
            {
                var query = from userNotificationInfo in _userNotificationRepository.GetAll()
                            join tenantNotificationInfo in _tenantNotificationRepository.GetAll() on userNotificationInfo.TenantNotificationId equals tenantNotificationInfo.Id
                            where userNotificationInfo.UserId == user.UserId && (state == null || userNotificationInfo.State == state.Value)
                            orderby tenantNotificationInfo.CreationTime descending
                            select new { userNotificationInfo, tenantNotificationInfo = tenantNotificationInfo };

                query = query.PageBy(skipCount, maxResultCount);

                var list = query.ToList();

                return Task.FromResult(list.Select(
                    a => new UserNotificationInfoWithNotificationInfo(a.userNotificationInfo, a.tenantNotificationInfo)
                    ).ToList());
            }
        }
 public Task UpdateAllUserNotificationStatesAsync(Guid userId, UserNotificationState state)
 {
     return(_store.UpdateAllUserNotificationStatesAsync(userId, state));
 }
Exemplo n.º 39
0
 public virtual Task<int> GetUserNotificationCountAsync(UserIdentifier user, UserNotificationState? state = null)
 {
     using (_unitOfWorkManager.Current.SetTenantId(user.TenantId))
     {
         return _userNotificationRepository.CountAsync(un => un.UserId == user.UserId && (state == null || un.State == state.Value));
     }
 }
Exemplo n.º 40
0
 public Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
 {
     return(Task.FromResult(0));
 }
Exemplo n.º 41
0
        /// <summary>
        /// 获取接收到的消息数量
        /// </summary>
        /// <param name="receiveUserId"></param>
        /// <returns></returns>
        public async Task <JsonResult> GetChatRecordSummary([FromBody] UserNotificationState state)
        {
            var data = await _sysChatRecordAppService.GetChatRecordSummaryAsync(state);

            return(Json(data));
        }
Exemplo n.º 42
0
 /// <summary>
 /// Updates all notification states for a user.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="user">User.</param>
 /// <param name="state">New state.</param>
 public static void UpdateAllUserNotificationStates(this IUserNotificationManager userNotificationManager, UserIdentifier user, UserNotificationState state)
 {
     AsyncHelper.RunSync(() => userNotificationManager.UpdateAllUserNotificationStatesAsync(user, state));
 }
 public void UpdateUserNotificationState(int?tenantId, Guid userNotificationId, UserNotificationState state)
 {
 }
 /// <summary>
 /// 更新全部用户通知状态-异步
 /// </summary>
 /// <param name="userId">用户Id</param>
 /// <param name="state">用户通知状态</param>
 /// <returns></returns>
 public Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
 {
     return Task.FromResult(0);
 }
 public void UpdateAllUserNotificationStates(UserIdentifier user, UserNotificationState state)
 {
 }
 /// <summary>
 /// 获取用户通知数-异步
 /// </summary>
 /// <param name="userId">用户Id</param>
 /// <param name="state">状态</param>
 /// <returns></returns>
 public Task<int> GetUserNotificationCountAsync(long userId, UserNotificationState? state = null)
 {
     return Task.FromResult(0);
 }
 public Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state)
 {
     return Task.FromResult(0);
 }
Exemplo n.º 48
0
 public Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state)
 {
     return(_store.UpdateAllUserNotificationStatesAsync(user, state));
 }
Exemplo n.º 49
0
        /// <summary>
        /// Updates a user notification state.
        /// </summary>
        public async Task UpdateUserNotificationStateAsync(Guid userId, Guid notificationId, UserNotificationState state)
        {
            var result = await _userNotificationRepository.FindAsync(userId, notificationId);

            if (result != null)
            {
                result.State = state;
                await _userNotificationRepository.UpdateAsync(result);
            }
        }
Exemplo n.º 50
0
 public Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state)
 {
     return(Task.FromResult(0));
 }
Exemplo n.º 51
0
        public virtual async Task UpdateUserNotificationStateAsync(Guid userNotificationId, UserNotificationState state)
        {
            var userNotification = await _userNotificationRepository.FirstOrDefaultAsync(userNotificationId);
            if (userNotification == null)
            {
                return;
            }

            userNotification.State = state;
        }
 /// <summary>
 /// Gets user notification count.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="user">User.</param>
 /// <param name="state">State.</param>
 public static int GetUserNotificationCount(this IUserNotificationManager userNotificationManager, UserIdentifier user, UserNotificationState? state = null)
 {
     return AsyncHelper.RunSync(() => userNotificationManager.GetUserNotificationCountAsync(user, state));
 }
Exemplo n.º 53
0
        public virtual async Task UpdateAllUserNotificationStatesAsync(long userId, UserNotificationState state)
        {
            var userNotifications = await _userNotificationRepository.GetAllListAsync(un => un.UserId == userId);

            foreach (var userNotification in userNotifications)
            {
                userNotification.State = state;
            }
        }
 /// <summary>
 /// Updates all notification states for a user.
 /// </summary>
 /// <param name="userNotificationManager">User notificaiton manager</param>
 /// <param name="user">User.</param>
 /// <param name="state">New state.</param>
 public static void UpdateAllUserNotificationStates(this IUserNotificationManager userNotificationManager, UserIdentifier user, UserNotificationState state)
 {
     AsyncHelper.RunSync(() => userNotificationManager.UpdateAllUserNotificationStatesAsync(user, state));
 }
 public Task<int> GetUserNotificationCountAsync(long userId, UserNotificationState? state = null)
 {
     return _store.GetUserNotificationCountAsync(userId, state);
 }