-
Notifications
You must be signed in to change notification settings - Fork 0
/
FacadeTopFanForm.cs
58 lines (48 loc) · 1.75 KB
/
FacadeTopFanForm.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using FacebookWrapper.ObjectModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace FacebookAppForm
{
class FacadeTopFanForm
{
FacebookUserUtiles m_FacebookUserUtiles = FacebookUserUtiles.GetInstance;
public Func<IDictionary<User,int>, User, int, bool> Test { get; set; }
public Func<IEnumerable<PostedItem>, List<User>> Choise { get; set; }
public FacadeTopFanForm()
{
}
public User GetResultFromTheTest(Dictionary<User, int> i_Collection)
{
int maxCounter = int.MinValue;
User UserToReturn = null;
foreach (User UserVar in i_Collection.Keys)
{
if (Test.Invoke(i_Collection, UserVar, maxCounter))
{
UserToReturn = UserVar;
maxCounter = i_Collection[UserVar];
}
}
return UserToReturn;
}
internal Dictionary<User, int> CalcPostedItemsDict(IEnumerable<PostedItem> i_collection)
{
return m_FacebookUserUtiles.UpdateLikesToDict(Choise.Invoke(i_collection), new Dictionary<User, int>());
}
internal IEnumerable<PostedItem> FetchAllPosts()
{
return m_FacebookUserUtiles.FetchUserPosts();
}
internal ICollection<PostedItem> FetchAllPhotos()
{
List<Photo> photosToReturn = new List<Photo>();
foreach(Album album in m_FacebookUserUtiles.FetchUserAlbum())
{
photosToReturn.AddRange(album.Photos);
}
return photosToReturn as ICollection<PostedItem>;
}
}
}