Ejemplo n.º 1
0
        private async void btnZapisz_Click(object sender, EventArgs e)
        {
            if (ValidujFormularz())
            {
                using (var db = new LicznikDataModel())
                {
                    Produkt nowyProdukt = new Produkt {
                        NazwaProduktu = txtNazwaProduktu.Text, NazwaElementu = txtNazwaElementu.Text
                    };
                    db.Produkt.Add(nowyProdukt);
                    try
                    {
                        await db.SaveChangesAsync();

                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    catch (System.Data.Entity.Infrastructure.DbUpdateException)
                    {
                        MessageBox.Show("Próbujesz dodać produkt, który już istnieje w bazie danych.", "Uwaga!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.DialogResult = DialogResult.Abort;
                        this.Close();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Ustawia stan obecny maszyny
        /// </summary>
        /// <param name="stan">Nowy stan maszyny</param>
        private async void UstawStan(TypZdarzenia nowyStan)
        {
            //Zapisz obecny stan

            switch (nowyStan.NazwaZdarzenia)
            {
            case "Przezbrojenie":
                DanePrzezbrojeniaForm nowePrzezbrojenieForm = new DanePrzezbrojeniaForm();
                DialogResult          wynik = nowePrzezbrojenieForm.ShowDialog();
                if (wynik == DialogResult.OK)
                {
                    this.ObecnieProdukowanyProdukt = nowePrzezbrojenieForm.ObecnyProdukt;
                    this.ObecnieProdukowanyKolor   = nowePrzezbrojenieForm.ObecnyKolor;
                    Przezbrojenie nowePrzezbrojenie = new Przezbrojenie
                    {
                        GodzinaUruchomienia = CzasUruchomienia,
                        CzasTrwania         = this.CzasTrwania,
                        TypZdarzenia        = ObecnyStan,
                        Brygada             = this.Brygada,
                        LiniaProdukcyjna    = this.LiniaProdukcyjna,
                        Produkt             = this.ObecnieProdukowanyProdukt,
                        Kolor = this.ObecnieProdukowanyKolor
                    };
                    db.Przezbrojenia.Add(nowePrzezbrojenie);
                    await db.SaveChangesAsync();

                    ObecnyStan = nowyStan;
                }
                break;

            case "Awaria":
                break;

            default:
                break;
            }

            if (ObecnyStan != null)
            {
                if (ObecnyStan.NazwaZdarzenia == "Nieokreślony" && nowyStan.NazwaZdarzenia != "Produkcja")
                {
                    // jeżeli ObecnyStan to "Nieokreślony" a nowyStan to nie "Produkcja" zmieniamy Obecny stan bez zapisywania w bazie.
                    ObecnyStan = nowyStan;
                    UpdateStateLabels(ObecnyStan.NazwaZdarzenia, CzasUruchomienia, CzasTrwania);
                    cmbStan.SelectedIndex = -1;
                    btnZmienStan.Enabled  = false;
                }
                else if (ObecnyStan.NazwaZdarzenia == "Awaria")
                {
                    // typ ObecnyStan do zapisania to awaria zapisujemy obiekt awarii

                    Awaria nowaAwaria = new Awaria
                    {
                        GodzinaUruchomienia = CzasUruchomienia,
                        CzasTrwania         = this.CzasTrwania,
                        TypZdarzenia        = ObecnyStan,
                        Brygada             = this.Brygada,
                        LiniaProdukcyjna    = this.LiniaProdukcyjna,
                        Produkt             = this.ObecnieProdukowanyProdukt,
                        Kolor = this.ObecnieProdukowanyKolor
                    };

                    // ustawiam nowy stan obecny
                    DateTime godz = DateTime.Now;
                    ObecnyStan       = nowyStan;
                    CzasUruchomienia = DateTime.Now;
                    UpdateStateLabels(ObecnyStan.NazwaZdarzenia, CzasUruchomienia, CzasTrwania);

                    // zerowanie stanu formularza
                    CzasTrwania           = 0;
                    cmbStan.SelectedIndex = -1;
                    btnZmienStan.Enabled  = false;

                    db.Awaria.Add(nowaAwaria);
                    await db.SaveChangesAsync();

                    PopulateDgvListaZdarzen();
                }
                else if (ObecnyStan.NazwaZdarzenia == "Przezbrojenie")
                {
                    // typ ObecnyStan to Przezbrojenie zapisujemy obiekt przezbrojenie


                    Przezbrojenie nowePrzezbrojenie = new Przezbrojenie
                    {
                        GodzinaUruchomienia = CzasUruchomienia,
                        CzasTrwania         = this.CzasTrwania,
                        TypZdarzenia        = ObecnyStan,
                        Brygada             = this.Brygada,
                        LiniaProdukcyjna    = this.LiniaProdukcyjna,
                        Produkt             = this.ObecnieProdukowanyProdukt,
                        Kolor = this.ObecnieProdukowanyKolor
                    };

                    // ustawiam nowy stan obecny
                    DateTime godz = DateTime.Now;
                    ObecnyStan       = nowyStan;
                    CzasUruchomienia = DateTime.Now;
                    UpdateStateLabels(ObecnyStan.NazwaZdarzenia, CzasUruchomienia, CzasTrwania);

                    // zerowanie stanu formularza
                    CzasTrwania           = 0;
                    cmbStan.SelectedIndex = -1;
                    btnZmienStan.Enabled  = false;

                    db.Przezbrojenia.Add(nowePrzezbrojenie);
                    await db.SaveChangesAsync();

                    PopulateDgvListaZdarzen();
                }
                else
                {
                    // zapisujemy stan obecny
                    Stan stanDoZapisania = new Stan {
                        GodzinaUruchomienia = CzasUruchomienia, CzasTrwania = this.CzasTrwania, TypZdarzenia = ObecnyStan, Brygada = this.Brygada, LiniaProdukcyjna = this.LiniaProdukcyjna
                    };

                    // ustawiam nowy stan obecny
                    ObecnyStan       = nowyStan;
                    CzasUruchomienia = DateTime.Now;
                    UpdateStateLabels(ObecnyStan.NazwaZdarzenia, CzasUruchomienia, CzasTrwania);

                    // zerowanie stanu formularza
                    CzasTrwania           = 0;
                    cmbStan.SelectedIndex = -1;
                    btnZmienStan.Enabled  = false;

                    db.Stan.Add(stanDoZapisania);
                    await db.SaveChangesAsync();

                    PopulateDgvListaZdarzen();
                }
            }
        }