private void BtnEdit_Click(object sender, EventArgs e)
        {
            if (lvExtraOptiuni.SelectedItems.Count != 1)
            {
                MessageBox.Show("Alegeti o extra-optiune!");
                return;
            }

            ListViewItem lvi     = lvExtraOptiuni.SelectedItems[0];
            ExtraOptiune optiune = (ExtraOptiune)lvi.Tag;

            EditExtraOptiuneForm editExtraOptiuneForm = new EditExtraOptiuneForm(optiune);

            if (editExtraOptiuneForm.ShowDialog() == DialogResult.OK)
            {
                ExtraOptiuneRepository.updateExtraOptiune(optiune);
                AfisareExtraOptiuni();
            }
        }
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (lvExtraOptiuni.SelectedItems.Count != 1)
            {
                MessageBox.Show("Alegeti o extra-optiune!");
                return;
            }

            if (MessageBox.Show(
                    "Sinteti sigur de stergere?",
                    "Stergere extra-optiune",
                    MessageBoxButtons.YesNo,
                    MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                ListViewItem lvi     = lvExtraOptiuni.SelectedItems[0];
                ExtraOptiune optiune = (ExtraOptiune)lvi.Tag;
                ExtraOptiuneRepository.deleteExtraOptiune(optiune);
                extraOptiuni.Remove(optiune);
                AfisareExtraOptiuni();
            }
        }
        public void AfisareClienti()
        {
            lvClienti.Items.Clear();
            foreach (var client in clienti)
            {
                var lvi = new ListViewItem(client.Nume);
                lvi.SubItems.Add(client.Prenume);
                lvi.SubItems.Add(client.DataNasterii.ToShortDateString());

                TipAbonament abonament = TipAbonamentRepository.findTipAbonamentById(client.IdAbonament);
                lvi.SubItems.Add(abonament.Name);

                ExtraOptiune extraOptiune = ExtraOptiuneRepository.findExtraOptiuneById(client.IdExtraOptiune);
                lvi.SubItems.Add(extraOptiune.Name);

                Plata plata = PlataRepository.findPlataById(client.IdFactura);
                lvi.SubItems.Add(plata.Value.ToString());
                lvi.SubItems.Add(plata.DueDate.ToShortDateString());
                lvi.Tag = client;

                lvClienti.Items.Add(lvi);
            }
        }
 public void LoadExtraOptiuni()
 {
     extraOptiuni.AddRange(ExtraOptiuneRepository.findAllExtraOptiune());
 }
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            bool   isValid  = true;
            string denumire = tbDenumire.Text;

            if (denumire.Length < 3)
            {
                isValid = false;
                epDenumire.SetError(tbDenumire, "At least 3 chars!");
            }

            string minute = tbMinute.Text.Trim();

            if (minute.Length < 1 || (minute.StartsWith("0") && minute.Length > 1))
            {
                isValid = false;
                epMinute.SetError(tbMinute, "Invalid number!");
            }

            string mesaje = tbMesaje.Text;

            if (mesaje.Length < 1 || (mesaje.StartsWith("0") && mesaje.Length > 1))
            {
                isValid = false;
                epMesaje.SetError(tbMesaje, "Invalid quantity!");
            }

            string netMb = tbNetMb.Text;

            if (netMb.Length < 1 || (netMb.StartsWith("0") && netMb.Length > 1))
            {
                isValid = false;
                epNetMb.SetError(tbNetMb, "Invalid quantity!");
            }

            string pretExtraOptiune = tbPret.Text;

            if (pretExtraOptiune.Length < 1 ||
                (pretExtraOptiune.StartsWith("0") && ((pretExtraOptiune.Contains(".") && pretExtraOptiune.IndexOf('.') != 1) || (!pretExtraOptiune.Contains(".") && pretExtraOptiune.Length > 1))) ||
                (pretExtraOptiune.StartsWith("0") && pretExtraOptiune.Contains(".") && pretExtraOptiune.IndexOf('.') == 1 && pretExtraOptiune.Length < 3))
            {
                isValid = false;
                epPret.SetError(
                    tbPret,
                    "Invalid value!");
            }

            if (!isValid)
            {
                MessageBox.Show(
                    "Form contains errors!",
                    "Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
            else
            {
                try
                {
                    long id = ExtraOptiuneRepository.saveExtraOptiune(
                        denumire,
                        int.Parse(minute),
                        int.Parse(mesaje),
                        int.Parse(netMb),
                        double.Parse(pretExtraOptiune));

                    var extraOptiune = new ExtraOptiune(
                        id,
                        denumire,
                        int.Parse(minute),
                        int.Parse(mesaje),
                        int.Parse(netMb),
                        double.Parse(pretExtraOptiune));

                    extraOptiuni.Add(extraOptiune);

                    AfisareExtraOptiuni();
                    ClearForm();
                }
                catch
                {
                    MessageBox.Show("Error encountered!");
                }
            }
        }