示例#1
0
        public void Save(Student student)
        {
            Boolean insert = true;

            if (student.Id != 0)
            {
                insert = false;
            }
            base.Save(student);
            this._db.OpenConnection();
            MySqlCommand command = this._db.CreateCommand();

            if (insert)
            {
                command.CommandText = "INSERT INTO student (user_id, studentnumber, study) VALUES " +
                                      "(?user_id, ?studentnumber, ?study)";
            }
            else
            {
                command.CommandText = "UPDATE student (studentnumber, study) VALUES " +
                                      "(?studentnumber, ?study) WHERE user_id = ?user_id";
            }
            command.Parameters.Add(new MySqlParameter("?user_id", MySqlDbType.Int32)).Value       = student.Id;
            command.Parameters.Add(new MySqlParameter("?studentnumber", MySqlDbType.Int32)).Value = student.Studentnumber;
            command.Parameters.Add(new MySqlParameter("?study", MySqlDbType.String)).Value        = student.Study;
            this._db.ExecuteCommand(command);
            this._db.CloseConnection();
            if (insert)
            {
                Pair pair = new Pair();
                pair.Student1    = student;
                pair.Student1_id = student.Id;
                PAZController.GetInstance().PairMapper.Save(pair);
            }
        }
示例#2
0
        public DeleteDataWindow()
        {
            InitializeComponent();

            _controller = PAZController.GetInstance();

            _users      = _controller.UserMapper.FindAll();
            _deleteList = new List <object>();

            List <User> _admins = new List <User>();

            foreach (User user in _users)
            {
                if (user.User_type == "admin")
                {
                    _admins.Add(user);
                }
            }

            // Dit moet wel zo, omdat de admins niet direct in de users list kunnen worden verwijderd tijdens een loop
            foreach (User admin in _admins)
            {
                _users.Remove(admin);
            }

            _users.Sort();

            PersonenToevoegen();
        }
示例#3
0
 public static MysqlDb GetInstance()
 {
     if (MysqlDb._db == null)
     {
         IniFile ini = PAZController.GetInstance().IniReader;
         MysqlDb._db = new MysqlDb(ini["DATABASESETTINGS"]["db_host"], ini["DATABASESETTINGS"]["db_username"], ini["DATABASESETTINGS"]["db_password"], ini["DATABASESETTINGS"]["db_database"]);
     }
     return(MysqlDb._db);
 }
示例#4
0
        public LetterWindow(List <SessionRow> sessions, LetterTemplate letterTemplate)
        {
            InitializeComponent();

            tbKenmerk.Text           = letterTemplate.Kenmerk;
            tbContactpersonen.Text   = letterTemplate.Contactpersonen;
            tbTelefoon.Text          = letterTemplate.Telefoon;
            tbEmail.Text             = letterTemplate.Email;
            tbAvansAdres.Text        = letterTemplate.AvansAdres;
            tbAvansLocatie.Text      = letterTemplate.AvansLocatie;
            tbBeginKern.Text         = letterTemplate.BeginKern;
            tbReisInformatie.Text    = letterTemplate.ReisInformatie;
            tbVerdereInformatie.Text = letterTemplate.VerdereInformatie;
            tbAfzenders.Text         = letterTemplate.Afzenders;
            tbBijlagen.Text          = letterTemplate.Bijlagen;
            tbVoettekstLinks.Text    = letterTemplate.VoettekstLinks;
            tbVoettekstMidden.Text   = letterTemplate.VoettekstCenter;
            tbVoettekstRechts.Text   = letterTemplate.VoettekstRechts;

            _experts   = new List <Expert>();
            _receivers = new Dictionary <int, Expert>();
            _sessions  = sessions;

            // Note: Dit ziet er misschien klote uit, maar een List.Contains check schijnt niet te werken(mogelijk zijn er dubbele expert objecten?)
            Dictionary <int, Expert> experts = new Dictionary <int, Expert>();

            foreach (SessionRow session in sessions)
            {
                Session sessionModel = session.GetSessionModel();

                foreach (KeyValuePair <int, Expert> keyValuePair in sessionModel.Experts)
                {
                    if (!experts.ContainsKey(keyValuePair.Key))
                    {
                        experts.Add(keyValuePair.Key, keyValuePair.Value);
                    }
                }
            }

            // En nu weer naar een List omdat Dictionary faalt en niet kan sorten
            foreach (KeyValuePair <int, Expert> keyValuePair in experts)
            {
                _experts.Add(keyValuePair.Value);
            }

            _experts.Sort();

            ExpertsToevoegen();

            _controller     = PAZController.GetInstance();
            _ini            = _controller.IniReader;
            _letterTemplate = letterTemplate;

            btnSave.IsEnabled = false;
        }
示例#5
0
        public EmailWindow(List <SessionRow> sessions, EmailTemplate emailTemplate)
        {
            InitializeComponent();

            tbAfzender.Text   = emailTemplate.Displayname;
            tbInleiding.Text  = emailTemplate.Inleiding;
            tbInformatie.Text = emailTemplate.Informatie;
            tbAfsluiting.Text = emailTemplate.Afsluiting;
            tbAfzenders.Text  = emailTemplate.Afzenders;

            _teachers  = new List <Teacher>();
            _students  = new List <Student>();
            _receivers = new List <User>();
            _sessions  = sessions;

            // Note: Dit ziet er misschien klote uit, maar een List.Contains check schijnt niet te werken(mogelijk zijn er dubbele teacher objecten?)
            Dictionary <int, Teacher> teachers = new Dictionary <int, Teacher>();

            foreach (SessionRow session in sessions)
            {
                Session sessionModel = session.GetSessionModel();

                foreach (KeyValuePair <int, Teacher> keyValuePair in sessionModel.Teachers)
                {
                    if (!teachers.ContainsKey(keyValuePair.Key))
                    {
                        teachers.Add(keyValuePair.Key, keyValuePair.Value);
                    }
                }

                _students.Add(sessionModel.Pair.Student1);
                _students.Add(sessionModel.Pair.Student2);
            }

            // En nu weer naar een List omdat Dictionary faalt en niet kan sorten
            foreach (KeyValuePair <int, Teacher> keyValuePair in teachers)
            {
                _teachers.Add(keyValuePair.Value);
            }

            _students.Sort();
            _teachers.Sort();

            StudentenToevoegen();
            DocentenToevoegen();

            _controller    = PAZController.GetInstance();
            _ini           = _controller.IniReader;
            _emailTemplate = emailTemplate;

            btnSave.IsEnabled = false;
        }
示例#6
0
        public void Save(User user)
        {
            this._db.OpenConnection();
            MySqlCommand command = this._db.CreateCommand();

            if (user.Id != 0)
            {
                command.CommandText = "UPDATE user SET username=?username, firstname=?firstname, surname=?surname, email=?email, user_type=?user_type, status=?status, was_changed=?was_changed WHERE id = ?id";
                command.Parameters.Add(new MySqlParameter("?id", MySqlDbType.Int32)).Value = user.Id;
            }
            else
            {
                command.CommandText = "INSERT INTO user (username, firstname, surname, email, user_type, status, was_changed) VALUES " +
                                      "(?username, ?firstname, ?surname, ?email, ?user_type, ?status, ?was_changed)";
            }
            command.Parameters.Add(new MySqlParameter("?username", MySqlDbType.String)).Value   = user.Username;
            command.Parameters.Add(new MySqlParameter("?firstname", MySqlDbType.String)).Value  = user.Firstname;
            command.Parameters.Add(new MySqlParameter("?surname", MySqlDbType.String)).Value    = user.Surname;
            command.Parameters.Add(new MySqlParameter("?email", MySqlDbType.String)).Value      = user.Email;
            command.Parameters.Add(new MySqlParameter("?user_type", MySqlDbType.String)).Value  = user.User_type;
            command.Parameters.Add(new MySqlParameter("?status", MySqlDbType.String)).Value     = user.Status;
            command.Parameters.Add(new MySqlParameter("?was_changed", MySqlDbType.Int32)).Value = user.WasChanged;
            this._db.ExecuteCommand(command);
            this._db.CloseConnection();
            if (user.Id == 0)
            {
                this._db.OpenConnection();
                MySqlCommand command2 = this._db.CreateCommand();
                command2.CommandText = "SELECT LAST_INSERT_ID()";
                MySqlDataReader Reader = this._db.ExecuteCommand(command2);
                Reader.Read();
                this._db.CloseConnection();
                user.Id = Reader.GetInt32(0);
            }
            this._db.OpenConnection();
            MySqlCommand command3 = this._db.CreateCommand();

            command3.CommandText = "DELETE FROM blocked_timeslot WHERE user_id = ?user_id";
            command3.Parameters.Add(new MySqlParameter("?user_id", MySqlDbType.Int32)).Value = user.Id;
            this._db.ExecuteCommand(command3);
            this._db.CloseConnection();
            BlockedTimeslotMapper blockedtimeslotmapper = PAZController.GetInstance().BlockedTimeslotMapper;

            foreach (Blocked_timeslot slot in user.BlockedTimeslots)
            {
                slot.User = user;
                blockedtimeslotmapper.Save(slot);
            }
        }
示例#7
0
        public KoppelWindow()
        {
            InitializeComponent();

            _controller = PAZController.GetInstance();

            btnSave.IsEnabled = false;

            _pairs    = _controller.PairMapper.FindAll();
            _students = _controller.StudentMapper.FindAll();
            _teachers = _controller.TeacherMapper.FindAll();
            _experts  = _controller.ExpertMapper.FindAll();

            fillPairs();
            fillStudents();
            fillTeachers();
            fillExperts();
        }
示例#8
0
        public SessionWindow(Session session)
        {
            InitializeComponent();
            _controller = PAZController.GetInstance();
            List <Pair> pairs = _controller.PairMapper.FindAll();

            foreach (Pair pair in pairs)
            {
                cbPairs.Items.Add(pair.ID + ", " + pair.ToString());
            }

            foreach (Teacher teacher in _controller.TeacherMapper.FindAll())
            {
                cbTeacher1.Items.Add(teacher.Id + ", " + teacher.ToString());
                cbTeacher2.Items.Add(teacher.Id + ", " + teacher.ToString());
            }

            foreach (Expert expert in _controller.ExpertMapper.FindAll())
            {
                cbExpert1.Items.Add(expert.Id + ", " + expert.ToString());
                cbExpert2.Items.Add(expert.Id + ", " + expert.ToString());
            }
            List <string> teachers = new List <string>();
            List <string> experts  = new List <string>();

            foreach (User user in session.Pair.Attachments)
            {
                if (user.User_type == "teacher")
                {
                    Teacher t = _controller.TeacherMapper.Find(user.Id);
                    teachers.Add(t.Id + ", " + t.ToString());
                }
                else if (user.User_type == "expert")
                {
                    Expert t = _controller.ExpertMapper.Find(user.Id);
                    experts.Add(t.Id + ", " + t.ToString());
                }
            }

            ids[0] = session.Pair.ID;
            string[] temp;

            cbPairs.SelectedIndex = cbPairs.Items.IndexOf(session.Pair.ID + ", " + session.Pair.ToString());
            if (teachers.Count > 0)
            {
                cbTeacher1.SelectedIndex = cbTeacher1.Items.IndexOf(teachers[0]);
                cbTeacher2.SelectedIndex = cbTeacher2.Items.IndexOf(teachers[1]);
                temp   = teachers[0].Split(',');
                ids[1] = Convert.ToInt32(temp[0]);
                temp   = teachers[1].Split(',');
                ids[2] = Convert.ToInt32(temp[0]);
            }
            if (experts.Count > 0)
            {
                cbExpert1.SelectedIndex = cbExpert1.Items.IndexOf(experts[0]);
                cbExpert2.SelectedIndex = cbExpert2.Items.IndexOf(experts[1]);
                temp   = experts[0].Split(',');
                ids[3] = Convert.ToInt32(temp[0]);
                temp   = experts[1].Split(',');
                ids[4] = Convert.ToInt32(temp[0]);
            }
        }
示例#9
0
文件: Daytime.cs 项目: PAZ-MI4Ie/PAZ
 public string GetStarttime()
 {
     return(PAZController.GetInstance().TimeslotMapper.Find(this.Timeslot).Time.Split(new char[] { '-' })[0]);
 }