public static Dictionary <Guid, DailyStandingUser> DetermineStanding( this List <Place> _places, Guid _dailyStandingGuid, Dictionary <Guid, DailyStandingUser> _standings = null) { if (_standings == null) { _standings = new Dictionary <Guid, DailyStandingUser>(); } int position = 1; foreach (var place in _places) { foreach (var userStat in place.UsersAtThisPosition) { DailyStandingUser dsu; if (_standings.ContainsKey(userStat.UserGuid)) { dsu = _standings[userStat.UserGuid]; } else { dsu = new DailyStandingUser(); dsu.Guid = Guid.NewGuid(); dsu.UserGuid = userStat.UserGuid; dsu.DisplayName = userStat.DisplayName; dsu.ParentGuid = _dailyStandingGuid; dsu.Active = true; dsu.ApprovedTagPosition = 0; dsu.ApprovedTagCount = 0; dsu.NewHydrantPosition = 0; dsu.NewHydrantCount = 0; _standings.Add(dsu.UserGuid, dsu); } if (place.SortedBy == UserStatSortColumn.NewHydrant) { dsu.NewHydrantCount = place.Score; dsu.NewHydrantPosition = position; } else if (place.SortedBy == UserStatSortColumn.ApprovedTags) { dsu.ApprovedTagCount = place.Score; dsu.ApprovedTagPosition = position; } } position += place.UsersAtThisPosition.Count; } return(_standings); }
public void Persist(DailyStandingUser _dailyStandingUser) { DailyStandingUserDAO dao = new DailyStandingUserDAO(MongoDB); dao.Persist(_dailyStandingUser); }