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 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; }
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> 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> 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)); }
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); }