public static VotingClass GetPollV2(Guid leagueId, long pollId, Guid mem) { VotingClass v = new VotingClass(); var dc = new ManagementContext(); try { var voting = dc.VotingV2.Where(x => x.LeagueOwner.LeagueId == leagueId && x.IsDeleted == false && x.VotingId == pollId).FirstOrDefault(); if (voting == null) return null; v.IsPublic = voting.IsPublic; v.IsClosed = voting.IsClosed; v.IsDeleted = voting.IsDeleted; v.IsOpenToLeague = voting.IsOpenToLeague; v.Title = voting.Title; v.Version = 2; foreach (var voter in voting.Voters) { MemberDisplay m = new MemberDisplay(); m.MemberId = voter.Member.MemberId; m.DerbyName = voter.Member.DerbyName; m.PlayerNumber = voter.Member.PlayerNumber; m.UserId = voter.Member.AspNetUserId; v.Voters.Add(m); } //= MemberCache.GetLeagueMembers(mem, leagueId); foreach (var question in voting.Questions.OrderBy(x => x.QuestionSortId)) { VotingQuestionClass q = new VotingQuestionClass(); q.Question = question.Question; q.SortableOrderId = question.QuestionSortId; q.QuestionId = question.QuestionId; q.QuestionType = (QuestionTypeEnum)question.QuestionType; var answers = question.Answers.Where(x => x.WasRemoved == false).ToList(); for (int vo = 0; vo < answers.Count; vo++) { try { VotingAnswersClass vc = new VotingAnswersClass(); vc.Answer = answers[vo].Answer; vc.AnswerId = answers[vo].AnswerId; vc.WasRemoved = answers[vo].WasRemoved; q.Answers.Add(vc); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } for (int vo = 0; vo < question.Votes.Count; vo++) { try { VotesClass vc = new VotesClass(); vc.IPAddress = question.Votes[vo].IPAddress; vc.OtherText = question.Votes[vo].OtherText; vc.Created = question.Votes[vo].Created; if (question.Votes[vo].AnswerSelected != null) { vc.AnswerId = question.Votes[vo].AnswerSelected.AnswerId; vc.AnswerIds.Add(vc.AnswerId); } foreach (var ans in question.Votes[vo].AnswersSelected) { vc.AnswerIds.Add(ans.AnswerSelected.AnswerId); } if (question.Votes[vo].Member != null) { vc.MemberId = question.Votes[vo].Member.MemberId; vc.DerbyName = question.Votes[vo].Member.DerbyName; vc.UserId = question.Votes[vo].Member.AspNetUserId; } vc.VoteId = question.Votes[vo].VoteId; q.Votes.Add(vc); v.Voters.Remove(v.Voters.Where(x => x.MemberId == vc.MemberId).FirstOrDefault()); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } v.Questions.Add(q); } v.Description = voting.Description; v.IsClosed = voting.IsClosed; v.VotingId = voting.VotingId; v.IsPollAnonymous = voting.IsPollAnonymous; v.LeagueId = leagueId.ToString().Replace("-", ""); //making due for old polls. return v; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
public ActionResult CreatePoll(string leagueId) { try { var mem = RDN.Library.Classes.Account.User.GetMemberId(); var league = MemberCache.GetLeagueOfMember(mem); if (new Guid(leagueId) != league.LeagueId) return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.na)); VotingClass vc = new VotingClass(); vc.LeagueName = league.Name; for (int i = 0; i < league.LeagueMembers.Count; i++) { vc.Voters.Add(new MemberDisplayBasic() { MemberId = league.LeagueMembers[i].MemberId, Firstname = league.LeagueMembers[i].Firstname, LastName = league.LeagueMembers[i].LastName, DerbyName = league.LeagueMembers[i].DerbyName }); } VotingQuestionClass q = new VotingQuestionClass(); q.Answers.Add(new VotingAnswersClass()); q.Answers.Add(new VotingAnswersClass()); q.Answers.Add(new VotingAnswersClass()); q.Answers.Add(new VotingAnswersClass()); vc.Questions.Add(q); vc.LeagueId = leagueId; return View(vc); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww)); }
public ActionResult CreatePollAdd(VotingClass voting) { try { var mem = RDN.Library.Classes.Account.User.GetMemberId(); var league = MemberCache.GetLeagueOfMember(mem); if (new Guid(voting.LeagueId) != league.LeagueId) return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.na)); for (int i = 0; i < 100; i++) { if (!String.IsNullOrEmpty(HttpContext.Request["question" + i])) { VotingQuestionClass question = new VotingQuestionClass(); question.Question = HttpContext.Request["question" + i].ToString(); question.QuestionType = (QuestionTypeEnum)Enum.Parse(typeof(QuestionTypeEnum), HttpContext.Request["questiontype" + i].ToString()); for (int j = 1; j < 100; j++) { if (!String.IsNullOrEmpty(HttpContext.Request["answer-" + j + "-" + i])) { VotingAnswersClass answer = new VotingAnswersClass(); answer.Answer = HttpContext.Request["answer-" + j + "-" + i].ToString(); question.Answers.Add(answer); } else break; } voting.Questions.Add(question); } else break; } foreach (string guid in voting.ToMemberIds.Split(',')) { Guid temp = new Guid(); bool didWork = Guid.TryParse(guid, out temp); if (didWork) voting.Voters.Add(new MemberDisplayBasic() { MemberId = temp }); } var poll = VotingFactory.AddPoll(voting, mem); return Redirect(Url.Content("~/poll/" + voting.LeagueId + "?u=" + SiteMessagesEnum.sag)); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww)); }
public ActionResult VoteOnPollV2(VotingClass vote) { try { var mem = RDN.Library.Classes.Account.User.GetMemberId(); var league = MemberCache.GetLeagueOfMember(mem); if (new Guid(vote.LeagueId) != league.LeagueId) return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.na)); var poll = VotingFactory.GetPollV2(league.LeagueId, vote.VotingId, mem); List<VotingQuestionClass> questions = new List<VotingQuestionClass>(); foreach (var question in poll.Questions) { VotingQuestionClass qu = new VotingQuestionClass(); qu.QuestionId = question.QuestionId; var v = new VotesClass(); if (question.QuestionType == QuestionTypeEnum.Single) { if (!String.IsNullOrEmpty(HttpContext.Request.Form["answer-" + question.QuestionId])) { v.AnswerIds.Add(Convert.ToInt64(HttpContext.Request.Form["answer-" + question.QuestionId].ToString())); } } else { foreach (var answer in question.Answers) { if (!String.IsNullOrEmpty(HttpContext.Request.Form["answer-" + question.QuestionId + "-" + answer.AnswerId])) { v.AnswerIds.Add(answer.AnswerId); } } } if (!String.IsNullOrEmpty(HttpContext.Request.Form["comment-" + question.QuestionId])) v.OtherText = HttpContext.Request.Form["comment-" + question.QuestionId].ToString(); qu.Votes.Add(v); questions.Add(qu); } var polls = VotingFactory.AddVoteV2(new Guid(vote.LeagueId), vote.VotingId, questions, mem); return Redirect(Url.Content("~/poll/" + vote.LeagueId + "?u=" + SiteMessagesEnum.sv)); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww)); }