Esempio n. 1
0
        public ActionResult TeamPollConfigurationForm(int? pollId)
        {
            var model = new PollConfigurationFormModel();

            //Modal Form for Configuring Polls
            if (pollId > 0)
            {
                //Get Existing PollConfigurationForm
                model = DAL.GetPollConfigurationForm((int)pollId);
            }
            else
            {
                model.TypeId = PollType.Team;
                model.PollId = 0;
                model.Options = new List<PollOptionModel>();
                var defaultOption = new PollOptionModel
                {
                    PollId = model.PollId,
                    PollOptionId = 0,
                    PollTitle = "",
                    PollDetails = "",
                    PollOptionDescription = "",
                    PollOptionUrl = "",
                    PollOptionVoteTotal = 0,
                    PercentageOfVotes = 0
                };
                model.Options.Add(defaultOption);
            }

            return View("_PollConfigurationForm", model);
        }
Esempio n. 2
0
        public ActionResult PollOptionConfigurationForm(int pollId, int pollOptionId)
        {
            var model = new PollOptionModel();
            model.PollId = pollId;
            if (pollOptionId > 0)
            {
                model = DAL.GetPollOption(pollId, pollOptionId);
            }

            return PartialView("_PollOptionConfigurationForm", model);
        }
Esempio n. 3
0
        public static List<PollOptionModel> GetPollOptions(int pollId)
        {
            spiffaiwebEntities db = LoadDB();
            var options = (from o in db.PollOptions where o.PollId == pollId select o);

            var optionsList = new List<PollOptionModel>();

            if (options != null)
            {
                foreach (var o in options)
                {
                    var option = new PollOptionModel
                    {
                        PollOptionId = o.PollOptionId,
                        PollOptionTitle = o.PollOptionTitle,
                        PollOptionDescription = o.PollOptionDescription,
                        PollOptionUrl = o.PollOptionUrl
                    };
                    optionsList.Add(option);
                }
            }
            return optionsList;
        }
Esempio n. 4
0
	    public static PollOptionModel GetPollOption(int pollId, int pollOptionId)
	    {
            spiffaiwebEntities db = LoadDB();
            var pollOption = (from o in db.PollOptions where o.PollId == pollId && o.PollOptionId == pollOptionId select o).FirstOrDefault();

	        var option = new PollOptionModel
	        {
                PollId = pollId,
                PollOptionTitle = pollOption.PollOptionTitle,
                PollOptionId = pollOption.PollOptionId,
                PollOptionDescription = pollOption.PollOptionDescription,
                PollOptionUrl = pollOption.PollOptionUrl,
	        };

	        return option;
	    }
Esempio n. 5
0
        public static PollOptionModel SavePollOptionConfiguration(PollOptionModel model)
	    {
	        PollOptionModel response = model;
            model.AlertType = AlertType.Error;

            spiffaiwebEntities db = new spiffaiwebEntities();
	        try
	        {
                var option = new PollOption
                {
                    PollId = model.PollId,
                    PollOptionTitle = model.PollOptionTitle,
                    PollOptionDescription = model.PollOptionDescription,
                    PollOptionUrl = model.PollOptionUrl,
                };

                if (model.PollOptionId > 0)
                {
                    //Edit
                    option.PollOptionId = model.PollOptionId;
                    db.Entry(option).State = EntityState.Modified;
                    db.SaveChanges();
                    model.AlertType = AlertType.Success;
                }
                else
                {
                    //Create Poll Option
                    db.PollOptions.Add(option);
                    db.SaveChanges();
                    model.AlertType = AlertType.Success;
                    response.PollOptionId = option.PollOptionId;

                    //Add to VoteCount
                    var voteCount = new PollVoteCount
                    {
                        PollId = model.PollId,
                        PollOptionId = option.PollOptionId,
                        PollOptionVoteTotal = 0
                    };
                    db.PollVoteCounts.Add(voteCount);
                    db.SaveChanges();
                }
            }
	        catch (Exception)
	        {
	            throw;
	        }
	        return response;
	    }
Esempio n. 6
0
        //public static List<PollOptionModel> GetPollOptionResults(int pollId)
        //{
        //    spiffaiwebEntities db = LoadDB();
        //    var options = (from o in db.PollOptions where o.PollId == pollId select o);
        //    var voteCounts = (from v in db.PollVoteCounts where v.PollId == pollId select v);

        //    var optionsList = new List<PollOptionModel>();
        //    foreach (var o in options)
        //    {
        //        var optionVotes = voteCounts.Where(u => u.PollOptionId == o.PollOptionId).Select(u => u.PollOptionVoteTotal).FirstOrDefault();
        //        var pollVotes = voteCounts.Where(u => u.PollOptionId == o.PollOptionId).Select(u => u.PollVoteTotal).FirstOrDefault();
        //        var option = new PollOptionModel
        //        {
        //            PollOptionId = o.PollOptionId,
        //            PollOptionTitle = o.PollOptionTitle,
        //            PollOptionDescription = o.PollOptionDescription,
        //            PollOptionUrl = o.PollOptionUrl,
        //            TotalVotes = optionVotes
        //        };
        //        optionsList.Add(option);
        //    }

        //    return optionsList;
        //}

        public static PollResultsModel GetPollResults(int pollId)
        {
            spiffaiwebEntities db = LoadDB();

            //Get Options
            var options = (from op in db.PollOptions where op.PollId == pollId select op);
            var pollVoteCounts = (from p in db.PollVoteCounts where p.PollId == pollId select p).ToList();
            var poll = (from p in db.Polls where p.PollId == pollId select p).FirstOrDefault();

            //get percentages & pollVoteTotal
            int pollVoteTotal = 0;
            int pollOptionPercentage = 0;

            foreach (var count in pollVoteCounts)
            {
                pollVoteTotal = pollVoteTotal + count.PollOptionVoteTotal;
            }

            var optionsList = new List<PollOptionModel>();

            foreach (var o in options)
            {
                int optionVoteTotal = pollVoteCounts.Where(u => u.PollOptionId == o.PollOptionId).Select(u => u.PollOptionVoteTotal).FirstOrDefault();
                int optionVotePercent = 0;
                string progressPercent = optionVotePercent.ToString() + "%";

                if (optionVoteTotal > 0)
                {
                    optionVotePercent = (optionVoteTotal / pollVoteTotal) * 100;
                    progressPercent = optionVotePercent.ToString() + "%";
                }


                var option = new PollOptionModel
                {
                    PollId = o.PollId,
                    PollOptionId = o.PollOptionId,
                    PollOptionTitle = o.PollOptionTitle,
                    PollOptionDescription = o.PollOptionDescription,
                    PollOptionUrl = o.PollOptionUrl,
                    PollOptionVoteTotal = optionVoteTotal,
                    PercentageOfVotes = optionVotePercent,
                    ProgressPercent = progressPercent
                };
                optionsList.Add(option);
            }

            var result = new PollResultsModel
            {
                PollId = pollId,
                PollTitle = poll.PollTitle,
                PollDetails = poll.PollDetails,
                Deadline = poll.Deadline,
                IsActive = poll.IsActive,
                Options = optionsList,
                TotalPollVotes = pollVoteTotal
            };


            return result;

        }
Esempio n. 7
0
 public ActionResult SavePollOptionConfiguration(PollOptionModel model)
 {
     //Action to Add/Update Poll Configuration
     if (ModelState.IsValid)
     {
         var response = DAL.SavePollOptionConfiguration(model);
         return Json(new { Success = true, PollOptionId = response.PollOptionId });
     }
     return Json(new { Success = false });
 }