Exemple #1
0
        public override void AddNextOfKin(NextOfKin nextOfKin)
        {
            DataBase db          = new NextOfKinData();
            int      nextofKinId = db.Add(nextOfKin, Student.PersonId);

            nextOfKin.PersonId = nextofKinId;
        }
        private void PopulateNextOfKin()
        {
            cmbNextOfKinName.DisplayMember = "FullName";
            cmbNextOfKinName.ValueMember   = "PersonId";
            DataBase         db        = new NextOfKinData();
            List <NextOfKin> list      = db.GetList().ConvertAll(x => x as NextOfKin);
            List <NextOfKin> nextOfKin = list.Except(_student.Doctors.ConvertAll(x => x as NextOfKin)).ToList();

            cmbNextOfKinName.DataSource    = GetOtherNextOfKin(list, _student.NextOfKin.ConvertAll(x => x as NextOfKin));// db.GetList();
            cmbNextOfKinName.SelectedIndex = -1;
            cmbNextOfKinName.Refresh();
        }
Exemple #3
0
        private void addNextOfKin_Click(object sender, EventArgs e)
        {
            //AddNextOfKin ad = new AddNextOfKin(_student);
            NextOfKinAdd ad = new NextOfKinAdd(new AddNextOfKinToExistingStudent(_student));

            ad.ShowDialog();
            if (ad.DialogResult == DialogResult.OK)
            {
                DataBase db = new NextOfKinData();
                _student.NextOfKin = db.GetList(_student.PersonId).ConvertAll(x => x as NextOfKin);
                PopulateNextOfKin();
            }
        }
Exemple #4
0
        private void removeNextOfKin_Click(object sender, EventArgs e)
        {
            int    rowindex    = nextOfKinGridView1.CurrentCell.RowIndex;
            int    nextOfKinId = (int)nextOfKinGridView1.Rows[rowindex].Cells[0].Value;
            Person nextOfKin   = _student.NextOfKin.Find(x => x.PersonId == nextOfKinId);

            if (nextOfKin != null)
            {
                if (MessageBox.Show("Are you sure you want to remove Next of kin '" + nextOfKin.FullName + "' from this student?", "Remove Doctor", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    DataBase db = new NextOfKinData();
                    db.Remove(nextOfKin, _student.PersonId);
                    _student.Doctors = db.GetList(_student.PersonId);
                    PopulateNextOfKin();
                }
            }
        }
Exemple #5
0
        public override void Save()
        {
            DBCommand dbc = new DBCommand(DBCommand.TransactionType.WithTransaction);

            try
            {
                DataBase db = new StudentData(dbc);
                if (Student.PersonId == 0)
                {
                    int studentId = db.Add(Student);
                    if (Student.Doctors.Count > 0)
                    {
                        db = new DoctorData(dbc);
                        foreach (Doctor doctor in Student.Doctors)
                        {
                            db.Allocate(doctor, studentId);
                        }
                    }

                    if (Student.NextOfKin.Count > 0)
                    {
                        db = new NextOfKinData(dbc);
                        foreach (NextOfKin nok in Student.NextOfKin)
                        {
                            if (nok.PersonId == 0)
                            {
                                nok.PersonId = db.Add(nok, studentId);
                            }
                            else
                            {
                                db.Allocate(nok, studentId);
                            }
                        }
                    }

                    if (Student.EmergencyContacts.Count > 0)
                    {
                        db = new EmergencyContactData(dbc);
                        foreach (EmergencyContact ec in Student.EmergencyContacts)
                        {
                            //if (ec.PersonId == 0)
                            //{
                            ec.PersonId = db.Add(ec, studentId);
                            //}
                            //db.Allocate(ec, studentId);
                        }
                    }

                    if (Student.MedicalConditions.Count > 0)
                    {
                        MedicalConditionData mdc = new MedicalConditionData(dbc);
                        foreach (MedicalCondition mc in Student.MedicalConditions)
                        {
                            mdc.Add(mc, studentId);
                        }
                    }
                }
                else
                {
                    db.Update(Student);
                }
                dbc.CommitTransactions();
                dbc.CloseConnection();
                Student.RemovedObjects.Clear();
            }
            catch (Exception ex)
            {
                dbc.rollbackTransactions();
                dbc.CloseConnection();
                throw new Exception(ex.Message);
            }
        }
Exemple #6
0
        public override void Commit()
        {
            DataBase db = new NextOfKinData();

            _doctorAddEdit.NextOfKin.PersonId = db.Add(_doctorAddEdit.NextOfKin);
        }
Exemple #7
0
        public override void AllocateNextOfKin(NextOfKin nextOfKin)
        {
            DataBase db = new NextOfKinData();

            db.Allocate(nextOfKin, Student.PersonId);
        }