public void PobierzDaneCzytelnika(Czytelnik czytelnik, KartaCzytelnika karta, IEnumerable<Wypozyczenie> wypozyczenia, int flag = 0)
        {
            this.usunButton.Visible = true;
            this.statusKartyButton.Visible = true;
            this.czytelnikTabControl.TabPages.Add(wypozyczeniaTabPage);
            this.Text = "Edycja czytelnika";

            if (flag == 1)
                this.czytelnikTabControl.SelectedTab = wypozyczeniaTabPage;

            if (karta.Status.Equals("aktywna"))
                this.statusKartyButton.Text = "Dezaktywuj";

            this.czytelnik = czytelnik;
            this.karta = karta;
            this.wypozyczenia = wypozyczenia;

            foreach (var obj in wypozyczenia)
            {
                DataGridViewRow row = this.wypozyczeniaGridView.RowTemplate.Clone() as DataGridViewRow;
                row.CreateCells(this.wypozyczeniaGridView);

                row.Cells[0].Value = obj.Tytul();
                row.Cells[1].Value = obj.Sygnatura();
                row.Cells[2].Value = obj.DataWypozyczenia.ToShortDateString();
                row.Cells[3].Value = obj.TerminZwrotu.ToShortDateString();
                row.Cells[4].Value = obj.Id(); //Kolumna ukryta. Wartość potrzebna to operacji dodawania/edycji/usuwania
                row.Cells[5].Value = obj.GetType().Name; //Kolumna ukryta. Wartość potrzebna to operacji dodawania/edycji/usuwania

                this.wypozyczeniaGridView.Rows.Add(row);
            }

            //Dane czytelnika
            this.imieTextBox.Text = czytelnik.Imie;
            this.nazwiskoTextBox.Text = czytelnik.Nazwisko;
            this.peselTextBox.Text = czytelnik.Pesel;
            this.dataTimePicker.Value = czytelnik.DataUrodzenia;

            if (czytelnik.Plec.ToString().Equals("K"))
                this.kobietaRadioButton.Checked = true;

            //Adres czytelnika
            this.adresTextBox.Text = czytelnik.Adres.Ulica;
            this.kodPocztowyTextBox.Text = czytelnik.Adres.KodPocztowy;
            this.miejscowoscTextBox.Text = czytelnik.Adres.Miejscowosc;
            this.telefonTextBox.Text = czytelnik.Adres.Telefon;

            //Karta czytelnika
            this.statusLabel.Text = karta.Status;
            this.dataLabel.Text = karta.DataWystawienia.ToShortDateString();
            this.terminLabel.Text = karta.TerminWaznosci.ToShortDateString();
        }
        public PanelCzytelnika(Czytelnik czytelnik)
        {
            InitializeComponent();

            ksiazkaRepository = new KsiazkaRepository();
            czasopismoRepository = new CzasopismoRepository();
            kartaCzytelnikaRepository = new KartaCzytelnikaRepository();
            wcRepository = new WCRepository();
            wkRepository = new WKRepository();
            ecRepository = new ECRepository();
            ekRepository = new EKRepository();

            PobierzDane();

            KartaCzytelnika karta = kartaCzytelnikaRepository.PoCzytelniku(czytelnik);
            this.Karta = karta;

            //Pobieramy dane do kontrolek
            LoadKsiazkiGridView();
            LoadCzasopismaGridView();
            LoadWypozyczeniaGridView();

            LoadKategoriaComboBox();
            LoadTematykaComboBox();
            LoadCzestotliwoscComboBox();
            LoadOdbiorcaComboBox();

            this.toolStripStatusLabel2.Text = String.Format("Zalogowano jako {0}", czytelnik.Imie);

            //Dane czytelnika
            this.imieLabel.Text = czytelnik.Imie;
            this.nazwiskoLabel.Text = czytelnik.Nazwisko;
            this.peselLabel.Text = czytelnik.Pesel;
            if (czytelnik.Plec.ToString().Equals("M"))
                this.plecLabel.Text = "Mężczyzna";
            else
                this.plecLabel.Text = "Kobieta";
            this.dataUrodzeniaLabel.Text = Convert.ToString(czytelnik.DataUrodzenia.ToShortDateString());

            //Dane dot. adresu czytelnika
            Adres adresCzytelnika = czytelnik.Adres;
            this.ulicaLabel.Text = adresCzytelnika.Ulica;
            this.kodPocztowyLabel.Text = adresCzytelnika.KodPocztowy;
            this.miejscowoscLabel.Text = adresCzytelnika.Miejscowosc;
            this.telefonLabel.Text = adresCzytelnika.Telefon;
            this.statusLabel.Text = karta.Status;
            this.dataWystawieniaLabel.Text = Convert.ToString(karta.DataWystawienia.ToShortDateString());
            this.terminWaznosciLabel.Text = Convert.ToString(karta.DataWystawienia.ToShortDateString());

            this.label6.Visible = false;
        }
        //Zapisujemy edytowanego czytelnika lub dodajemy nowego
        //Trzeba by to rodzielić dla większej przejrzystości ale skoro działa? to niech tak zostanie
        private void ZapiszButtonClick(object sender, EventArgs e)
        {
            CzytelnikRepository czytelnikRepository = new CzytelnikRepository();
            AdresRepository adresRepository = new AdresRepository();
            KartaCzytelnikaRepository kartaCzytelnikaRepository = new KartaCzytelnikaRepository();

            Czytelnik edited;
            Adres adres;
            KartaCzytelnika kartaCzyt;

            if (czytelnik == null)
            {
                edited = new Czytelnik();
                adres = new Adres();
                kartaCzyt = new KartaCzytelnika();

                //Domyślne dane nowo dodawanej karty czytelnika
                kartaCzyt.Status = "aktywna";
                kartaCzyt.DataWystawienia = DateTime.Now;
                kartaCzyt.TerminWaznosci = DateTime.Now.AddYears(5);
            }
            else
            {
                edited = czytelnik;
                adres = czytelnik.Adres;
                kartaCzyt = karta;
            }

            //Przypisujemy wartości z textboxów do obiektów
            edited.Imie = this.imieTextBox.Text;
            edited.Nazwisko = this.nazwiskoTextBox.Text;
            edited.Pesel = this.peselTextBox.Text;
            edited.DataUrodzenia = this.dataTimePicker.Value;
            if (kobietaRadioButton.Checked)
                edited.Plec = 'K';
            else
                edited.Plec = 'M';
            adres.Ulica = this.adresTextBox.Text;
            adres.Miejscowosc = this.miejscowoscTextBox.Text;
            adres.KodPocztowy = this.kodPocztowyTextBox.Text;
            adres.Telefon = this.telefonTextBox.Text;

            //Ustalamy domyślny kolor textbox'ów
            this.imieTextBox.BackColor = SystemColors.Window;
            this.nazwiskoTextBox.BackColor = SystemColors.Window;
            this.peselTextBox.BackColor = SystemColors.Window;
            this.adresTextBox.BackColor = SystemColors.Window;
            this.kodPocztowyTextBox.BackColor = SystemColors.Window;
            this.miejscowoscTextBox.BackColor = SystemColors.Window;
            this.telefonTextBox.BackColor = SystemColors.Window;

            this.errorProvider.Clear();

            //Zapisujemy nowego czytelnika
            if (czytelnik == null)
            {
                if (this.CzyDanePoprawne() && MessageBox.Show("Zapisać czytelnika?", "Ostrzeżenie", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    edited.Haslo = RandomString(8);

                    adresRepository.Dodaj(adres); //Dodajemy najpierw adres do bazy

                    adres.Id = BazaSQLite.LastId(); //Pobieramy jego id
                    edited.Adres = adres;
                    czytelnikRepository.Dodaj(edited); //Znając id adresu dodajemy czytelnika

                    edited.Id = BazaSQLite.LastId(); //id czytelnika dodanego do bazy
                    kartaCzyt.Czytelnik = edited;
                    kartaCzytelnikaRepository.Dodaj(kartaCzyt); //Ostatecznie zapisujemy kartę czytelnika

                    MessageBox.Show("Tymczasowe hasło: " + edited.Haslo);

                    this.DialogResult = DialogResult.OK;
                }
            }
            else //Edytujemy obecnego czytelnika
            {
                if (this.CzyDanePoprawne() && MessageBox.Show("Zaktualizować dane czytelnika?", "Ostrzeżenie", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    adresRepository.Edytuj(adres);
                    czytelnikRepository.Edytuj(edited);
                    this.DialogResult = DialogResult.OK;
                }
            }
        }
Example #4
0
        //loguje do programu
        private void LogujButtonClick(object sender, EventArgs e)
        {
            //tu będą metody sprawdzające loginy i hasła z bazy
            //włącznie odpowiedniego trybu (admin/czytelnik) po sprawdzeniu loginu

            CzytelnikRepository czytelnikRepository = new CzytelnikRepository();
            PracownikRepository pracownikRepository = new PracownikRepository();

            pracownikRepository.PobierzDane();
            czytelnikRepository.PobierzDane();

            this.czytelnikLogowany = czytelnikRepository.Lista.Find(k => k.Pesel.Equals(loginTextBox.Text));
            Pracownik pracownik = pracownikRepository.Lista.Find(k => k.Login.Equals(loginTextBox.Text));

            if (this.czytelnikLogowany != null && this.czytelnikLogowany.Haslo.Equals(hasloTextBox.Text))
            {
                czyZalogowano = Permission.User;
                this.Close();
            }
            else if (pracownik != null && pracownik.Haslo.Equals(hasloTextBox.Text))
            {
                czyZalogowano = Permission.Admin;
                this.Close();
            }
            else
                MessageBox.Show("Błędny login i hasło", "Ostrzeżenie", MessageBoxButtons.OK);
        }
        public ZmianaHasla(Czytelnik czytelnik)
        {
            this.czytelnik = czytelnik;

            InitializeComponent();
        }