private void btnCreate_Click(object sender, EventArgs e)
        {
            if (txtPhone.MaskedTextProvider.MaskCompleted)
            {
                if (clsGlobal.mode == "add")
                {
                    try
                    {
                        string img = System.IO.Path.GetFileName(imgpath);
                        this.employeesTableAdapter.Insert(txtName.Text, txtPhone.Text, txtEmail.Text, cmbGender.Text, txtAddress.Text, img, txtPassword.Text, cmbPosition.Text, txtComment.Text);

                        RemaxDatabaseDataSet data = new RemaxDatabaseDataSet();
                        RemaxDatabaseDataSetTableAdapters.EmployeesTableAdapter empadapt = new RemaxDatabaseDataSetTableAdapters.EmployeesTableAdapter();

                        empadapt.Fill(data.Employees);

                        int id = -1;

                        foreach (DataRow ab in data.Employees)
                        {
                            if (ab["Phone"].ToString() == txtPhone.Text)
                            {
                                id = Convert.ToInt32(ab["refEmployee"].ToString());
                            }
                        }

                        if (listSkills.Items.Count > 0)
                        {
                            foreach (ListViewItem itn in listSkills.Items)
                            {
                                this.employeeSkillsTableAdapter.Insert(id, Convert.ToInt32(itn.SubItems[0].Text));
                            }
                        }
                        frm1.employeesTableAdapter.Fill(frm1.remaxDatabaseDataSet.Employees);
                        this.Close();
                    }
                    catch (System.Data.OleDb.OleDbException exc)
                    {
                        string errorMessages = "";

                        for (int i = 0; i < exc.Errors.Count; i++)
                        {
                            errorMessages += "Index #" + i + "\n" +
                                             "Message: " + exc.Errors[i].Message + "\n" +
                                             "NativeError: " + exc.Errors[i].NativeError + "\n" +
                                             "Source: " + exc.Errors[i].Source + "\n" +
                                             "SQLState: " + exc.Errors[i].SQLState + "\n";
                        }

                        MetroMessageBox.Show(this, "Error while inserting the new agent:\n" + errorMessages, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (clsGlobal.mode == "edit")
                {
                    try
                    {
                        string img = System.IO.Path.GetFileName(imgpath);
                        this.employeesTableAdapter.Update(txtName.Text, txtPhone.Text, txtEmail.Text, cmbGender.Text, txtAddress.Text, img, txtPassword.Text, cmbPosition.Text, txtComment.Text, refnumber);

                        RemaxDatabaseDataSet data = new RemaxDatabaseDataSet();
                        RemaxDatabaseDataSetTableAdapters.EmployeesTableAdapter empadapt = new RemaxDatabaseDataSetTableAdapters.EmployeesTableAdapter();

                        empadapt.Fill(data.Employees);

                        int id = -1;

                        foreach (DataRow ab in data.Employees)
                        {
                            if (ab["Phone"].ToString() == txtPhone.Text)
                            {
                                id = Convert.ToInt32(ab["refEmployee"].ToString());
                            }
                        }

                        if (listSkills.Items.Count > 0)
                        {
                            foreach (DataRow ab in remaxDatabaseDataSet.EmployeeSkills.Rows)
                            {
                                if (ab.Field <Int32>("refEmployee") == id)
                                {
                                    this.employeeSkillsTableAdapter.Delete(ab.Field <Int32>("refEmployee"), ab.Field <Int32>("refSkill"));
                                }
                            }
                            employeeSkillsTableAdapter.Fill(remaxDatabaseDataSet.EmployeeSkills);
                            foreach (ListViewItem itn in listSkills.Items)
                            {
                                this.employeeSkillsTableAdapter.Insert(id, Convert.ToInt32(itn.SubItems[0].Text));
                            }
                        }
                        frm1.employeesTableAdapter.Fill(frm1.remaxDatabaseDataSet.Employees);
                        this.Close();
                    }
                    catch (System.Data.OleDb.OleDbException exc)
                    {
                        string errorMessages = "";

                        for (int i = 0; i < exc.Errors.Count; i++)
                        {
                            errorMessages += "Index #" + i + "\n" +
                                             "Message: " + exc.Errors[i].Message + "\n" +
                                             "NativeError: " + exc.Errors[i].NativeError + "\n" +
                                             "Source: " + exc.Errors[i].Source + "\n" +
                                             "SQLState: " + exc.Errors[i].SQLState + "\n";
                        }

                        MetroMessageBox.Show(this, "Error while inserting the new agent:\n" + errorMessages, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MetroMessageBox.Show(this, "Check the phone formating! ", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (clsGlobal.mode == "add")
            {
                try
                {
                    int id = 0;

                    this.housesTableAdapter.Insert(Convert.ToInt32(cmbEmployee.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbListing.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbType.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbClient.SelectedValue.ToString()),
                                                   cmbBathroom.Text,
                                                   cmbTotalRoom.Text,
                                                   txtLivingArea.Text,
                                                   cmbParkingSpot.Text,
                                                   cmbDate.Text,
                                                   txtAddress.Text,
                                                   cmbBedroom.Text,
                                                   txtComment.Text,
                                                   txtPrice.Text);

                    if (listPic.Items.Count > 0)
                    {
                        foreach (ListViewItem itn in listPic.Items)
                        {
                            this.picturesTableAdapter.Insert(itn.SubItems[0].Text, itn.SubItems[1].Text);
                        }
                    }

                    RemaxDatabaseDataSet dvx = new RemaxDatabaseDataSet();
                    RemaxDatabaseDataSetTableAdapters.HousesTableAdapter emp = new RemaxDatabaseDataSetTableAdapters.HousesTableAdapter();

                    emp.Fill(dvx.Houses);

                    int xd = -1;

                    foreach (DataRow ab in dvx.Houses)
                    {
                        if (ab["Address"].ToString() == txtAddress.Text)
                        {
                            xd = Convert.ToInt32(ab["refHouse"].ToString());
                        }
                    }

                    RemaxDatabaseDataSet data = new RemaxDatabaseDataSet();
                    RemaxDatabaseDataSetTableAdapters.PicturesTableAdapter empadapt = new RemaxDatabaseDataSetTableAdapters.PicturesTableAdapter();

                    empadapt.Fill(data.Pictures);

                    foreach (DataRow ab in data.Pictures)
                    {
                        foreach (ListViewItem itn in listPic.Items)
                        {
                            if (itn.SubItems[0].Text == ab["PicturePath"].ToString() &&
                                itn.SubItems[1].Text == ab["PictureComment"].ToString())
                            {
                                id = Convert.ToInt32(ab["refPicture"].ToString());
                                this.housesPicturesTableAdapter.Insert(xd, id);
                            }
                        }
                    }

                    if (listSkills.Items.Count > 0)
                    {
                        foreach (ListViewItem itn in listSkills.Items)
                        {
                            this.housesFeaturesTableAdapter.Insert(xd, Convert.ToInt32(itn.SubItems[0].Text));
                        }
                    }

                    frm1.housesTableAdapter1.Fill(frm1.remaxDatabaseDataSet1.Houses);
                    frm1.select();
                    this.Close();
                }
                catch (System.Data.OleDb.OleDbException exc)
                {
                    string errorMessages = "";

                    for (int i = 0; i < exc.Errors.Count; i++)
                    {
                        errorMessages += "Index #" + i + "\n" +
                                         "Message: " + exc.Errors[i].Message + "\n" +
                                         "NativeError: " + exc.Errors[i].NativeError + "\n" +
                                         "Source: " + exc.Errors[i].Source + "\n" +
                                         "SQLState: " + exc.Errors[i].SQLState + "\n";
                    }

                    MetroMessageBox.Show(this, "Error while inserting the new agent:\n" + errorMessages, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (clsGlobal.mode == "edit")
            {
                try
                {
                    int id = 0;

                    this.housesTableAdapter.Update(Convert.ToInt32(cmbEmployee.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbListing.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbType.SelectedValue.ToString()),
                                                   Convert.ToInt32(cmbClient.SelectedValue.ToString()),
                                                   cmbBathroom.Text,
                                                   cmbTotalRoom.Text,
                                                   txtLivingArea.Text,
                                                   cmbParkingSpot.Text,
                                                   cmbDate.Text,
                                                   txtAddress.Text,
                                                   cmbBedroom.Text,
                                                   txtComment.Text,
                                                   txtPrice.Text,
                                                   refHouse,
                                                   refEmployee,
                                                   refListing,
                                                   refType,
                                                   refClient);


                    foreach (DataRow ab in remaxDatabaseDataSet.HousesPictures.Rows)
                    {
                        if (ab.Field <Int32>("refHouse") == refHouse)
                        {
                            this.housesPicturesTableAdapter.Delete(refHouse, ab.Field <Int32>("refPicture"));
                            this.picturesTableAdapter.Delete(ab.Field <Int32>("refPicture"));
                        }
                    }

                    if (listPic.Items.Count > 0)
                    {
                        foreach (ListViewItem itn in listPic.Items)
                        {
                            this.picturesTableAdapter.Insert(itn.SubItems[0].Text, itn.SubItems[1].Text);
                        }
                    }
                    picturesTableAdapter.Fill(remaxDatabaseDataSet.Pictures);

                    RemaxDatabaseDataSet data = new RemaxDatabaseDataSet();
                    RemaxDatabaseDataSetTableAdapters.PicturesTableAdapter empadapt = new RemaxDatabaseDataSetTableAdapters.PicturesTableAdapter();

                    empadapt.Fill(data.Pictures);

                    foreach (DataRow ab in data.Pictures)
                    {
                        foreach (ListViewItem itn in listPic.Items)
                        {
                            if (itn.SubItems[0].Text == ab["PicturePath"].ToString() &&
                                itn.SubItems[1].Text == ab["PictureComment"].ToString())
                            {
                                id = Convert.ToInt32(ab["refPicture"].ToString());
                                this.housesPicturesTableAdapter.Insert(refHouse, id);
                            }
                        }
                    }

                    housesPicturesTableAdapter.Fill(remaxDatabaseDataSet.HousesPictures);
                    frm1.housesTableAdapter1.Fill(frm1.remaxDatabaseDataSet1.Houses);

                    if (listSkills.Items.Count > 0)
                    {
                        foreach (DataRow ab in remaxDatabaseDataSet.HousesFeatures.Rows)
                        {
                            if (ab.Field <Int32>("refHouse") == refHouse)
                            {
                                this.housesFeaturesTableAdapter.Delete(refHouse, ab.Field <Int32>("refFeature"));
                            }
                        }
                        housesFeaturesTableAdapter.Fill(remaxDatabaseDataSet.HousesFeatures);
                        foreach (ListViewItem itn in listSkills.Items)
                        {
                            this.housesFeaturesTableAdapter.Insert(refHouse, Convert.ToInt32(itn.SubItems[0].Text));
                        }
                    }

                    housesPicturesTableAdapter.Fill(remaxDatabaseDataSet.HousesPictures);
                    frm1.housesTableAdapter1.Fill(frm1.remaxDatabaseDataSet1.Houses);
                    frm1.select();

                    this.Close();
                }
                catch (System.Data.OleDb.OleDbException exc)
                {
                    string errorMessages = "";

                    for (int i = 0; i < exc.Errors.Count; i++)
                    {
                        errorMessages += "Index #" + i + "\n" +
                                         "Message: " + exc.Errors[i].Message + "\n" +
                                         "NativeError: " + exc.Errors[i].NativeError + "\n" +
                                         "Source: " + exc.Errors[i].Source + "\n" +
                                         "SQLState: " + exc.Errors[i].SQLState + "\n";
                    }

                    MetroMessageBox.Show(this, "Error while inserting the new agent:\n" + errorMessages, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }