示例#1
0
        public static KLIENCI GetClient(string loginOrIDNumb, bool IDNumb = false)
        {
            using (var entities = new DBEntities())
            {
                KLIENCI klient = null;
                if (!IDNumb)
                {
                    klient = entities.KLIENCI
                             .Where(k => k.Login == loginOrIDNumb)
                             .Include("KATEGORIEPJAZDY")
                             .Include("REZERWACJE")
                             .FirstOrDefault();
                }
                else
                {
                    klient = entities.KLIENCI
                             .Where(k => k.NrDowOsob.StartsWith(loginOrIDNumb))
                             .Include("KATEGORIEPJAZDY")
                             .Include("REZERWACJE")
                             .FirstOrDefault();
                }

                return(klient);
            }
        }
示例#2
0
        private void UpdateClientDataButton_Click(object sender, EventArgs e)
        {
            if (_currentEditKlient != null && _currentEditKlient.idKlient > 0)
            {
                var status = LoadClientFromEditScreen(_currentEditKlient);
                if (!status)
                {
                    MessageBox.Show("Sprawdź czy wymagane pola są wypełnione poprawnymi danymi!");
                    return;
                }
                var isEdt = ClientService.UpdateClient(_currentEditKlient);
                if (isEdt)
                {
                    MessageBox.Show("Zaktualizowano dane klienta.");
                }
                else
                {
                    MessageBox.Show("Błąd podczas aktualizacji danych klienta!");
                }

                _currentEditKlient = ClientService.GetClient(_currentEditKlient.idKlient);
            }
            else
            {
                MessageBox.Show("Najpierw wybierz klienta do edycji!");
            }
        }
示例#3
0
        private void NrDowOsTBoxWEDK_TextChanged(object sender, EventArgs e)
        {
            string nrDowOsob = ((TextBox)sender).TextOrDefault();

            _currentEditKlient = ClientService.GetClient(nrDowOsob, true) ?? new KLIENCI();
            ShowClientOnEditScreen(_currentEditKlient);
        }
示例#4
0
        public static bool RemoveClient(int idClient)
        {
            KLIENCI client = new KLIENCI()
            {
                idKlient = idClient
            };

            using (var entities = new DBEntities())
            {
                try
                {
                    entities.KLIENCI.Attach(client);
                    entities.KLIENCI.Remove(client);
                    entities.SaveChanges();
                }
                catch (Exception)
                {
                    if (!entities.KLIENCI.Any(k => k.idKlient == idClient))
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
示例#5
0
        private void NrDowOsTBox_TextChanged(object sender, EventArgs e)
        {
            string nrDowOsob = ((TextBox)sender).TextOrDefault();

            _currentEditKlient = null;
            _currentEditKlient = ClientService.GetClient(nrDowOsob, true) ?? new KLIENCI();
            ShowKlientDataOnReservationScreen(_currentEditKlient);
        }
示例#6
0
        private void ShowSelectedClientOnEditScreen(int id)
        {
            var client = ClientService.GetClient(id) ?? new KLIENCI();

            ShowClientOnEditScreen(client);
            _currentEditClient = client;
            EdytujDaneKlientaPanel.BringToFront();
        }
示例#7
0
        private void IDKlientaTBox_TextChanged(object sender, EventArgs e)
        {
            if (!int.TryParse(((TextBox)sender).Text, out int id))
            {
                id = -1;
            }
            _currentEditKlient = ClientService.GetClient(id) ?? new KLIENCI();

            ShowKlientDataOnReservationScreen(_currentEditKlient);
        }
示例#8
0
 private void ShowKlientDataOnReservationScreen(KLIENCI klient)
 {
     ImieDispLabel.Text       = klient.Imie;
     DrugieImieDispLabel.Text = klient.DrugieImie;
     NazwiskoDispLabel.Text   = klient.Nazwisko;
     DataUrDispLabel.Text     = klient.DataUr.ToString("d");
     TelefonDispLabel.Text    = klient.Telefon;
     PlecDispLabel.Text       = klient.Plec == 1 ? "Kobieta" : "Mężczyzna";
     AdresDispLabel.Text      = klient.Adres;
     EmailDispLabel.Text      = klient.Email;
 }
示例#9
0
        private bool LoadClientFromEditScreen(KLIENCI editClient)
        {
            var tmp = textBox10.TextOrDefault();

            if (tmp == null)
            {
                return(false);
            }
            editClient.Imie = tmp;

            editClient.DrugieImie = textBox11.TextOrDefault();

            tmp = textBox13.TextOrDefault();
            if (tmp == null)
            {
                return(false);
            }
            editClient.Nazwisko = tmp;

            tmp = textBox12.TextOrDefault();
            if (tmp == null)
            {
                return(false);
            }
            editClient.Adres = tmp;

            tmp = TelefonTBoxEDKlienta.TextOrDefault();
            if (tmp == null || tmp.Length < 9)
            {
                return(false);
            }
            editClient.Telefon = tmp;

            editClient.Email = textBox16.TextOrDefault();

            tmp = textBox18.TextOrDefault();
            if (tmp == null)
            {
                return(false);
            }
            editClient.Haslo = tmp;

            editClient.KATEGORIEPJAZDY = new List <KATEGORIEPJAZDY>();
            for (int i = 0; i < checkedListBox3.CheckedIndices.Count; i++)
            {
                var index = checkedListBox3.CheckedIndices[i] + 1;
                editClient.KATEGORIEPJAZDY.Add(new KATEGORIEPJAZDY()
                {
                    idKatPJ = index
                });
            }

            return(true);
        }
示例#10
0
        public static bool AddClient(KLIENCI newClient)
        {
            using (var entities = new DBEntities())
            {
                var licenses = new List <KATEGORIEPJAZDY>();
                foreach (var lic in newClient.KATEGORIEPJAZDY)
                {
                    var licence = entities.KATEGORIEPJAZDY.First(k => k.idKatPJ == lic.idKatPJ);
                    licenses.Add(licence);
                }

                newClient.KATEGORIEPJAZDY = licenses;
                entities.KLIENCI.Add(newClient);
                entities.SaveChanges();

                return(true);
            }
        }
示例#11
0
        private void ShowClientOnEditScreen(KLIENCI klient)
        {
            ImieTBoxEDKlienta.Text       = klient.Imie;
            DrugieImieTBoxEDKlienta.Text = klient.DrugieImie;
            NazwiskoTBoxEDKlienta.Text   = klient.Nazwisko;
            textBox18.Text                    = klient.DataUr.ToString("d");
            TelefonTBoxEDKlienta.Text         = klient.Telefon;
            PlecComboEDKlienta.SelectedIndex  = klient.Plec == 1 ? 1 : 0;
            AdresTBoxEDKlienta.Text           = klient.Adres;
            EmailTBoxEDKlienta.Text           = klient.Email;
            NrPJazdyTBoxEDKlienta.Text        = klient.NrPrawaJazd;
            NrDowOsTBoxEDKlienta.Text         = klient.NrDowOsob;
            DataRejestracjiTBoxEDKlienta.Text = klient.DataRejestr.ToString("d");
            LoginTBoxEDKlienta.Text           = klient.Login;

            KategoriePJazdyCBoxEDKlienta.ClearItemChecked();
            foreach (var licence in klient.KATEGORIEPJAZDY)
            {
                KategoriePJazdyCBoxEDKlienta.SetItemChecked(licence.idKatPJ - 1, true);
            }
        }
示例#12
0
        private void button8_Click(object sender, EventArgs e)
        {
            var status = LoadClientFromEditScreen(_currentClient);

            if (status == false)
            {
                MessageBox.Show("Sprawdź czy wymagane pola są wypełnione poprawnymi danymi!");
                return;
            }

            if (ClientService.UpdateClient(_currentClient))
            {
                MessageBox.Show("Zapisano zmiany.");
            }
            else
            {
                MessageBox.Show("Nie można zapisać zmian!");
            }

            //Update Klient object from DB
            _currentClient = ClientService.GetClient(_login);
        }
示例#13
0
        public static bool UpdateClient(KLIENCI updateKlient)
        {
            using (var entities = new DBEntities())
            {
                var klient = entities.KLIENCI
                             .Where(k => k.idKlient == updateKlient.idKlient)
                             .Include("KATEGORIEPJAZDY")
                             .Include("REZERWACJE")
                             .First();

                entities.Entry(klient).CurrentValues.SetValues(updateKlient);

                klient.KATEGORIEPJAZDY = new List <KATEGORIEPJAZDY>();
                foreach (var kat in updateKlient.KATEGORIEPJAZDY)
                {
                    var licence = entities.KATEGORIEPJAZDY.First(k => k.idKatPJ == kat.idKatPJ);
                    klient.KATEGORIEPJAZDY.Add(licence);
                }

                entities.SaveChanges();
                return(true);
            }
        }
示例#14
0
        private KLIENCI GetClientFromAddScreen()
        {
            KLIENCI newClient = new KLIENCI();
            var     tmp       = textBox13.TextOrDefault();

            if (tmp == null)
            {
                return(null);
            }
            newClient.Imie = tmp;

            newClient.DrugieImie = textBox12.TextOrDefault();

            tmp = textBox16.TextOrDefault();
            if (tmp == null)
            {
                return(null);
            }
            newClient.Nazwisko = tmp;

            tmp = textBox20.TextOrDefault();
            if (tmp == null)
            {
                return(null);
            }
            newClient.Adres = tmp;

            newClient.Plec = (sbyte)comboBox1.SelectedIndex;

            var parse = DateTime.TryParse(maskedTextBox4.Text, out DateTime data);

            if (!parse)
            {
                return(null);
            }
            newClient.DataUr = data;

            tmp = maskedTextBox1.TextOrDefault();
            if (tmp == null || tmp.Length < 9)
            {
                return(null);
            }
            newClient.Telefon = tmp;

            newClient.Email = textBox17.TextOrDefault();

            tmp = textBox15.TextOrDefault();
            if (tmp == null || tmp.Length >= 13)
            {
                return(null);
            }
            newClient.NrPrawaJazd = tmp;

            tmp = textBox14.TextOrDefault();
            if (tmp == null || tmp.Length >= 9)
            {
                return(null);
            }
            newClient.NrDowOsob = tmp;

            newClient.DataRejestr = DateTime.Now;

            for (int i = 0; i < checkedListBox3.CheckedIndices.Count; i++)
            {
                var index = checkedListBox3.CheckedIndices[i] + 1;
                newClient.KATEGORIEPJAZDY.Add(new KATEGORIEPJAZDY()
                {
                    idKatPJ = index
                });
            }

            newClient.Login = "******" + newClient.Imie + newClient.DataUr.ToString("dd");
            newClient.Haslo = newClient.Login;

            return(newClient);
        }
示例#15
0
        private bool LoadClientFromEditScreen(KLIENCI editClient)
        {
            var tmp = ImieTBoxEDKlienta.TextOrDefault();

            if (tmp == null)
            {
                return(false);
            }
            editClient.Imie = tmp;

            editClient.DrugieImie = DrugieImieTBoxEDKlienta.TextOrDefault();

            tmp = NazwiskoTBoxEDKlienta.TextOrDefault();
            if (tmp == null)
            {
                return(false);
            }
            editClient.Nazwisko = tmp;

            tmp = AdresTBoxEDKlienta.TextOrDefault();
            if (tmp == null)
            {
                return(false);
            }
            editClient.Adres = tmp;

            tmp = TelefonTBoxEDKlienta.TextOrDefault();
            if (tmp == null || tmp.Length < 9)
            {
                return(false);
            }
            editClient.Telefon = tmp;

            editClient.Email = EmailTBoxEDKlienta.TextOrDefault();

            tmp = NrPJazdyTBoxEDKlienta.TextOrDefault();
            if (tmp == null || tmp.Length > 13)
            {
                return(false);
            }
            editClient.NrPrawaJazd = tmp;

            tmp = NrDowOsTBoxEDKlienta.TextOrDefault();
            if (tmp == null || tmp.Length > 9)
            {
                return(false);
            }
            editClient.NrDowOsob = tmp;

            editClient.KATEGORIEPJAZDY = new List <KATEGORIEPJAZDY>();
            for (int i = 0; i < KategoriePJazdyCBoxEDKlienta.CheckedIndices.Count; i++)
            {
                var index = KategoriePJazdyCBoxEDKlienta.CheckedIndices[i] + 1;
                editClient.KATEGORIEPJAZDY.Add(new KATEGORIEPJAZDY()
                {
                    idKatPJ = index
                });
            }

            return(true);
        }
示例#16
0
 private void LoadClient(string login)
 {
     _currentClient = ClientService.GetClient(login);
 }