Ejemplo n.º 1
0
        public ActionResult ClubApplication(int clubID)
        {
            ClubModel club = new ClubModel();

            club.clubID = clubID;
            club.userID = (int)HttpContext.Session.GetInt32("UserID");
            string query = "insert into clubapplication(clubID, userID) values(@clubID, @userID)";

            SqliteDataAccess.SaveSingleObject(club, query);

            return(RedirectToAction("Application", "Home"));
        }
Ejemplo n.º 2
0
        //Adds member to eventcompetitor if club is in eventclub table
        public ActionResult EnrollMember(CompetitorModel comp)
        {
            //checks if club is allowed to submit members for said event
            EnrolledUserModel obj = new EnrolledUserModel();

            obj.eventID = comp.eventID;
            obj.userID  = (int)HttpContext.Session.GetInt32("UserID");
            string query1 = "select * from eventclub as ec join club as c on ec.clubID = c.clubID where userID = @userID and ec.eventID = @eventID";

            Console.WriteLine("1. " + comp.eventID + " " + comp.userID);
            obj = SqliteDataAccess.SingleObject(obj, query1);

            if (obj == null)
            {
                Console.WriteLine("NULL");
                return(RedirectToAction("Application", "Home"));
            }
            else
            {
                CompetitorModel competitor = new CompetitorModel();
                competitor.userID = comp.userID;
                string query3 = "select * from competitor where userID = @userID";
                competitor         = SqliteDataAccess.SingleObject(competitor, query3);
                competitor.eventID = comp.eventID;

                string query2 = "insert into eventcompetitor(eventID, competitorID) values(@eventID, @competitorID)";
                SqliteDataAccess.SaveSingleObject(competitor, query2);

                for (int i = 1; i < 7; i++)
                {
                    CompetitorModel comp2 = new CompetitorModel();
                    comp2.eventID      = comp.eventID;
                    comp2.competitorID = competitor.competitorID;
                    comp2.jumpnr       = i;
                    competitorList.Add(comp2);
                }
                string query4 = "insert into jump(eventID, competitorID, jumpnr) values(@eventID, @competitorID, @jumpnr)";
                SqliteDataAccess.SaveManyObjects(competitorList, query4);
            }
            return(RedirectToAction("Application", "Home"));
        }
Ejemplo n.º 3
0
        public ActionResult CreateClub(ClubModel club)
        {
            if (club.clubname == "NULL" || club.clubname == "Null" || club.clubname == "null")
            {
                Console.WriteLine("Input text null");
                return(RedirectToAction("Managment", "Home"));
            }
            ClubModel replica       = new ClubModel();
            string    query_replica = "select * from club where clubname = @clubname";

            replica = SqliteDataAccess.SingleObject(club, query_replica);
            if (replica != null)
            {
                Console.WriteLine("Club already exists");
                return(RedirectToAction("Managment", "Home"));
            }

            string query = "insert into club(userID, clubname) values(@userId, @clubname)";

            SqliteDataAccess.SaveSingleObject(club, query);
            Console.WriteLine("Club created");
            return(RedirectToAction("Managment", "Home"));
        }
Ejemplo n.º 4
0
        //Club applies to participate in an event
        public ActionResult EventApplication(string eventID)
        {
            string query1 = "select * from club where userID = @userID";


            ClubModel club = new ClubModel();

            club.userID = (int)HttpContext.Session.GetInt32("UserID");

            club = SqliteDataAccess.SingleObject(club, query1);

            string query2 = "insert into eventapplication(clubID, eventID) values(@clubID, @eventID)";


            EventApplicationModel application = new EventApplicationModel();

            application.eventID = eventID;
            application.clubID  = club.clubID;

            SqliteDataAccess.SaveSingleObject(application, query2);

            return(RedirectToAction("Application", "Home"));
        }
Ejemplo n.º 5
0
        public void FinalScore(int jumpID, int groupnr, char style, float height, float dd)
        {
            Console.WriteLine("Finalscore - jump ID: " + jumpID);

            string     query = "update jump set finalscore = @finalscore where jumpID=@jumpID";
            ScoreModel obj   = new ScoreModel();

            obj.jumpID = jumpID;
            int count = Int32.Parse(SqliteDataAccess.SingleObjectString(obj, "score", "jumpID", "count(jumpID)"));

            Console.WriteLine("Score count: " + count);

            if (count == 3)
            {
                Console.WriteLine("All scores are submitted");
                //fetch all three scores:
                //discard highest and lowest
                //muliply by 3
                //multiply by (degree of difficulty)

                //Fetch degree of difficulty
                Console.WriteLine("degree of difficulty: " + dd);

                //Fetch all judge scores
                string         query_all_scores = "select * from score where jumpID = @jumpID";
                EventJumpModel jumpscores       = new EventJumpModel();
                jumpscores.jumpID = jumpID;
                scoreList         = SqliteDataAccess.LoadManyObjects(jumpscores, query_all_scores);
                foreach (var c in scoreList)
                {
                    Console.WriteLine("C: " + c.score);
                }

                int i, j;
                //bubbelsort the three scores
                for (i = 0; i < 2; i++)
                {
                    for (j = 0; j < 2 - i; j++)
                    {
                        if (scoreList[j].score > scoreList[j + 1].score)
                        {
                            var temp = scoreList[j + 1];
                            scoreList[j + 1] = scoreList[i];
                            scoreList[j]     = temp;
                        }
                    }
                }
                var median_score = scoreList[1].score;
                Console.WriteLine("Median score: " + median_score);

                //Calcualtes finalscore
                var final_score = (median_score * 3) * dd;
                Console.WriteLine("Final score: " + final_score);
                final_score.ToString("0.00");
                Console.WriteLine("fscore: " + final_score);
                EventJumpModel finalScore = new EventJumpModel();
                finalScore.finalscore = final_score;
                finalScore.jumpID     = jumpID;


                var query_final = "update jump set finalscore = @finalscore where jumpID=@jumpID";

                SqliteDataAccess.SaveSingleObject(finalScore, query_final);
            }
            else
            {
                //skip
            }
        }
Ejemplo n.º 6
0
        public ActionResult SetScore(int ContestantIDField, string JumpTypeField, float ScoreField)
        {
            //checks for input null from user
            if (JumpTypeField == "null" || JumpTypeField == "Null" || JumpTypeField == "NULL")
            {
                return(RedirectToAction("Dashboard", "Home"));
            }

            //get upcoming event info based on judgeID/userID

            //get the first jumpnumber that hasnt been scored by said judge for CompetitorID

            //Assign score to that competitor

            //Trigger check for finalscore



            string query_next_event = "select e.eventID, j.judgeID, e.startdate, e.eventtype " +
                                      "from event as e " +
                                      "inner join eventjudge as ej on e.eventID = ej.eventID " +
                                      "inner join judge as j on j.judgeID = ej.judgeID " +
                                      "inner join user as u on u.userID = j.userID " +
                                      "where u.userID=@userID and startdate >= date('now') " +
                                      "order by startdate LIMIT 1";



            ScoreModel eventinfo = new ScoreModel();

            eventinfo.userID = (int)HttpContext.Session.GetInt32("UserID");
            Console.WriteLine("userID: " + eventinfo.userID);
            eventinfo = SqliteDataAccess.SingleObject(eventinfo, query_next_event);
            Console.WriteLine("eventinfo: " + eventinfo.eventID + " " + eventinfo.judgeID + " Height:" + eventinfo.eventtype);
            eventinfo.competitorID = ContestantIDField;
            var eventID = eventinfo.eventID;
            var judgeID = eventinfo.judgeID;
            var height  = eventinfo.eventtype;
            int jumpID  = 0;



            //Only allows scoring for an event if the eventdate is today
            DateTime thedate = eventinfo.startdate;
            DateTime today   = DateTime.Today;

            //  if (today == thedate)
            if (true)
            {
                Console.WriteLine("IF! today: " + today + " startdate: " + thedate);
            }
            else
            {
                Console.WriteLine("Not Today! today: " + today + " startdate: " + eventinfo.startdate);
                return(RedirectToAction("Scoring", "Home"));
            }



            //Fetches latest jump nr if a score exists
            //if null assumse current jumpnr is 1
            //else take the number and add 1 to it if it isnt already max number
            string query_next_jump = "select j.jumpnr, j.jumpID from score as s inner join jump as j on j.jumpID = s.jumpID where eventID = @eventID and judgeID = @judgeID and competitorID = @competitorID order by jumpnr desc LIMIT 1";

            eventinfo = SqliteDataAccess.SingleObject(eventinfo, query_next_jump);
            // Console.WriteLine("current jump: " + eventinfo.jumpID);

            string query_score     = "";
            string query_jump_type = "update jump set jumptype = @jumptype where jumpID=@jumpID";



            //Seperates groupnr from style in jumptype. eg 101A -> groupnr: 101 style: A
            int    size     = JumpTypeField.Length - 1;
            string groupstr = "";
            int    i        = 0;
            int    groupnr;
            char   style = new char();

            foreach (char x in JumpTypeField)
            {
                if (x == 48 || x == 49 || x == 50 || x == 51 || x == 52 || x == 53 || x == 54 || x == 55 || x == 56 || x == 57)
                {
                    groupstr += x;
                }
                else
                {
                    style = x;
                }
                i++;
            }

            Console.Write(groupstr);
            Console.Write(" - " + style);
            Console.WriteLine("");
            Console.WriteLine("grpstr: " + groupstr);

            groupnr = Int32.Parse(groupstr);

            Console.WriteLine("groupnr: " + groupnr);

            //Get jumptypeID

            JumpTypeModel jump = new JumpTypeModel();

            jump.groupnr = groupnr;
            jump.style   = style;
            jump.height  = height;
            string query_dd = "select * from jumptype where groupnr = @groupnr and height = @height and style = @style";

            jump = SqliteDataAccess.SingleObject(jump, query_dd);
            if (jump == null)
            {
                Console.WriteLine("Jumptype does not exist");
                return(RedirectToAction("Scoring", "Home"));
            }
            int ID = jump.id;
            var dd = jump.value;


            if (eventinfo == null)
            {
                ScoreModel score_edge = new ScoreModel();
                //insert score for jumpnr 1
                Console.WriteLine("jump is null, assuming score is for jumpnr1 ");
                //need to find out jumpid
                score_edge.competitorID = ContestantIDField;
                score_edge.eventID      = eventID;
                Console.WriteLine("eventID: " + score_edge.eventID + " judgeID: " + score_edge.judgeID + "competitorID " + score_edge.competitorID);
                string query_get_jumpid = " select jumpID, eventID from jump where eventID = @eventID and competitorID = @competitorID order by jumpnr asc limit 1";
                score_edge = SqliteDataAccess.SingleObject(score_edge, query_get_jumpid);
                score_edge.competitorID = ContestantIDField;
                score_edge.eventID      = eventID;
                score_edge.jumpnr       = 1;
                score_edge.judgeID      = judgeID;
                score_edge.score        = ScoreField;
                score_edge.jumptype     = ID;
                Console.WriteLine("JumpID:" + score_edge.jumpID);
                jumpID      = score_edge.jumpID;
                query_score = "insert into score(jumpID, judgeID, score) values(@jumpID, @judgeID, @score)";
                SqliteDataAccess.SaveSingleObject(score_edge, query_score);
                Console.WriteLine("jmptype: " + score_edge.jumptype + " competitorID: " + score_edge.competitorID + " eventID: " + score_edge.eventID);
                SqliteDataAccess.SaveSingleObject(score_edge, query_jump_type);
            }
            else if (eventinfo.jumpnr != 6)
            {
                query_score = "insert into score(jumpID, judgeID, score) values(@jumpID, @judgeID, @score)";
                Console.WriteLine("jump is: " + eventinfo.jumpnr);
                eventinfo.jumpnr++;
                eventinfo.jumpID++;
                eventinfo.score        = ScoreField;
                eventinfo.eventID      = eventID;
                eventinfo.judgeID      = judgeID;
                eventinfo.jumptype     = ID;
                eventinfo.competitorID = ContestantIDField;
                jumpID = eventinfo.jumpID;
                Console.WriteLine("Inserting to score: " + eventinfo.jumpID + " " + eventinfo.judgeID + " " + eventinfo.score);
                Console.WriteLine("next is jump: " + eventinfo.jumpnr);
                SqliteDataAccess.SaveSingleObject(eventinfo, query_score);
                Console.WriteLine("jmptype: " + eventinfo.jumptype + " competitorID: " + eventinfo.competitorID + " eventID: " + eventinfo.eventID);
                SqliteDataAccess.SaveSingleObject(eventinfo, query_jump_type);


                //insert score for jumpnr
            }
            else if (eventinfo.jumpnr == 6)
            {
                Console.WriteLine("Error you have already scored all jumps for this competitor" + eventinfo.jumpnr);
            }

            FinalScore(jumpID, groupnr, style, height, dd);

            return(RedirectToAction("Scoring", "Home"));
        }
Ejemplo n.º 7
0
        public ActionResult ClubApplicationManagment(int userID, string button)
        {
            UserModel clubuser = new UserModel();
            ClubModel club     = new ClubModel();
            UserModel user     = new UserModel();

            string query;

            if (button == "refresh")
            {
                user.userID = (int)HttpContext.Session.GetInt32("UserID");
                query       = "select u.userID, u.fname, u.lname from user as u join clubapplication as ca on u.userID = ca.userID join club as c on c.clubID = ca.clubID where c.userID = @userID";
                StringBuilder applicationListHtml = new StringBuilder("<table id=\"pplTbl\"><tr><th>User ID</th><th>First Name</th><th>Last Name</th></tr>");
                users = SqliteDataAccess.LoadManyObjects(user, query);

                foreach (var app in users)
                {
                    applicationListHtml.Append("<tr><td>");
                    applicationListHtml.Append(app.userID);
                    applicationListHtml.Append("</td><td>");
                    applicationListHtml.Append(app.fname);
                    applicationListHtml.Append("</td><td>");
                    applicationListHtml.Append(app.lname);
                    applicationListHtml.Append("</td></tr>");
                }

                applicationListHtml.Append("</table>");

                Console.WriteLine(applicationListHtml);

                //ViewBag.ClubApps = applicationListHtml;
                TempData["ClubApps"] = applicationListHtml.ToString();
            }
            else if (button == "accept" && userID != 0)
            {
                //check if userID + clubID exist in clubapplication
                ClubModel exist = new ClubModel();
                exist.userID = userID;
                query        = "select * from clubapplication where userID=@userID";
                exist        = SqliteDataAccess.SingleObject(exist, query);
                if (exist == null)
                {
                    Console.WriteLine("User has not applied to this club");
                    return(View("~/Views/Home/Application.cshtml"));
                }
                else
                {
                    club.userID = (int)HttpContext.Session.GetInt32("UserID");
                    query       = "select * from club where userID=@userID";
                    club        = SqliteDataAccess.SingleObject(club, query);
                    user.userID = userID;
                    Console.WriteLine("user ID:" + user.userID);
                    user.club = club.clubID;
                    Console.WriteLine("user club:" + user.club);
                    query = "update user set club = @club where userID = @userID";
                    SqliteDataAccess.SaveSingleObject(user, query);
                    query = "delete from clubapplication where userID=@userID";
                    SqliteDataAccess.DenyApplication(user, query);
                }
            }
            else if (button == "deny" && userID != 0)
            {
                query       = "delete from clubapplication where userID=@userID";
                user.userID = userID;
                SqliteDataAccess.DenyApplication(user, query);
            }
            else
            {
                Console.WriteLine("Shit went wrong!");
            }



            return(RedirectToAction("Application", "Home"));
        }