Exemplo n.º 1
0
        public ActionResult Index()
        {
            OSUSurvey  survey    = new OSUSurvey();
            Separator  separator = db.Separators.Find(1);
            SettingSet settings;

            if (separator.CurrentVersion == true)
            {
                settings = db.SettingSets.Find(1);
                separator.CurrentVersion  = false;
                db.Entry(separator).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.Version = "UO";
            }
            else
            {
                settings = db.SettingSets.Find(2);
                separator.CurrentVersion  = true;
                db.Entry(separator).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.Version = "OU";
            }

            survey.PointTotal  = 0;
            survey.SettingsID  = settings.SettingSetID;
            survey.CreatedDate = DateTime.Now;
            return(View(survey));
        }
Exemplo n.º 2
0
 public ActionResult FollowUpIntroduction(OSUSurvey survey)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("FollowUpSurvey", new { id = survey.SurveyID }));
     }
     return(View(survey));
 }
Exemplo n.º 3
0
        public ActionResult Index(OSUSurvey survey)
        {
            if (ModelState.IsValid)
            {
                db.Surveys.Add(survey);
                db.SaveChanges();

                return(RedirectToAction("Introduction", new { id = survey.SurveyID }));
            }
            return(View(survey));
        }
Exemplo n.º 4
0
        public ActionResult FollowUpSurvey([Bind(Include = "SurveyID,QuestionNum,Questions,Answer")] QuestionViewModel model)
        {
            OSUSurvey survey = db.Surveys.Find(model.SurveyID);

            if (survey != null)
            {
                while (model.QuestionNum < (model.Questions.Count() - 1))
                {
                    Question currentQuestion = model.Questions[model.QuestionNum];
                    currentQuestion.AskedFlag           = true;
                    currentQuestion.CurrentQuestionFlag = false;
                    int currentIndex = model.Questions.IndexOf(currentQuestion);
                    model.Questions[model.QuestionNum].CurrentQuestionFlag = false;
                    model.Questions[model.QuestionNum].AskedFlag           = true;

                    model.QuestionNum = model.QuestionNum + 1;
                    model.Questions[model.QuestionNum].CurrentQuestionFlag = true;
                    Question nextQuestion = model.Questions[model.QuestionNum];
                    nextQuestion.CurrentQuestionFlag = true;

                    OSUAnswer answer = new OSUAnswer();
                    answer.AnswerFlag  = model.Answer.AnswerFlag;
                    answer.AnswerValue = model.Answer.AnswerValue;
                    answer.SurveyID    = model.Answer.SurveyID;
                    answer.QuestionID  = model.Answer.QuestionID;
                    //answer.QuestionRoundNum = 2;
                    db.Answers.Add(answer);
                    db.SaveChanges();

                    OSUAnswer newAnswer = new OSUAnswer();
                    newAnswer.AnswerFlag = null;
                    newAnswer.SurveyID   = survey.SurveyID;
                    newAnswer.QuestionID = nextQuestion.QuestionID;
                    //newAnswer.QuestionRoundNum = 2;
                    model.Answer = newAnswer;
                    ModelState.Clear();
                    return(View(model));
                }

                OSUAnswer finalAnswer = new OSUAnswer();
                finalAnswer.AnswerFlag  = model.Answer.AnswerFlag;
                finalAnswer.AnswerValue = model.Answer.AnswerValue;
                finalAnswer.SurveyID    = model.Answer.SurveyID;
                finalAnswer.QuestionID  = model.Answer.QuestionID;
                //finalAnswer.QuestionRoundNum = 2;
                db.Answers.Add(finalAnswer);
                db.SaveChanges();

                return(RedirectToAction("Enjoyment", new { id = model.SurveyID }));
            }

            return(View(model));
        }
Exemplo n.º 5
0
        public ActionResult FinalRace(RaceViewModel model)
        {
            OSUSurvey  survey   = db.Surveys.Find(model.SurveyID);
            SettingSet settings = db.SettingSets.Find(survey.SettingsID);
            Race       race     = db.Races.FirstOrDefault(x => x.SettingSetID == survey.SettingsID && x.RaceNum == settings.NumberOfRaces);

            survey.PointTotal = model.AfterPoints;

            db.Entry(survey).State = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("FollowUpIntroduction", new { id = model.SurveyID }));
        }
Exemplo n.º 6
0
        public ActionResult FinalRace(int?id)
        {
            RaceViewModel model    = new RaceViewModel();
            OSUSurvey     survey   = db.Surveys.Find(id);
            SettingSet    settings = db.SettingSets.Find(survey.SettingsID);

            // Get the Final Race

            Race race = db.Races.FirstOrDefault(x => x.SettingSetID == survey.SettingsID && x.RaceNum == settings.NumberOfRaces);

            //List<Race> races = db.Races.Where(x => x.SettingSetID == survey.SettingsID).OrderBy(x => x.RaceNum).ToList();

            model.Race          = race;
            model.CurrentPoints = (int)survey.PointTotal;
            model.RaceID        = race.RaceID;
            model.RaceNum       = race.RaceNum;
            model.SurveyID      = survey.SurveyID;
            model.OSUWins       = (int)survey.OSUWins;
            model.UOWins        = (int)survey.UOWins;

            if (!race.Winner && (bool)survey.ChoseToBetFlag)
            {
                model.AfterPoints = (int)survey.PointTotal * 2;
            }
            else if (!race.Winner && survey.ChoseToBetFlag != true)
            {
                model.AfterPoints = (int)survey.PointTotal;
            }
            else if (race.Winner && survey.ChoseToBetFlag == true)
            {
                model.AfterPoints = 0;
            }
            else
            {
                model.AfterPoints = (int)survey.PointTotal;
            }

            if (race.Winner)
            {
                model.AfterOSUWins = model.OSUWins;
                model.AfterUOWins  = model.UOWins + 1;
            }
            else
            {
                model.AfterUOWins  = model.UOWins;
                model.AfterOSUWins = model.OSUWins + 1;
            }
            return(View(model));
        }
Exemplo n.º 7
0
        public ActionResult Bet(OSUSurvey survey)
        {
            if (survey.ChoseToBetFlag == null)
            {
                ModelState.AddModelError("ChoseToBetFlag", "You must indicate whether you would like to bet or not.");
            }

            if (ModelState.IsValid)
            {
                db.Entry(survey).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("SurveyIntroduction", new { id = survey.SurveyID }));
            }
            return(View(survey));
        }
Exemplo n.º 8
0
        public ActionResult Thoughts(int?id)
        {
            OSUSurvey          survey   = db.Surveys.Find(id);
            SettingSet         settings = db.SettingSets.Find(survey.SettingsID);
            EnjoymentViewModel model    = new EnjoymentViewModel();

            List <Question> questions = db.Questions.Where(x => x.QuestionRoundNum == 4 && x.SettingSetID == settings.SettingSetID).OrderBy(x => x.GroupQuestionNumber).ToList();

            List <Question> ouQuestions = questions.Where(x => x.GroupQuestionNumber < 5).ToList();
            List <Question> uoQuestions = questions.Where(x => x.GroupQuestionNumber > 4).ToList();

            List <Question> thoughtsQuestions = new List <Question>();

            int k = random.Next(0, 2);

            if (k == 0)
            {
                thoughtsQuestions.AddRange(ouQuestions);
                thoughtsQuestions.AddRange(uoQuestions);
            }
            else
            {
                thoughtsQuestions.AddRange(uoQuestions);
                thoughtsQuestions.AddRange(ouQuestions);
            }

            List <OSUAnswer> answers = new List <OSUAnswer>();

            foreach (Question question in thoughtsQuestions)
            {
                OSUAnswer answer = new OSUAnswer();
                answer.SurveyID = survey.SurveyID;
                //answer.QuestionRoundNum = 4;
                answer.QuestionID = question.QuestionID;
                answer.SurveyID   = survey.SurveyID;
                answers.Add(answer);
            }

            model.SurveyID  = survey.SurveyID;
            model.Questions = thoughtsQuestions;
            model.Answers   = answers;
            return(View(model));
        }
Exemplo n.º 9
0
        public ActionResult FollowUpSurvey(int?id)
        {
            QuestionViewModel model = new QuestionViewModel();

            OSUSurvey survey = db.Surveys.Find(id);

            if (survey != null)
            {
                SettingSet settings = db.SettingSets.Find(survey.SettingsID);

                List <Question> questions = db.Questions.Where(x => x.SettingSetID == settings.SettingSetID && x.QuestionRoundNum == 2).ToList();

                List <Question> shuffledQuestions = new List <Question>();

                int n = questions.Count();
                while (n >= 1)
                {
                    n--;
                    int      k        = random.Next(n + 1);
                    Question question = questions[k];
                    questions.Remove(question);
                    shuffledQuestions.Add(question);
                }

                model.Questions   = shuffledQuestions;
                model.QuestionNum = 0;
                model.Questions[0].CurrentQuestionFlag = true;

                OSUAnswer answer = new OSUAnswer();
                answer.SurveyID   = survey.SurveyID;
                answer.QuestionID = model.Questions[0].QuestionID;
                //answer.QuestionRoundNum = 2;
                model.Answer   = answer;
                model.SurveyID = survey.SurveyID;
            }

            return(View(model));
        }
Exemplo n.º 10
0
        public ActionResult Final(int?id)
        {
            OSUSurvey          survey   = db.Surveys.Find(id);
            SettingSet         settings = db.SettingSets.Find(survey.SettingsID);
            EnjoymentViewModel model    = new EnjoymentViewModel();

            List <Question>  questions = db.Questions.Where(x => x.QuestionRoundNum == 5 && x.SettingSetID == settings.SettingSetID).OrderBy(x => x.GroupQuestionNumber).ToList();
            List <OSUAnswer> answers   = new List <OSUAnswer>();

            List <Question> shuffledQuestions = new List <Question>();

            int n = questions.Count();

            while (n >= 1)
            {
                n--;
                int      k        = random.Next(n + 1);
                Question question = questions[k];
                questions.Remove(question);
                shuffledQuestions.Add(question);
            }

            foreach (Question question in shuffledQuestions)
            {
                OSUAnswer answer = new OSUAnswer();
                answer.SurveyID = survey.SurveyID;
                //answer.QuestionRoundNum = 5;
                answer.QuestionID = question.QuestionID;
                answer.SurveyID   = survey.SurveyID;
                answers.Add(answer);
            }

            model.SurveyID  = survey.SurveyID;
            model.Questions = shuffledQuestions;
            model.Answers   = answers;
            return(View(model));
        }
Exemplo n.º 11
0
        public ActionResult Rules(int id)
        {
            OSUSurvey  survey   = db.Surveys.Find(id);
            SettingSet settings = db.SettingSets.Find(survey.SettingsID);

            string lastRaceNoun      = "";
            string lastRaceAdjective = "";

            string secondToLastRaceNoun      = "";
            string secondToLastRaceAdjective = "";

            switch (settings.NumberOfRaces)
            {
            case 5:
                lastRaceNoun              = "five";
                lastRaceAdjective         = "fifth";
                secondToLastRaceNoun      = "four";
                secondToLastRaceAdjective = "fourth";
                break;

            case 7:
                lastRaceNoun              = "seven";
                lastRaceAdjective         = "seventh";
                secondToLastRaceNoun      = "six";
                secondToLastRaceAdjective = "sixth";
                break;

            case 9:
                lastRaceNoun              = "nine";
                lastRaceAdjective         = "ninth";
                secondToLastRaceNoun      = "eight";
                secondToLastRaceAdjective = "eighth";
                break;

            case 11:
                lastRaceNoun              = "eleven";
                lastRaceAdjective         = "eleventh";
                secondToLastRaceNoun      = "ten";
                secondToLastRaceAdjective = "tenth";
                break;
            }

            string multiplierVerb = "";

            switch (settings.LastRaceMultiplier)
            {
            case 2:
                multiplierVerb = "double";
                break;

            case 3:
                multiplierVerb = "triple";
                break;

            case 4:
                multiplierVerb = "quadruple";
                break;
            }

            ViewBag.MultiplierVerb            = multiplierVerb;
            ViewBag.LastRaceNoun              = lastRaceNoun;
            ViewBag.LastRaceAdjective         = lastRaceAdjective;
            ViewBag.SecondToLastRaceNoun      = secondToLastRaceNoun;
            ViewBag.SecondToLastRaceAdjective = secondToLastRaceAdjective;

            ViewBag.BeginTotal            = settings.PotentialLowScore;
            ViewBag.MultipliedTotal       = 2 * settings.PotentialLowScore;
            ViewBag.PointsPerRound        = settings.PointsPerRound;
            ViewBag.GiftCertificateAmount = "35";

            return(View(survey));
        }
Exemplo n.º 12
0
        public ActionResult Race(int id, int?num)
        {
            RaceViewModel model    = new RaceViewModel();
            OSUSurvey     survey   = db.Surveys.Find(id);
            SettingSet    settings = db.SettingSets.Find(survey.SettingsID);

            // Get the Races

            List <Race> races = db.Races.Where(x => x.SettingSetID == survey.SettingsID).OrderBy(x => x.RaceNum).ToList();

            if (num == null)
            {
                // We are on the first race

                Race race = races.FirstOrDefault(x => x.RaceNum == 1);
                {
                    if (race == null)
                    {
                        // No first race, this is bad.
                    }
                    else
                    {
                        model.Race          = race;
                        model.CurrentPoints = 0;
                        model.UOWins        = 0;
                        model.OSUWins       = 0;

                        if (race.Winner)
                        {
                            model.AfterPoints = 0;
                            model.AfterUOWins = 1;
                        }
                        else
                        {
                            model.AfterPoints  = settings.PointsPerRound;
                            model.AfterOSUWins = 1;
                        }

                        model.RaceID   = race.RaceID;
                        model.RaceNum  = race.RaceNum;
                        model.SurveyID = survey.SurveyID;
                        return(View(model));
                    }
                }
            }
            else
            {
                // We are not on the first race anymore

                Race lastRace = races.FirstOrDefault(x => x.RaceNum == num);

                int currentNum = (int)num + 1;

                if (currentNum < settings.NumberOfRaces)
                {
                    Race race = races.FirstOrDefault(x => x.RaceNum == currentNum);
                    if (race != null)
                    {
                        model.Race = race;

                        if (lastRace.Winner)
                        {
                            model.UOWins++;
                        }
                        else
                        {
                            if (survey.PointTotal == null)
                            {
                                survey.PointTotal = settings.PointsPerRound;
                                //model.UOWins++;
                            }
                            else
                            {
                                survey.PointTotal += settings.PointsPerRound;
                            }
                            model.OSUWins++;
                        }

                        db.Entry(survey).State = EntityState.Modified;
                        db.SaveChanges();

                        model.CurrentPoints = (int)survey.PointTotal;

                        if (race.Winner)
                        {
                            model.AfterPoints = model.CurrentPoints;
                            model.AfterUOWins++;
                        }
                        else
                        {
                            model.AfterPoints = model.CurrentPoints + settings.PointsPerRound;
                            model.AfterOSUWins++;
                        }

                        model.RaceID   = race.RaceID;
                        model.RaceNum  = currentNum;
                        model.SurveyID = survey.SurveyID;
                        return(View(model));
                    }
                }
                else
                {
                    if (lastRace.Winner)
                    {
                        model.UOWins++;
                    }
                    else
                    {
                        survey.PointTotal += settings.PointsPerRound;
                        model.OSUWins++;
                    }

                    db.Entry(survey).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Bet", new { id = survey.SurveyID }));
                }
            }
            return(View());
        }
Exemplo n.º 13
0
 public ActionResult Introduction(OSUSurvey survey)
 {
     return(RedirectToAction("Rules", new { id = survey.SurveyID }));
 }
Exemplo n.º 14
0
        public ActionResult Race(RaceViewModel model)
        {
            //return RedirectToAction("Race", new { id = model.SurveyID, num = model.RaceNum, tot = model.AfterPoints });
            //RaceViewModel model = new RaceViewModel();
            OSUSurvey  survey   = db.Surveys.Find(model.SurveyID);
            SettingSet settings = db.SettingSets.Find(survey.SettingsID);

            // Get the Races

            List <Race> races = db.Races.Where(x => x.SettingSetID == survey.SettingsID).OrderBy(x => x.RaceNum).ToList();

            Race lastRace = races.FirstOrDefault(x => x.RaceNum == model.RaceNum);

            int currentNum = (int)model.RaceNum + 1;

            if (currentNum < settings.NumberOfRaces)
            {
                Race race = races.FirstOrDefault(x => x.RaceNum == currentNum);
                if (race != null)
                {
                    model.Race = race;

                    if (lastRace.Winner)
                    {
                        model.UOWins++;
                    }
                    else
                    {
                        if (survey.PointTotal == null)
                        {
                            survey.PointTotal = settings.PointsPerRound;
                            //model.UOWins++;
                        }
                        else
                        {
                            survey.PointTotal += settings.PointsPerRound;
                        }
                        model.OSUWins++;
                    }

                    db.Entry(survey).State = EntityState.Modified;
                    db.SaveChanges();

                    model.CurrentPoints = (int)survey.PointTotal;

                    if (race.Winner)
                    {
                        model.AfterPoints = model.CurrentPoints;
                        model.AfterUOWins++;
                    }
                    else
                    {
                        model.AfterPoints = model.CurrentPoints + settings.PointsPerRound;
                        model.AfterOSUWins++;
                    }

                    model.RaceID   = race.RaceID;
                    model.RaceNum  = currentNum;
                    model.SurveyID = survey.SurveyID;
                    ModelState.Clear();
                    return(View(model));
                }
            }
            else
            {
                if (lastRace.Winner)
                {
                    model.UOWins++;
                }
                else
                {
                    survey.PointTotal += settings.PointsPerRound;
                    model.OSUWins++;
                }

                survey.UOWins          = model.UOWins;
                survey.OSUWins         = model.OSUWins;
                db.Entry(survey).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Bet", new { id = survey.SurveyID }));
            }
            return(View(model));
        }
Exemplo n.º 15
0
        public ActionResult FollowUpIntroduction(int?id)
        {
            OSUSurvey survey = db.Surveys.Find(id);

            return(View(survey));
        }
Exemplo n.º 16
0
 public ActionResult Begin(OSUSurvey survey)
 {
     return(RedirectToAction("Race", new { id = survey.SurveyID }));
 }
Exemplo n.º 17
0
        public ActionResult End(int?id)
        {
            OSUSurvey survey = db.Surveys.Find(id);

            return(View(survey));
        }
Exemplo n.º 18
0
 public ActionResult FinalRaceIntro(OSUSurvey survey)
 {
     return(RedirectToAction("FinalRace", new { id = survey.SurveyID }));
 }
Exemplo n.º 19
0
        public ActionResult FinalRaceIntro(int?id)
        {
            OSUSurvey survey = db.Surveys.Find(id);

            return(View(survey));
        }
Exemplo n.º 20
0
 public ActionResult End(OSUSurvey survey)
 {
     return(RedirectPermanent("https://google.com"));
 }
Exemplo n.º 21
0
 public ActionResult Rules(OSUSurvey survey)
 {
     return(RedirectToAction("Begin", new { id = survey.SurveyID }));
 }