void PullPolls() { progressIndicator.IsVisible = true; try { Task.Run(new Action(() => { polls = PollsMobile.GetPolls(SettingsMobile.Instance.User.MemberId, SettingsMobile.Instance.User.LoginId); Dispatcher.BeginInvoke(delegate { PollsList.ItemsSource = polls.Polls; if (polls.IsPollManager) { ApplicationBar.IsVisible = true; } progressIndicator.IsVisible = false; }); })); } catch (Exception exception) { ErrorHandler.Save(exception, MobileTypeEnum.WP8); } }
public static PollBase GetPollsV2(Guid leagueId, Guid currentMemberId) { PollBase fact = new PollBase(); var dc = new ManagementContext(); try { var membersCount = MemberCache.GetLeagueMembers(currentMemberId, leagueId).Count; var voting = dc.VotingV2.Where(x => x.LeagueOwner.LeagueId == leagueId && x.IsDeleted == false).ToList(); fact.IsPollManager = MemberCache.IsPollMgrOrBetterOfLeague(currentMemberId); fact.LeagueId = leagueId; for (int i = 0; i < voting.Count; i++) { VotingClass v = new VotingClass(); v.CanEditPoll = fact.IsPollManager; v.IsOpenToLeague = voting[i].IsOpenToLeague; v.IsClosed = voting[i].IsClosed; if (voting[i].Voters.Select(x => x.Member.MemberId).Contains(currentMemberId)) { v.IsCurrentMemberAllowedToVote = true; } if (fact.IsPollManager || v.IsOpenToLeague) v.CanViewPoll = true; if (fact.IsPollManager || (v.IsCurrentMemberAllowedToVote && !v.IsClosed)) v.CanVotePoll = true; //v.CanVotePoll = false; //v.CanViewPoll = false; //v.CanEditPoll = false; v.Version = 2; v.IsPublic = voting[i].IsPublic; v.IsDeleted = voting[i].IsDeleted; v.Question = voting[i].Title; v.VotingId = voting[i].VotingId; v.Created = voting[i].Created; v.NonVotes = voting[i].Voters.Count; if (voting[i].Questions.Count > 0) v.Voted = voting[i].Questions.FirstOrDefault().Votes.Count; fact.Polls.Add(v); } fact.Polls = fact.Polls.OrderByDescending(x => x.Created).ToList(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return fact; }
public static PollBase GetPollsNotVotedOn(Guid leagueId, Guid memId) { PollBase fact = new PollBase(); var dc = new ManagementContext(); try { var membersCount = MemberCache.GetLeagueMembers(memId, leagueId).Count; fact.LeagueId = leagueId; var votingV2 = dc.VotingV2.Where(x => x.LeagueOwner.LeagueId == leagueId && x.Voters.Select(y => y.Member.MemberId).Contains(memId) && x.IsClosed == false && x.IsDeleted == false && x.Questions.FirstOrDefault().Votes.Where(y => y.Member.MemberId == memId).Count() == 0).ToList(); fact.LeagueId = leagueId; for (int i = 0; i < votingV2.Count; i++) { VotingClass v = new VotingClass(); v.IsPublic = votingV2[i].IsPublic; v.IsDeleted = votingV2[i].IsDeleted; v.IsOpenToLeague = votingV2[i].IsOpenToLeague; v.Title = votingV2[i].Title; v.VotingId = votingV2[i].VotingId; v.Version = 2; fact.Polls.Add(v); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return fact; }