public List<Activity> Activity() { LightSpeedRepository repository = new LightSpeedRepository(GetAppSettings()); IEnumerable<Activity> ActivityList; ActivityList = repository.ActivityViewList(); List<Activity> items = new List<Activity>(); foreach (Activity act in ActivityList) { Activity item = new Activity(); item.id = act.id; item.activityName = act.activityName; item.orgName = act.orgName; item.projectName = act.projectName; item.userNames = act.userNames; items.Add(item); } return items; }
/// <summary> /// Gets an IEnumerable{SelectListItem} of project statuses, as a default /// SelectList doesn't add option value attributes. /// </summary> public IEnumerable<Activity> ActivityViewList() { IEnumerable<Relationship> RelList; RelList = FindAllRels(); RelList = RelList.OrderByDescending(x => x.relDateTime); RelList = RelList.Take(10).ToList(); List<Activity> items = new List<Activity>(); foreach (Relationship rel in RelList) { bool fail = false; Activity item = new Activity(); try { User user = new User(); user = GetUserByUsername(rel.username); item.userNames = user.Firstname + " " + user.Lastname; } catch { fail = true; } try { RelationshipType reltype = new RelationshipType(); reltype = GetRelTypeByID(rel.relTypeId); string activityPastTense = ""; if (reltype.relTypeText == "Like") { activityPastTense = "liked"; } if (reltype.relTypeText == "Join") { activityPastTense = "joined"; } item.activityName = activityPastTense; } catch { fail = true; } try { item.activityDateTime = rel.relDateTime; } catch { fail = true; } try { //get the page the relationship is related to Page page = new Page(); page = GetPageById(rel.pageId); item.projectName = page.Title; item.projectId = page.Id; //get the orgainsation that owns the page Organisation org = new Organisation(); org = GetOrgByID(page.orgID); item.orgName = org.OrgName; } catch { fail = true; } if (fail == false) { items.Add(item); } } IEnumerable<Page> PageList; PageList = AllPages(); PageList = PageList.OrderByDescending(x => x.ModifiedOn).ToList(); PageList = PageList.Take(10).ToList(); foreach (Page page in PageList) { Activity item = new Activity(); try { User user = new User(); user = GetUserByUsername(page.ModifiedBy); item.userNames = user.Firstname + " " + user.Lastname; } catch { } try { string activityPastTense = ""; if (page.ModifiedOn == page.CreatedOn) { activityPastTense = "added"; } else { activityPastTense = "edited"; } item.activityName = activityPastTense; } catch { } try { item.activityDateTime = page.ModifiedOn; } catch { } try { item.projectName = page.Title; item.projectId = page.Id; //get the orgainsation that owns the page Organisation org = new Organisation(); org = GetOrgByID(page.orgID); item.orgName = org.OrgName; } catch { } items.Add(item); } DateTime filter = new DateTime(2014, 10, 1); IEnumerable<User> UserList; UserList = AllUsers(); UserList.OrderByDescending(x => x.createdOn); UserList = UserList.Where(x => x.createdOn.Date > filter).ToList(); //UserList = UserList.Take(10).ToList(); foreach (User user in UserList) { Activity item = new Activity(); item.userNames = user.Firstname + " " + user.Lastname; item.activityName = "signup"; item.activityDateTime = user.createdOn; item.projectName = ""; item.projectId = 0; //get the orgainsation that owns the page Organisation org = new Organisation(); org = GetOrgByID(user.orgID); string orgname = org.OrgName; if (orgname.Contains("_") != true) { item.orgName = " from " + orgname; } items.Add(item); } items = items.OrderByDescending(x => x.activityDateTime).ToList(); items = items.Take(15).ToList(); return items; }
/// <summary> /// Constructor used by none-controllers /// </summary> public ActivityViewModel(Activity act) { id = act.id; userNames = act.userNames; orgName = act.orgName; projectId = act.projectId; projectName = act.projectName; activityName = act.activityName; activityDateTime = act.activityDateTime; }
/// <summary> /// Gets an IEnumerable{SelectListItem} of project statuses, as a default /// SelectList doesn't add option value attributes. /// </summary> public IEnumerable<Activity> WhatsHotList() { List<Activity> WhatsHotList = new List<Activity>(); DateTime filter = DateTime.Now.AddDays(-28); IEnumerable<Page> PageList; PageList = AllPages(); PageList = PageList.Where(x => x.ModifiedOn.Date > filter).ToList(); PageList = PageList.OrderByDescending(x => x.ModifiedOn).ToList(); foreach (Page page in PageList) { IEnumerable<Relationship> RelList; RelList = GetRelByPage(page.Id); int RelCount = RelList.Count(); Activity activity = new Activity(); activity.id = RelCount; activity.projectName = page.Title; activity.projectId = page.Id; activity.orgName = GetOrgByID(page.orgID).OrgName; WhatsHotList.Add(activity); } WhatsHotList = WhatsHotList.OrderByDescending(x => x.id).ToList(); WhatsHotList = WhatsHotList.Take(3).ToList(); return WhatsHotList; }