Exemplo n.º 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);
            }
        }
Exemplo n.º 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();
        }
Exemplo n.º 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);
 }
Exemplo n.º 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;
        }
Exemplo n.º 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;
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 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();
        }
Exemplo n.º 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]);
            }
        }
Exemplo n.º 9
0
 public string GetStarttime()
 {
     return(PAZController.GetInstance().TimeslotMapper.Find(this.Timeslot).Time.Split(new char[] { '-' })[0]);
 }
Exemplo n.º 10
0
        public void createCalendar(Ini.IniFile ini, List <Classroom> classrooms, PAZController controller)
        {
            _controller = controller;
            DateTime startDate   = DateTime.Parse(ini["DATES"]["startdate"]);
            DateTime stopDate    = DateTime.Parse(ini["DATES"]["enddate"]);
            Brush    headerColor = Brushes.LightGray;
            int      interval    = 1;
            int      rows        = 0;

            //Firste column color rec
            Rectangle recC = new Rectangle();

            recC.Fill = headerColor;
            Grid.SetColumn(recC, 0);
            Grid.SetRow(recC, 0);
            Children.Add(recC);

            //Defining rowdef & row height
            RowDefinition row    = new RowDefinition();
            GridLength    height = new GridLength(140);

            for (DateTime dateTime = startDate; dateTime <= stopDate; dateTime += TimeSpan.FromDays(interval))
            {
                if (dateTime.DayOfWeek != DayOfWeek.Sunday && dateTime.DayOfWeek != DayOfWeek.Saturday)
                {
                    //Adding color
                    Rectangle rec = new Rectangle();
                    rec.Fill = headerColor;
                    Grid.SetColumn(rec, 0);
                    Grid.SetRow(rec, rows);
                    Grid.SetColumnSpan(rec, classrooms.Count + 1);
                    Children.Add(rec);
                    //Add labels
                    for (int c = 0; c < classrooms.Count + 1; c++)
                    {
                        if (ColumnDefinitions.Count != classrooms.Count + 1)
                        {
                            //making columns
                            ColumnDefinition column = new ColumnDefinition();
                            GridLength       width;
                            if (c == 0)
                            {
                                width = new GridLength(75);
                            }
                            else
                            {
                                width = new GridLength(120);
                            }
                            column.Width = width;
                            ColumnDefinitions.Add(column);
                        }
                        //making labels
                        Label header = new Label();
                        if (c == 0)
                        {
                            header.Content = dateTime.ToString("dddd",
                                                               new CultureInfo("nl-NL")) + "\n" + dateTime.ToShortDateString();
                        }
                        else
                        {
                            header.Content = classrooms[c - 1].Room_number;
                        }
                        header.VerticalContentAlignment   = System.Windows.VerticalAlignment.Center;
                        header.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center;
                        Grid.SetColumn(header, c);
                        Grid.SetRow(header, rows);
                        Children.Add(header);
                    }

                    List <Timeslot> timeslots = controller.Timeslots;

                    //Making rows
                    for (int block = 0; block < timeslots.Count; ++block)
                    {
                        row = new RowDefinition();
                        //blok 0 = row for headers(classrooms,date)
                        if (block == 0)
                        {
                            row.Height = new GridLength(60);
                        }
                        else
                        {
                            row.Height = height;
                        }
                        RowDefinitions.Add(row);
                        rows++;

                        Label blk = new Label();
                        blk.Content = timeslots[block].Time;
                        blk.VerticalContentAlignment   = System.Windows.VerticalAlignment.Center;
                        blk.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center;
                        Grid.SetColumn(blk, 0);
                        Grid.SetRow(blk, rows);
                        Children.Add(blk);
                    }


                    //Maken dateGrids
                    Grid dateGrid = new Grid();
                    for (int i = 0; i < ColumnDefinitions.Count - 1; i++)
                    {
                        ColumnDefinition column = new ColumnDefinition();
                        GridLength       width  = new GridLength(120);
                        column.Width = width;
                        dateGrid.ColumnDefinitions.Add(column);
                    }
                    for (int i = 0; i < 4; i++)
                    {
                        row        = new RowDefinition();
                        row.Height = height;
                        dateGrid.RowDefinitions.Add(row);
                    }

                    for (int j = 0; j < 4; j++)
                    {
                        for (int i = 0; i < dateGrid.ColumnDefinitions.Count; i++)
                        {
                            CustomLabel emptySession = new CustomLabel();
                            Grid.SetColumn(emptySession, i);
                            Grid.SetRow(emptySession, j);
                            emptySession.AllowDrop = true;
                            emptySession.Drop     += new DragEventHandler(Session_Drop);
                            dateGrid.Children.Add(emptySession);
                        }
                    }
                    Grid.SetColumn(dateGrid, 1);
                    Grid.SetColumnSpan(dateGrid, dateGrid.ColumnDefinitions.Count);
                    Grid.SetRow(dateGrid, rows - 3);
                    Grid.SetRowSpan(dateGrid, dateGrid.RowDefinitions.Count);
                    dateGrid.ShowGridLines = true;
                    dateGrids.Add(dateTime.ToShortDateString(), dateGrid);
                    Children.Add(dateGrid);

                    //row block 4
                    row        = new RowDefinition();
                    row.Height = height;
                    RowDefinitions.Add(row);
                    rows++;
                }
            }
            //set first column color over all rows
            Grid.SetRowSpan(recC, rows);
        }