private void OnActivityUpdate(UserActivityInfo arg0)
 {
     foreach (Action <UserActivityInfo> listener in listeners)
     {
         listener.SafeInvoke(arg0);
     }
 }
Пример #2
0
        public async Task <UserActivityInfo> GetUnreadUserActivity(int ReturnRowCount)
        {
            UserActivityInfo ActivityInfo = new UserActivityInfo();

            ActivityInfo.TotalActivity = "0";
            ActivityInfo.MsgItems      = new List <UserMessageInfo>();
            var oActivity = await _AppActivityLogRepository.GetAllUnRead().ConfigureAwait(false);

            if (oActivity != null && oActivity.Count > 0)
            {
                ActivityInfo.TotalActivity = oActivity.Count.ToString();
                for (int i = 0; i < oActivity.Count; i++)
                {
                    if (i == ReturnRowCount)
                    {
                        break;
                    }

                    ActivityInfo.MsgItems.Add(new UserMessageInfo
                    {
                        ID         = oActivity[i].Id.ToString(),
                        Name       = oActivity[i].UserName,
                        Message    = oActivity[i].Description,
                        TimeRef    = oActivity[i].ActivityTime.GetRelativeTimeByUTC(),
                        UserAvatar = DirectoryFileService.GetAppUserAvatarPath(oActivity[i].UserId)
                                     //GetUserAvatarPath(string.Format("{0}.{1}", oActivity[i].UserId, "jpg"))
                    });
                }
            }
            return(ActivityInfo);
        }
Пример #3
0
        public UserActivityLogsResult GetUserActivityLogs(UserActivityInfo userIdStartTimestampEndTimestamp)
        {
            var userActivityInfo = userIdStartTimestampEndTimestamp;

            if (WebOperationContext.Current != null)
            {
                WebOperationContext.Current.OutgoingResponse.Headers.Add("Cache-Control", "no-cache");
            }
            var businnessLayer = new APIBusinessLayer();

            return(businnessLayer.GetUserActivityLogs(userActivityInfo.UserId, userActivityInfo.StartTimestamp, userActivityInfo.EndTimestamp));
        }
Пример #4
0
        public async Task <IActionResult> MarkActivityAsRead()
        {
            UserActivityInfo TempActivity;
            var Result = await GetBaseService().MarkAllUnreadActivityAsRead().ConfigureAwait(false);

            if (Result)
            {
                TempActivity = new UserActivityInfo();
                TempActivity.TotalActivity = "0";
                TempActivity.MsgItems      = new List <UserMessageInfo>();
            }
            else
            {
                TempActivity = await GetBaseService().GetUnreadUserActivity(5);
            }

            return(PartialView("_UserMessage", TempActivity));
        }
        private void TimePassed(int seconds)
        {
            if (isActive)
            {
                UserActivityInfo userActivityInfo = new UserActivityInfo(
                    new Dictionary <ActivityType, bool>()
                {
                    { ActivityType.walking, ActivityType.walking == mockActivityType },
                    { ActivityType.automative, ActivityType.automative == mockActivityType },
                    { ActivityType.cycling, ActivityType.cycling == mockActivityType },
                    { ActivityType.running, ActivityType.running == mockActivityType },
                    { ActivityType.stationary, ActivityType.stationary == mockActivityType },
                    { ActivityType.unknown, ActivityType.unknown == mockActivityType }
                },
                    ConfidenceLevel.high,
                    DateTime.Now.Subtract(new TimeSpan(0, 0, seconds))
                    );

                foreach (Action <UserActivityInfo> listener in listeners)
                {
                    listener.SafeInvoke(userActivityInfo);
                }
            }
        }