/// <summary> /// Rückgabe der Abstimmungsergebnisse /// </summary> /// <param name="frameNumber"></param> /// <returns></returns> public List <VotingResult> GetResult(int frameNumber) { List <VotingResult> results = new List <VotingResult>(); IEnumerable <Voting> frameVotings = Votings.Where(v => v.FrameNumber == frameNumber); // Resultat zusammenzählen for (int i = 0; i < PlayerCount; i++) { VotingResult result = new VotingResult { PlayerId = i }; result.GameAction = new GameAction { Direction = frameVotings.Where(v => v.PlayerId == i).GroupBy(v => v.GameAction?.Direction) .OrderByDescending(gp => gp.Count()).Select(v => v.Key).FirstOrDefault() ?? Direction.Undefined, Action = frameVotings.Where(v => v.PlayerId == i).GroupBy(v => v.GameAction?.Action) .OrderByDescending(gp => gp.Count()).Select(v => v.Key).FirstOrDefault() ?? Action.Undefined }; results.Add(result); } return(results); }
public CongressVotingsPartialViewModel(int countryID, IQueryable <CongressVoting> votingsQuery, PagingParam pagingParam) { PagingParam = pagingParam; PagingParam.RecordsPerPage = Config.CongressVotingsPerPage; var votings = votingsQuery .OrderByDescending(cv => cv.ID) .Apply(pagingParam).ToList(); foreach (var voting in votings) { Votings.Add(new CongressVotingsItemViewModel(voting)); } }
/// <summary> /// Voting hinzufügen /// </summary> /// <param name="voting"></param> public void AddVoting(Voting voting) { Voting userVoting = Votings.Where(v => (v.UserId == voting.UserId) && (v.FrameNumber == voting.FrameNumber)).FirstOrDefault(); if (userVoting != null) { // Bestehdendes Voting aktualisieren if (Votings.TryTake(out _)) { Votings.Add(voting); } } else { Votings.Add(voting); } }
private void LoadTestData() { House house = new House(Guid.NewGuid(), "г. Оренбург, ул. Чкалова, д. 32", "*****@*****.**", "admin"); Person person = new Person(Guid.NewGuid(), "Данил", "Кушмухаметов", "*****@*****.**", "user", house); CreatePersonRequest request1 = new CreatePersonRequest(Guid.NewGuid(), "Пользователь", "1", "*****@*****.**", "user", house); CreatePersonRequest request2 = new CreatePersonRequest(Guid.NewGuid(), "Пользователь", "2", "*****@*****.**", "user", house); NewsPost newsPost1 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера", "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" + "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." + " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.", null, DateTime.UtcNow, house); NewsPost newsPost2 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера", "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" + "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." + " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.", null, DateTime.UtcNow, house); NewsPost newsPost3 = new NewsPost(Guid.NewGuid(), "В Оренбурге завершены поиски без вести пропавшего пенсионера", "О том, что Андрей Боженков найден, сообщили в ПСО «ОренСпас» со ссылкой на родственников.\n" + "Накануне, 12 июня, мужчина сам вернулся домой. С ним все в порядке. Жизни и здоровью пенсионера ничто не угрожает." + " В причинах его ухода из дома разбираются сотрудники полиции. Проводится проверка.", null, DateTime.UtcNow, house); Meeting meeting = new Meeting(Guid.NewGuid(), "Уборка прилегающей территории", DateTime.UtcNow.AddHours(5), "Описание мероприятия", null, house); Voting voting = new Voting(Guid.NewGuid(), "Голосование 1", house); Variant variant1 = new Variant(Guid.NewGuid(), "Первый вариант", voting); Variant variant2 = new Variant(Guid.NewGuid(), "Второй вариант", voting); Variant variant3 = new Variant(Guid.NewGuid(), "Третий вариант", voting); Houses.Add(house); People.Add(person); CreatePersonRequests.AddRange(new CreatePersonRequest[] { request1, request2 }); News.AddRange(new NewsPost[] { newsPost1, newsPost2, newsPost3 }); Meetings.Add(meeting); Votings.Add(voting); Variants.AddRange(new Variant[] { variant1, variant2, variant3 }); SaveChanges(); }
public void Reset() { Votings.Clear(); }