public static string GenerateUniqueClientID()
        {
            IndividualClientController clientController         = new IndividualClientController();
            BusinessClientController   businessClientController = new BusinessClientController();
            Random random = new Random();

            List <Client> clients = new List <Client>();

            clients.AddRange(clientController.Read());
            clients.AddRange(businessClientController.Read());


            Boolean done = false;
            string  a    = "";

            while (!done)
            {
                int    i     = random.Next(0, 99999999);
                string chars = "ABCDE";
                a    = String.Format("{0}{1:00000000}", GetRandomCharacter(chars, random), i);
                done = true;

                foreach (Client c in clients)
                {
                    if (a.Equals(c.ClientIdentifier))
                    {
                        done = false;
                    }
                }
            }

            return(a);
        }
        private void btnDeleteI_Click(object sender, EventArgs e)
        {
            DialogResult deleteI = MessageBox.Show("Are you sure you want to delete this Client?", "WARNING: DELETE CLIENT",
                                                   MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (deleteI == DialogResult.Yes)
            {
                if (lstClientsI.SelectedItems.Count > 0)
                {
                    //MessageBox.Show((lstClientsI.SelectedItems[0].Tag as Client).ToString());
                    IndividualClientController individualClientController = new IndividualClientController();
                    IndividualClient           client = lstClientsI.SelectedItems[0].Tag as IndividualClient;
                    individualClientController.Delete(client);
                    lstClientsI.Items.Clear();
                    LoadIndividualClient();
                    MessageBox.Show("Client successfully deleted", "INDIVIDUAL CLIENT DELETED",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Client NOT deleted", "CLIENT UNCHANGED",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void btnIndividualNew_Click(object sender, EventArgs e)
        {
            newcontact       = txtContact.Text;
            newclientname    = txtNameNewI.Text;
            newclientsurname = txtSurnameNewI.Text;
            clientID         = tbClientID.Text;

            IndividualClientController individualClientController = new IndividualClientController();

            IndividualClient individualClient = new IndividualClient(
                newcontact,
                newclientname,
                newclientsurname,
                clientID
                );


            if (newcontact.Equals(""))
            {
                MessageBox.Show("Please enter client contact details", "EMPTY FIELDS!!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            if (newclientname.Equals(""))
            {
                MessageBox.Show("Please enter a client name", "EMPTY FIELDS!!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            if (newclientsurname.Equals(""))
            {
                MessageBox.Show("Please enter a client name", "EMPTY FIELDS!!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                individualClientController.Create(individualClient);

                MessageBox.Show("Individual Client add successful, returning to Client Menu", "INDIVIDUAL CLIENT ADDED",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);

                Hide();
                frmClientMenu form = new frmClientMenu();
                form.ShowDialog();
                Show();
            }
        }
        void LoadIndividualClient()
        {
            //lstClientsI.Clear();
            IndividualClientController individualClientController = new IndividualClientController();

            lstClientsI.Items.Clear();
            foreach (IndividualClient client in individualClientController.Read())
            {
                ListViewItem lstI = new ListViewItem(
                    new string[] {
                    client.ClientIdentifier,
                    client.Name,
                    client.Surname,
                    client.ContactNum
                }
                    );

                lstI.Tag = client;

                lstClientsI.Items.Add(lstI);
            }
        }
        private FrmNewRequest(CallCentreLogic callCentreLogic)
        {
            InitializeComponent();
            this.callCentreLogic = callCentreLogic;

            IndividualClientController individualClientController = new IndividualClientController();
            BusinessClientController   businessClientController   = new BusinessClientController();
            ServiceContractController  serviceContractController  = new ServiceContractController();

            foreach (IndividualClient client in individualClientController.Read())
            {
                cbExistingClient.Items.Add(client);
            }

            foreach (BusinessClient client in businessClientController.Read())
            {
                cbExistingClient.Items.Add(client);
            }

            foreach (ServiceContract serviceContract in serviceContractController.Read())
            {
                cbNewContractRequestServiceContract.Items.Add(serviceContract);
            }
        }