示例#1
0
 public UnitOfWork(ContaContext context)
 {
     _mContext = context;
     Lucrari = new LucrareRepository(_mContext);
     Beneficiari = new BeneficiarRepository(_mContext);
     AcceptateRespinse = new AcceptatRefuzataRepository(_mContext);
     TipLucrare = new TipLucrareRepository(_mContext);
     ReceptionateRespinse = new ReceprionataRespinsaRepository(_mContext);
     Contracte = new ContractRepository(_mContext);
     TipActe = new TipActRepository(_mContext);
     Incasari = new IncasareRepository(_mContext);
     Plati = new PlataRepository(_mContext);
 }
        private void BtnEdit_Click(object sender, EventArgs e)
        {
            if (lvClienti.SelectedItems.Count != 1)
            {
                MessageBox.Show("Alegeti un client!");
                return;
            }

            ListViewItem lvi    = lvClienti.SelectedItems[0];
            Client       client = (Client)lvi.Tag;
            Plata        plata  = PlataRepository.findPlataById(client.IdFactura);

            EditClientForm editClientForm = new EditClientForm(client, plata);

            if (editClientForm.ShowDialog() == DialogResult.OK)
            {
                PlataRepository.updatePlata(plata);
                ClientRepository.updateClient(client);
                AfisareClienti();
            }
        }
        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);
            }
        }
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (lvClienti.SelectedItems.Count != 1)
            {
                MessageBox.Show("Alegeti un client!");
                return;
            }

            if (MessageBox.Show("Sunteti sigur?",
                                "Stergere Client",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                ListViewItem lvi    = lvClienti.SelectedItems[0];
                Client       client = (Client)lvi.Tag;

                PlataRepository.deletePlata(client.IdFactura);
                ClientRepository.deleteClient(client.Id);

                clienti.Remove(client);

                AfisareClienti();
            }
        }
        private void BtnAdd_Click(object sender, EventArgs e)
        {
            bool   isValid = true;
            string nume    = tbNume.Text.Trim();

            if (nume.Length < 3)
            {
                isValid = false;
                epNume.SetError(tbNume, "Minim 3 caractere!");
            }

            string prenume = tbPrenume.Text.Trim();

            if (prenume.Length < 3)
            {
                isValid = false;
                epPrenume.SetError(tbPrenume, "Minim 3 caractere!");
            }

            if (cbTipAbonament.SelectedIndex < 0)
            {
                isValid = false;
                epTipAbonament.SetError(cbTipAbonament, "Selecteaza un tip de abonament!");
            }

            if (dtpDataNasterii.Value > DateTime.Now)
            {
                isValid = false;
            }

            if (dtpScadenta.Value < DateTime.Now)
            {
                isValid = false;
            }

            if (!isValid)
            {
                MessageBox.Show(
                    "Form contains errors!",
                    "Error",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }
            else
            {
                try
                {
                    long idPlata  = PlataRepository.savePlata(double.Parse(tbPretTotal.Text), dtpScadenta.Value.ToShortDateString());
                    long idClient = ClientRepository.saveClient(
                        nume,
                        prenume,
                        dtpDataNasterii.Value.ToShortDateString(),
                        ((TipAbonament)cbTipAbonament.SelectedItem).Id,
                        ((ExtraOptiune)cbExtraOptiune.SelectedItem).Id,
                        idPlata
                        );

                    Client client = new Client(
                        idClient,
                        nume,
                        prenume,
                        dtpDataNasterii.Value,
                        ((TipAbonament)cbTipAbonament.SelectedItem).Id,
                        ((ExtraOptiune)cbExtraOptiune.SelectedItem).Id,
                        idPlata
                        );

                    clienti.Add(client);

                    AfisareClienti();

                    ClearForm();
                }
                catch (InvalidBirthDateException ex)
                {
                    MessageBox.Show("Invalid date: " + ex.birthDate);
                }
                catch (InvalidDueDateException ex)
                {
                    MessageBox.Show("Invalid date: " + ex.dueDate);
                }
                catch
                {
                    MessageBox.Show("Error encounterer!");
                }
            }
        }