public HomeController(IMetricService metricService, IFocusService focusService, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupUserService groupUserService, IGroupService groupService, IGroupGoalService groupGoalService, IGroupUpdateService groupupdateService, IGroupCommentService groupcommentService, IFollowUserService followUserService, IGroupUpdateUserService groupUpdateUserService, IGroupCommentUserService groupCommentUserService, ICommentUserService commentUserService)
 {
     this.metricService = metricService;
     this.focusService = focusService;
     this.goalService = goalService;
     this.commentService = commentService;
     this.updateService = updateService;
     this.supportService = supportService;
     this.userService = userService;
     this.groupService = groupService;
     this.groupUserService = groupUserService;
     this.groupGoalService = groupGoalService;
     this.groupupdateService = groupupdateService;
     this.groupcommentService = groupcommentService;
     this.followUserService = followUserService;
     this.groupCommentUserService = groupCommentUserService;
     this.groupUpdateUserService = groupUpdateUserService;
     this.commentUserService = commentUserService;
 }
Exemple #2
0
 public HomeController(IMetricService metricService, IFocusService focusService, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupUserService groupUserService, IGroupService groupService, IGroupGoalService groupGoalService, IGroupUpdateService groupupdateService, IGroupCommentService groupcommentService, IFollowUserService followUserService, IGroupUpdateUserService groupUpdateUserService, IGroupCommentUserService groupCommentUserService, ICommentUserService commentUserService)
 {
     this.metricService           = metricService;
     this.focusService            = focusService;
     this.goalService             = goalService;
     this.commentService          = commentService;
     this.updateService           = updateService;
     this.supportService          = supportService;
     this.userService             = userService;
     this.groupService            = groupService;
     this.groupUserService        = groupUserService;
     this.groupGoalService        = groupGoalService;
     this.groupupdateService      = groupupdateService;
     this.groupcommentService     = groupcommentService;
     this.followUserService       = followUserService;
     this.groupCommentUserService = groupCommentUserService;
     this.groupUpdateUserService  = groupUpdateUserService;
     this.commentUserService      = commentUserService;
 }
Exemple #3
0
 public GroupController(IGroupService groupService, IGroupUserService groupUserService, IUserService userService, IMetricService metricService, IFocusService focusService, IGroupGoalService groupgoalService, IGroupInvitationService groupInvitationService, ISecurityTokenService securityTokenService, IGroupUpdateService groupUpdateService, IGroupCommentService groupCommentService, IGoalStatusService goalStatusService, IGroupRequestService groupRequestService, IFollowUserService followUserService, IGroupCommentUserService groupCommentUserService, IGroupUpdateSupportService groupUpdateSupportService, IGroupUpdateUserService groupUpdateUserService)
 {
     this.groupService              = groupService;
     this.groupInvitationService    = groupInvitationService;
     this.userService               = userService;
     this.groupUserService          = groupUserService;
     this.metricService             = metricService;
     this.focusService              = focusService;
     this.groupGoalService          = groupgoalService;;
     this.securityTokenService      = securityTokenService;
     this.groupUpdateService        = groupUpdateService;
     this.groupCommentService       = groupCommentService;
     this.goalStatusService         = goalStatusService;
     this.groupRequestService       = groupRequestService;
     this.followUserService         = followUserService;
     this.groupCommentUserService   = groupCommentUserService;
     this.groupUpdateSupportService = groupUpdateSupportService;
     this.groupUpdateUserService    = groupUpdateUserService;
 }
 public GroupController(IGroupService groupService, IGroupUserService groupUserService, IUserService userService, IMetricService metricService, IFocusService focusService, IGroupGoalService groupgoalService, IGroupInvitationService groupInvitationService, ISecurityTokenService securityTokenService, IGroupUpdateService groupUpdateService, IGroupCommentService groupCommentService, IGoalStatusService goalStatusService, IGroupRequestService groupRequestService, IFollowUserService followUserService, IGroupCommentUserService groupCommentUserService, IGroupUpdateSupportService groupUpdateSupportService, IGroupUpdateUserService groupUpdateUserService)
 {
     this.groupService = groupService;
     this.groupInvitationService = groupInvitationService;
     this.userService = userService;
     this.groupUserService = groupUserService;
     this.metricService = metricService;
     this.focusService = focusService;
     this.groupGoalService = groupgoalService; ;
     this.securityTokenService = securityTokenService;
     this.groupUpdateService = groupUpdateService;
     this.groupCommentService = groupCommentService;
     this.goalStatusService = goalStatusService;
     this.groupRequestService = groupRequestService;
     this.followUserService = followUserService;
     this.groupCommentUserService = groupCommentUserService;
     this.groupUpdateSupportService = groupUpdateSupportService;
     this.groupUpdateUserService = groupUpdateUserService;
 }
        internal IEnumerable<NotificationsViewModel> GetProfileNotifications(string userid, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupService groupService, IGroupUserService groupUserSevice, IGroupGoalService groupGoalService, IGroupCommentService groupcommentService, IGroupUpdateService groupupdateService, ICommentUserService commentUserService)
        {
            var goals = goalService.GetTop20Goals(userid);
            var comments = commentService.GetTop20CommentsOfPublicGoals(userid);
            var updates = updateService.GetTop20Updates(userid);
            var groupusers = groupUserSevice.GetTop20GroupsUsersForProfile(userid);
            var supports = supportService.GetTop20Support(userid);

            return (from g in goals
                    select new NotificationsViewModel()
                    {
                        GoalId = g.GoalId,
                        UserId = g.UserId,
                        CreatedDate = g.CreatedDate,
                        UserName = g.User.UserName,
                        GoalName = g.GoalName,
                        Desc = g.Desc,
                        ProfilePicUrl = g.User.ProfilePicUrl,
                        Goal = g,
                        NotificationDate = DateCalculation(g.CreatedDate),
                        NotificationType = (int)NotificationType.createdGoal
                    })
                    .Concat(from c in comments
                            select new NotificationsViewModel()
                            {
                                CommentId = c.CommentId,
                                CreatedDate = c.CommentDate,

                                UserName = commentUserService.GetUser(c.CommentId).UserName,
                                UserId = commentUserService.GetUser(c.CommentId).Id,
                                ProfilePicUrl = commentUserService.GetUser(c.CommentId).ProfilePicUrl,

                                CommentText = c.CommentText,
                                UpdateId = c.UpdateId,
                                GoalName = c.Update.Goal.GoalName,
                                GoalId = c.Update.GoalId,
                                NumberOfComments = commentService.GetCommentsByUpdate(c.UpdateId).Count(),
                                Updatemsg = updateService.GetUpdate(c.UpdateId).Updatemsg,
                                NotificationDate = DateCalculation(c.CommentDate),
                                NotificationType = (int)NotificationType.commentedOnUpdate
                            })
                    .Concat(from u in updates
                            select new NotificationsViewModel()
                            {
                                Update = u,
                                UpdateId = u.UpdateId,
                                GoalId = u.GoalId,
                                ProfilePicUrl = u.Goal.User.ProfilePicUrl,
                                GoalName = u.Goal.GoalName,
                                Updatemsg = u.Updatemsg,
                                UserId = u.Goal.UserId,
                                UserName = u.Goal.User.UserName,
                                NumberOfComments = commentService.GetCommentsByUpdate(u.UpdateId).Count(),
                                CreatedDate = u.UpdateDate,
                                NotificationDate = DateCalculation(u.UpdateDate),
                                NotificationType = (int)NotificationType.updatedGoal
                            })
                    .Concat(from s in supports
                            select new NotificationsViewModel()
                            {
                                Support = s,
                                SupportId = s.SupportId,
                                GoalName = s.Goal.GoalName,

                                ProfilePicUrl = userService.GetUser(s.UserId).ProfilePicUrl,
                                UserName = userService.GetUser(s.UserId).UserName,
                                UserId = s.UserId,

                                CreatedDate = s.SupportedDate,
                                GoalId = s.GoalId,
                                NotificationType = (int)NotificationType.supportGoal
                            })
                    .Concat(from gu in groupusers
                            select new NotificationsViewModel()
                            {
                                GroupUser = gu,

                                GroupUserId = gu.GroupUserId,

                                UserName = userService.GetUser(gu.UserId).UserName,
                                ProfilePicUrl = userService.GetUser(gu.UserId).ProfilePicUrl,
                                UserId = gu.UserId,

                                GroupName = groupService.GetGroup(gu.GroupId).GroupName,
                                GroupId = gu.GroupId,
                                CreatedDate = gu.AddedDate,
                                NotificationDate = DateCalculation(gu.AddedDate),
                                NotificationType = (int)NotificationType.joinGroup
                            })
                                                        .OrderByDescending(n => n.CreatedDate);
        }
        internal IEnumerable<NotificationsViewModel> GetNotifications(string userId, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupService groupService, IGroupUserService groupUserSevice, IGroupGoalService groupGoalService, IGroupCommentService groupcommentService, IGroupUpdateService groupupdateService, IFollowUserService followUserService, IGroupCommentUserService groupCommentUserService, ICommentUserService commentUserService, IGroupUpdateUserService groupUpdateUserService)
        {
            var goals = goalService.GetTop20GoalsofFollowing(userId);
            var comments = commentService.GetTop20CommentsOfPublicGoalFollwing(userId);
            var updates = updateService.GetTop20UpdatesOfFollowing(userId);
            var groupusers = groupUserSevice.GetTop20GroupsUsers(userId);
            var supports = supportService.GetTop20SupportsOfFollowings(userId);
            var groupgoals = groupGoalService.GetTop20GroupsGoals(userId, groupUserSevice);
            var groupupdates = groupupdateService.GetTop20Updates(userId, groupUserSevice);
            var groupComments = groupcommentService.GetTop20CommentsOfPublicGoals(userId, groupUserSevice);
            var followers = followUserService.GetTop20Followers(userId);
            // var groups = groupService.GetTop20Groups(groupids);

            return (from g in goals
                    select new NotificationsViewModel()
                    {
                        GoalId = g.GoalId,
                        UserId = g.UserId,
                        CreatedDate = g.CreatedDate,
                        UserName = g.User.UserName,
                        GoalName = g.GoalName,
                        Desc = g.Desc,
                        ProfilePicUrl = g.User.ProfilePicUrl,
                        Goal = g,
                        NotificationDate = DateCalculation(g.CreatedDate),
                        NotificationType = (int)NotificationType.createdGoal
                    })
                    .Concat(from c in comments
                            select new NotificationsViewModel()
                            {
                                CommentId = c.CommentId,
                                CreatedDate = c.CommentDate,
                                CommentText = c.CommentText,
                                UpdateId = c.UpdateId,
                                GoalName = c.Update.Goal.GoalName,
                                GoalId = c.Update.GoalId,
                                NumberOfComments = commentService.GetCommentsByUpdate(c.UpdateId).Count(),
                                Updatemsg = updateService.GetUpdate(c.UpdateId).Updatemsg,
                                NotificationDate = DateCalculation(c.CommentDate),
                                UserName = commentUserService.GetUser(c.CommentId).UserName,
                                UserId = commentUserService.GetUser(c.CommentId).Id,
                                ProfilePicUrl = commentUserService.GetUser(c.CommentId).ProfilePicUrl,

                                NotificationType = (int)NotificationType.commentedOnUpdate
                            })
                    .Concat(from u in updates
                            select new NotificationsViewModel()
                            {
                                Update = u,
                                UpdateId = u.UpdateId,
                                GoalId = u.GoalId,
                                ProfilePicUrl = u.Goal.User.ProfilePicUrl,
                                GoalName = u.Goal.GoalName,
                                Updatemsg = u.Updatemsg,
                                UserId = u.Goal.UserId,
                                UserName = u.Goal.User.UserName,
                                NumberOfComments = commentService.GetCommentsByUpdate(u.UpdateId).Count(),
                                CreatedDate = u.UpdateDate,
                                NotificationDate = DateCalculation(u.UpdateDate),
                                NotificationType = (int)NotificationType.updatedGoal
                            })
                    .Concat(from gr in groupgoals
                            select new NotificationsViewModel()
                            {

                                GroupGoalId = gr.GroupGoalId,
                                CreatedDate = gr.CreatedDate,

                                UserId = gr.GroupUser.UserId,
                                UserName = userService.GetUser(gr.GroupUser.UserId).UserName,
                                ProfilePicUrl = userService.GetUser(gr.GroupUser.UserId).ProfilePicUrl,

                                GroupName = gr.Group.GroupName,
                                GroupGoalName = gr.GoalName,
                                GroupId = gr.GroupId,
                                NotificationDate = DateCalculation(gr.CreatedDate),
                                NotificationType = (int)NotificationType.createGroup

                            })
                    .Concat(from gu in groupusers
                            select new NotificationsViewModel()
                            {
                                GroupUser = gu,
                                GroupUserId = gu.GroupUserId,

                                UserId = gu.UserId,
                                UserName = userService.GetUser(gu.UserId).UserName,
                                ProfilePicUrl = userService.GetUser(gu.UserId).ProfilePicUrl,

                                GroupName = groupService.GetGroup(gu.GroupId).GroupName,
                                GroupId = gu.GroupId,
                                CreatedDate = gu.AddedDate,
                                NotificationDate = DateCalculation(gu.AddedDate),
                                NotificationType = (int)NotificationType.joinGroup
                            })
                    .Concat(from s in supports
                            select new NotificationsViewModel()
                            {
                                Support = s,
                                SupportId = s.SupportId,
                                GoalName = s.Goal.GoalName,

                                ProfilePicUrl = userService.GetUser(s.UserId).ProfilePicUrl,
                                UserName = userService.GetUser(s.UserId).UserName,
                                UserId = s.UserId,
                                CreatedDate = s.SupportedDate,
                                GoalId = s.GoalId,
                                NotificationDate = DateCalculation(s.SupportedDate),
                                NotificationType = (int)NotificationType.supportGoal
                            })
                    .Concat(from gu in groupupdates
                            select new NotificationsViewModel()
                            {
                                GroupUpdate = gu,
                                GroupUpdateId = gu.GroupUpdateId,
                                GroupUpdatemsg = gu.Updatemsg,

                                UserId = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).Id,
                                ProfilePicUrl = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).ProfilePicUrl,
                                UserName = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).UserName,
                                NotificationDate = DateCalculation(gu.UpdateDate),
                                CreatedDate = gu.UpdateDate,
                                GroupGoalId = gu.GroupGoalId,
                                GroupId = gu.GroupGoal.GroupId,
                                GroupGoalName = gu.GroupGoal.GoalName,
                                GroupName = gu.GroupGoal.Group.GroupName,
                                NotificationType = (int)NotificationType.updatedGroupgoal

                            })
                    .Concat(from gc in groupComments
                            select new NotificationsViewModel()
                            {

                                GroupCommentId = gc.GroupCommentId,
                                GroupCommentText = gc.CommentText,
                                GroupUpdateId = gc.GroupUpdateId,

                                GroupGoalId = gc.GroupUpdate.GroupGoalId,
                                GroupGoalName = gc.GroupUpdate.GroupGoal.GoalName,

                                UserId = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).Id,
                                UserName = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).UserName,
                                ProfilePicUrl = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).ProfilePicUrl,

                                GroupUpdatemsg = gc.GroupUpdate.Updatemsg,
                                GroupId = gc.GroupUpdate.GroupGoal.GroupUser.GroupId,
                                GroupName = gc.GroupUpdate.GroupGoal.Group.GroupName,
                                NotificationDate = DateCalculation(gc.CommentDate),
                                CreatedDate = gc.CommentDate,
                                NotificationType = (int)NotificationType.commentedonGroupUdate
                            })
                    .Concat(from f in followers
                            select new NotificationsViewModel()
                            {
                                FollowUserId = f.FollowUserId,
                                FromUser = f.FromUser,
                                ToUser = f.ToUser,
                                ProfilePicUrl = f.FromUser.ProfilePicUrl,
                                FromUserId = f.FromUserId,
                                ToUserId = f.ToUserId,
                                CreatedDate = f.AddedDate,
                                NotificationDate = DateCalculation(f.AddedDate),
                                NotificationType = (int)NotificationType.followUser
                            }).OrderByDescending(n => n.CreatedDate);
        }
        internal IEnumerable <NotificationsViewModel> GetProfileNotifications(string userid, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupService groupService, IGroupUserService groupUserSevice, IGroupGoalService groupGoalService, IGroupCommentService groupcommentService, IGroupUpdateService groupupdateService, ICommentUserService commentUserService)
        {
            var goals      = goalService.GetTop20Goals(userid);
            var comments   = commentService.GetTop20CommentsOfPublicGoals(userid);
            var updates    = updateService.GetTop20Updates(userid);
            var groupusers = groupUserSevice.GetTop20GroupsUsersForProfile(userid);
            var supports   = supportService.GetTop20Support(userid);


            return((from g in goals
                    select new NotificationsViewModel()
            {
                GoalId = g.GoalId,
                UserId = g.UserId,
                CreatedDate = g.CreatedDate,
                UserName = g.User.UserName,
                GoalName = g.GoalName,
                Desc = g.Desc,
                ProfilePicUrl = g.User.ProfilePicUrl,
                Goal = g,
                NotificationDate = DateCalculation(g.CreatedDate),
                NotificationType = (int)NotificationType.createdGoal
            })
                   .Concat(from c in comments
                           select new NotificationsViewModel()
            {
                CommentId = c.CommentId,
                CreatedDate = c.CommentDate,

                UserName = commentUserService.GetUser(c.CommentId).UserName,
                UserId = commentUserService.GetUser(c.CommentId).Id,
                ProfilePicUrl = commentUserService.GetUser(c.CommentId).ProfilePicUrl,

                CommentText = c.CommentText,
                UpdateId = c.UpdateId,
                GoalName = c.Update.Goal.GoalName,
                GoalId = c.Update.GoalId,
                NumberOfComments = commentService.GetCommentsByUpdate(c.UpdateId).Count(),
                Updatemsg = updateService.GetUpdate(c.UpdateId).Updatemsg,
                NotificationDate = DateCalculation(c.CommentDate),
                NotificationType = (int)NotificationType.commentedOnUpdate
            })
                   .Concat(from u in updates
                           select new NotificationsViewModel()
            {
                Update = u,
                UpdateId = u.UpdateId,
                GoalId = u.GoalId,
                ProfilePicUrl = u.Goal.User.ProfilePicUrl,
                GoalName = u.Goal.GoalName,
                Updatemsg = u.Updatemsg,
                UserId = u.Goal.UserId,
                UserName = u.Goal.User.UserName,
                NumberOfComments = commentService.GetCommentsByUpdate(u.UpdateId).Count(),
                CreatedDate = u.UpdateDate,
                NotificationDate = DateCalculation(u.UpdateDate),
                NotificationType = (int)NotificationType.updatedGoal
            })
                   .Concat(from s in supports
                           select new NotificationsViewModel()
            {
                Support = s,
                SupportId = s.SupportId,
                GoalName = s.Goal.GoalName,

                ProfilePicUrl = userService.GetUser(s.UserId).ProfilePicUrl,
                UserName = userService.GetUser(s.UserId).UserName,
                UserId = s.UserId,

                CreatedDate = s.SupportedDate,
                GoalId = s.GoalId,
                NotificationType = (int)NotificationType.supportGoal
            })
                   .Concat(from gu in groupusers
                           select new NotificationsViewModel()
            {
                GroupUser = gu,

                GroupUserId = gu.GroupUserId,

                UserName = userService.GetUser(gu.UserId).UserName,
                ProfilePicUrl = userService.GetUser(gu.UserId).ProfilePicUrl,
                UserId = gu.UserId,

                GroupName = groupService.GetGroup(gu.GroupId).GroupName,
                GroupId = gu.GroupId,
                CreatedDate = gu.AddedDate,
                NotificationDate = DateCalculation(gu.AddedDate),
                NotificationType = (int)NotificationType.joinGroup
            })
                   .OrderByDescending(n => n.CreatedDate));
        }
        internal IEnumerable <NotificationsViewModel> GetNotifications(string userId, IGoalService goalService, ICommentService commentService, IUpdateService updateService, ISupportService supportService, IUserService userService, IGroupService groupService, IGroupUserService groupUserSevice, IGroupGoalService groupGoalService, IGroupCommentService groupcommentService, IGroupUpdateService groupupdateService, IFollowUserService followUserService, IGroupCommentUserService groupCommentUserService, ICommentUserService commentUserService, IGroupUpdateUserService groupUpdateUserService)
        {
            var goals         = goalService.GetTop20GoalsofFollowing(userId);
            var comments      = commentService.GetTop20CommentsOfPublicGoalFollwing(userId);
            var updates       = updateService.GetTop20UpdatesOfFollowing(userId);
            var groupusers    = groupUserSevice.GetTop20GroupsUsers(userId);
            var supports      = supportService.GetTop20SupportsOfFollowings(userId);
            var groupgoals    = groupGoalService.GetTop20GroupsGoals(userId, groupUserSevice);
            var groupupdates  = groupupdateService.GetTop20Updates(userId, groupUserSevice);
            var groupComments = groupcommentService.GetTop20CommentsOfPublicGoals(userId, groupUserSevice);
            var followers     = followUserService.GetTop20Followers(userId);

            // var groups = groupService.GetTop20Groups(groupids);

            return((from g in goals
                    select new NotificationsViewModel()
            {
                GoalId = g.GoalId,
                UserId = g.UserId,
                CreatedDate = g.CreatedDate,
                UserName = g.User.UserName,
                GoalName = g.GoalName,
                Desc = g.Desc,
                ProfilePicUrl = g.User.ProfilePicUrl,
                Goal = g,
                NotificationDate = DateCalculation(g.CreatedDate),
                NotificationType = (int)NotificationType.createdGoal
            })
                   .Concat(from c in comments
                           select new NotificationsViewModel()
            {
                CommentId = c.CommentId,
                CreatedDate = c.CommentDate,
                CommentText = c.CommentText,
                UpdateId = c.UpdateId,
                GoalName = c.Update.Goal.GoalName,
                GoalId = c.Update.GoalId,
                NumberOfComments = commentService.GetCommentsByUpdate(c.UpdateId).Count(),
                Updatemsg = updateService.GetUpdate(c.UpdateId).Updatemsg,
                NotificationDate = DateCalculation(c.CommentDate),
                UserName = commentUserService.GetUser(c.CommentId).UserName,
                UserId = commentUserService.GetUser(c.CommentId).Id,
                ProfilePicUrl = commentUserService.GetUser(c.CommentId).ProfilePicUrl,

                NotificationType = (int)NotificationType.commentedOnUpdate
            })
                   .Concat(from u in updates
                           select new NotificationsViewModel()
            {
                Update = u,
                UpdateId = u.UpdateId,
                GoalId = u.GoalId,
                ProfilePicUrl = u.Goal.User.ProfilePicUrl,
                GoalName = u.Goal.GoalName,
                Updatemsg = u.Updatemsg,
                UserId = u.Goal.UserId,
                UserName = u.Goal.User.UserName,
                NumberOfComments = commentService.GetCommentsByUpdate(u.UpdateId).Count(),
                CreatedDate = u.UpdateDate,
                NotificationDate = DateCalculation(u.UpdateDate),
                NotificationType = (int)NotificationType.updatedGoal
            })
                   .Concat(from gr in groupgoals
                           select new NotificationsViewModel()
            {
                GroupGoalId = gr.GroupGoalId,
                CreatedDate = gr.CreatedDate,

                UserId = gr.GroupUser.UserId,
                UserName = userService.GetUser(gr.GroupUser.UserId).UserName,
                ProfilePicUrl = userService.GetUser(gr.GroupUser.UserId).ProfilePicUrl,

                GroupName = gr.Group.GroupName,
                GroupGoalName = gr.GoalName,
                GroupId = gr.GroupId,
                NotificationDate = DateCalculation(gr.CreatedDate),
                NotificationType = (int)NotificationType.createGroup
            })
                   .Concat(from gu in groupusers
                           select new NotificationsViewModel()
            {
                GroupUser = gu,
                GroupUserId = gu.GroupUserId,

                UserId = gu.UserId,
                UserName = userService.GetUser(gu.UserId).UserName,
                ProfilePicUrl = userService.GetUser(gu.UserId).ProfilePicUrl,

                GroupName = groupService.GetGroup(gu.GroupId).GroupName,
                GroupId = gu.GroupId,
                CreatedDate = gu.AddedDate,
                NotificationDate = DateCalculation(gu.AddedDate),
                NotificationType = (int)NotificationType.joinGroup
            })
                   .Concat(from s in supports
                           select new NotificationsViewModel()
            {
                Support = s,
                SupportId = s.SupportId,
                GoalName = s.Goal.GoalName,

                ProfilePicUrl = userService.GetUser(s.UserId).ProfilePicUrl,
                UserName = userService.GetUser(s.UserId).UserName,
                UserId = s.UserId,
                CreatedDate = s.SupportedDate,
                GoalId = s.GoalId,
                NotificationDate = DateCalculation(s.SupportedDate),
                NotificationType = (int)NotificationType.supportGoal
            })
                   .Concat(from gu in groupupdates
                           select new NotificationsViewModel()
            {
                GroupUpdate = gu,
                GroupUpdateId = gu.GroupUpdateId,
                GroupUpdatemsg = gu.Updatemsg,

                UserId = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).Id,
                ProfilePicUrl = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).ProfilePicUrl,
                UserName = groupUpdateUserService.GetGroupUpdateUser(gu.GroupUpdateId).UserName,
                NotificationDate = DateCalculation(gu.UpdateDate),
                CreatedDate = gu.UpdateDate,
                GroupGoalId = gu.GroupGoalId,
                GroupId = gu.GroupGoal.GroupId,
                GroupGoalName = gu.GroupGoal.GoalName,
                GroupName = gu.GroupGoal.Group.GroupName,
                NotificationType = (int)NotificationType.updatedGroupgoal
            })
                   .Concat(from gc in groupComments
                           select new NotificationsViewModel()
            {
                GroupCommentId = gc.GroupCommentId,
                GroupCommentText = gc.CommentText,
                GroupUpdateId = gc.GroupUpdateId,

                GroupGoalId = gc.GroupUpdate.GroupGoalId,
                GroupGoalName = gc.GroupUpdate.GroupGoal.GoalName,

                UserId = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).Id,
                UserName = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).UserName,
                ProfilePicUrl = groupCommentUserService.GetGroupCommentUser(gc.GroupCommentId).ProfilePicUrl,

                GroupUpdatemsg = gc.GroupUpdate.Updatemsg,
                GroupId = gc.GroupUpdate.GroupGoal.GroupUser.GroupId,
                GroupName = gc.GroupUpdate.GroupGoal.Group.GroupName,
                NotificationDate = DateCalculation(gc.CommentDate),
                CreatedDate = gc.CommentDate,
                NotificationType = (int)NotificationType.commentedonGroupUdate
            })
                   .Concat(from f in followers
                           select new NotificationsViewModel()
            {
                FollowUserId = f.FollowUserId,
                FromUser = f.FromUser,
                ToUser = f.ToUser,
                ProfilePicUrl = f.FromUser.ProfilePicUrl,
                FromUserId = f.FromUserId,
                ToUserId = f.ToUserId,
                CreatedDate = f.AddedDate,
                NotificationDate = DateCalculation(f.AddedDate),
                NotificationType = (int)NotificationType.followUser
            }).OrderByDescending(n => n.CreatedDate));
        }
Exemple #9
0
 /// <summary>
 /// Creates an Instance of GroupCommentController.
 /// </summary>
 /// <param name="groupCommentService">Instance of GroupCommentService from business logic</param>
 /// <param name="logger">Instance of logger</param>
 public GroupCommentController(IGroupCommentService groupCommentService, ILogger logger) : base(logger)
 {
     _groupCommentService = groupCommentService;
 }
        public void SetUp()
        {
            groupRepository = new Mock<IGroupRepository>();
            followUserRepository = new Mock<IFollowUserRepository>();
            groupUserRepository = new Mock<IGroupUserRepository>();
            focusRepository = new Mock<IFocusRepository>();
            commentRepository = new Mock<ICommentRepository>();
            groupGoalRepository = new Mock<IGroupGoalRepository>();
            metricRepository = new Mock<IMetricRepository>();
            userRepository = new Mock<IUserRepository>();
            groupUdateRepository = new Mock<IGroupUpdateRepository>();
            updateUserRepository = new Mock<IGroupUpdateUserRepository>();
            groupCommentRepository = new Mock<IGroupCommentRepository>();
            groupCommentUserRepository = new Mock<IGroupCommentUserRepository>();
            groupInvitationRepository = new Mock<IGroupInvitationRepository>();
            groupRequestRepository = new Mock<IGroupRequestRepository>();
            goalStatusRepository = new Mock<IGoalStatusRepository>();
            userProfileRepository = new Mock<IUserProfileRepository>();
            groupUpdateSupportRepository = new Mock<IGroupUpdateSupportRepository>();
            groupUpdateUserRepository = new Mock<IGroupUpdateUserRepository>();

            unitOfWork = new Mock<IUnitOfWork>();
            controllerContext = new Mock<ControllerContext>();
            contextBase = new Mock<HttpContextBase>();
            // httpContext = new Mock<HttpContext>();
            httpRequest = new Mock<HttpRequestBase>();
            httpResponse = new Mock<HttpResponseBase>();
            genericPrincipal = new Mock<GenericPrincipal>();


            identity = new Mock<IIdentity>();
            principal = new Mock<IPrincipal>();



            groupService = new GroupService(groupRepository.Object, followUserRepository.Object, groupUserRepository.Object, unitOfWork.Object);
            focusService = new FocusService(focusRepository.Object, unitOfWork.Object);
            metricService = new MetricService(metricRepository.Object, unitOfWork.Object);
            groupgoalService = new GroupGoalService(groupGoalRepository.Object, unitOfWork.Object);
            groupUserService = new GroupUserService(groupUserRepository.Object, userRepository.Object, unitOfWork.Object);
            groupUpdateService = new GroupUpdateService(groupUdateRepository.Object, updateUserRepository.Object, groupGoalRepository.Object, unitOfWork.Object);
            groupCommentService = new GroupCommentService(groupCommentRepository.Object, groupCommentUserRepository.Object, groupUdateRepository.Object, unitOfWork.Object);
            userService = new UserService(userRepository.Object, unitOfWork.Object, userProfileRepository.Object);
            groupInvitationService = new GroupInvitationService(groupInvitationRepository.Object, unitOfWork.Object);
            groupRequestService = new GroupRequestService(groupRequestRepository.Object, unitOfWork.Object);
            groupCommentUserService = new GroupCommentUserService(groupCommentUserRepository.Object, unitOfWork.Object, userRepository.Object);
            goalStatusService = new GoalStatusService(goalStatusRepository.Object, unitOfWork.Object);
            userProfileService = new UserProfileService(userProfileRepository.Object, unitOfWork.Object);
            groupUpdateSupportService = new GroupUpdateSupportService(groupUpdateSupportRepository.Object, unitOfWork.Object);
            groupUpdateUserService = new GroupUpdateUserService(groupUpdateUserRepository.Object, unitOfWork.Object, userRepository.Object);
        }