Beispiel #1
0
        public static void PageInit()
        {
            AdminMain   = new AdminMainPage();
            InquiryUser = new InquiryUserPage();
            //UpdateUser = new UpdateUserPage();
            PrintReport = new PrintReportPage();
            //UpdateUser = new UpdateUserPage();
            AdminLogin = new AdminLoginPage();

            Login = new LoginPage();

            Questionandgame = new QuesGameSeclectPage();
            Game            = new GamePage();
            Question1       = new QuestionPage1();
            Question2       = new QuestionPage2();
        }
        private void AdminLogin_Click(object sender, EventArgs e)
        {
            DVDExpressDataContext db      = new DVDExpressDataContext();
            Table <Login>         Logins  = db.GetTable <Login>();
            Table <Member>        Members = db.GetTable <Member>();
            string username        = UsernameBox.Text;
            string password        = PasswordBox.Text;
            bool   loginSuccessful = false;
            var    loginQuery      =
                from login in db.Logins
                where (login.Username == username && login.Password == password && login.IsAdmin == true)
                select login.MemberID;



            foreach (var login in loginQuery)
            {
                var memberQuery =
                    from account in db.Members
                    where account.MemberID == login
                    select account;
                foreach (var account in memberQuery)
                {
                    AdminMainPage homePage = new AdminMainPage();
                    homePage.adminAccount = account;
                    homePage.Show();
                    MessageBox.Show("Login Succesful");
                    loginSuccessful = true;
                    this.Hide();
                }
            }
            if (loginSuccessful == false)
            {
                MessageBox.Show("Incorrect Username or Password.");
            }
        }
Beispiel #3
0
        public void HandleResponse()
        {
            switch (this.Type)
            {
            case MessageType.NoType:
                break;

            case MessageType.Login:
                if (this.Data == "success")     // thomas och nedim bestämmer // Successfull login!
                {
                    switch (this.user.Group)
                    {
                    case GroupType.Admin:
                        App.Current.Dispatcher.Invoke((Action) delegate
                        {
                            App.MainWindowRef.pageSwitcher(new AdminMainPage(), 850, 1050);
                            App.MainWindowRef.setActiveUser(this);
                        });

                        break;

                    case GroupType.Judge:
                        App.Current.Dispatcher.Invoke((Action) delegate
                        {
                            App.MainWindowRef.pageSwitcher(new JudgePage(), 850, 1050);
                            App.MainWindowRef.setActiveUser(this);
                        });
                        break;

                    case GroupType.User:
                        App.Current.Dispatcher.Invoke((Action) delegate
                        {
                            UserLoginPopUpWindow tempWin = new UserLoginPopUpWindow();
                            tempWin.Show();
                        });

                        break;

                    default:
                        Console.WriteLine("Error");
                        break;
                    }
                    //LoginSucessFunction();
                }
                else
                {
                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        WrongUnameAndPword tempErrorWin = new WrongUnameAndPword();
                        tempErrorWin.Show();
                        App.MainWindowRef.CenterWindowOnScreen();
                    });
                }
                break;

            case MessageType.Register:
                //Här skulle man kunna copy-pasta nästan allt under login för att logga in direkt efter register
                //men det blir problem eftersom att man sätts i en group efter att man har registrerats.

                //här kanske man kan slänga upp en window i clienten som säger att man har lyckats skapa en user.
                break;

            case MessageType.Competition:
                var stringMessage = this.Data;
                if (stringMessage == "Competition created")
                {
                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        App.MainWindowRef.Main.Navigate(new CreateContest());
                    });
                }
                else if (App.MainWindowRef.currentpage == "Client.windows.AdminMainPage")
                {
                    List <CompetitionWithUser> competitions =
                        JsonConvert.DeserializeObject <List <CompetitionWithUser> >(this.Data);

                    //foreach (CompetitionWithUser comp in competitions)
                    //{
                    //    int id = comp.ID;
                    //    string name = comp.Name;
                    //    DateTime stat = comp.Start;
                    //    List<User> users = comp.Users;
                    //    List<User> judges = comp.Judges;
                    //}

                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        string currentpage = App.MainWindowRef.Main.Content.ToString();
                        AdminMainPage.FillCompetitionListBox(competitions);
                    });
                }
                else
                {
                    CompetitionWithResult data = JsonConvert.DeserializeObject <CompetitionWithResult>(this.Data);
                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        string currentpage = App.MainWindowRef.Main.Content.ToString();
                        JudgePage.CompetitionData(data);
                        JudgePage.PagePainter(JudgePage.jumptracker);
                    });
                }

                //AdminMainPage.FillCompetitionDataBox(this.Data); //Removed this textbox
                break;

            case MessageType.Judges:
                List <User> judges = JsonConvert.DeserializeObject <List <User> >(this.Data);
                App.Current.Dispatcher.Invoke((Action) delegate
                {
                    string currentpage = App.MainWindowRef.Main.Content.ToString();
                    CreateContest.FillUserDatabase(judges);
                });
                break;

            case MessageType.Jumpers:
                List <User> jumpers = JsonConvert.DeserializeObject <List <User> >(this.Data);
                App.Current.Dispatcher.Invoke((Action) delegate
                {
                    string currentpage = App.MainWindowRef.Main.Content.ToString();
                    CreateContest.FillUserDatabase(jumpers);
                });
                break;

            case MessageType.User:
                List <User> users = JsonConvert.DeserializeObject <List <User> >(this.Data);
                string      cp    = "";
                App.Current.Dispatcher.Invoke((Action) delegate
                {
                    cp = App.MainWindowRef.Main.Content.ToString();
                });
                switch (cp)
                {
                case "Client.windows.CreateContest":
                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        CreateContest.FillUserDatabase(users);
                    });
                    break;

                case "Client.windows.EditUsers":
                    App.Current.Dispatcher.Invoke((Action) delegate
                    {
                        EditUsers.FillUserDatabase(users);
                    });
                    break;
                }

                break;

            case MessageType.ChangeUser:
                if (this.Data == "Error Updating User")
                {
                    //Fix some error handling here
                }
                else
                {
                    List <User> users2 =
                        JsonConvert.DeserializeObject <List <User> >(this.Data);  //change list<user> to top of project
                    EditUsers.FillUserDatabase(users2);
                }

                break;

            default:
                break;
            }
        }