コード例 #1
0
ファイル: frmPrimka.cs プロジェクト: mderjanov/MetalikaPI
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa primkama).
        /// Briše selektiranu primku
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnObrisi_Click(object sender, EventArgs e)
        {
            string poruka = "";

            try
            {
                if (primkaBindingSource.Current is primka oznaceni)
                {
                    if (MessageBox.Show("Are you sure you want to delete the selected delivery note? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        using (var db = new Entities(Konstante.GetConnectionString()))
                        {
                            db.primka.Attach(oznaceni);
                            db.primka.Remove(oznaceni);
                            db.SaveChanges();
                        }
                    }
                    OsvjeziPrimke();
                    OsvjeziStavke();
                }
            }

            catch (Exception)
            {
                poruka = "Deletion of delivery note was not successful! Please check if all delivery lines are deleted";
            }

            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Metoda koja se poziva kada se pritisne gumb Spremi
        /// (pohranjuju se promjene/kreira nova jedinica mjere)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati)
            string poruka = "";

            // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation
            try
            {
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    if (jedinicaMjere == null)
                    {
                        jedinica_mjere novaJedinica = new jedinica_mjere()
                        {
                            ID_jed_mjere = tbIdJedMjere.Text,
                            znacenje     = tbZnacenje.Text
                        };
                        db.jedinica_mjere.Add(novaJedinica);
                        if (!string.IsNullOrWhiteSpace(tbIdJedMjere.Text) && !string.IsNullOrWhiteSpace(tbZnacenje.Text))
                        {
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "ID unit of measure and meaning are mandatory fields!";
                        }
                    }
                    else
                    {
                        db.jedinica_mjere.Attach(jedinicaMjere);
                        jedinicaMjere.ID_jed_mjere = tbIdJedMjere.Text;
                        jedinicaMjere.znacenje     = tbZnacenje.Text;

                        if (!string.IsNullOrWhiteSpace(tbIdJedMjere.Text) && !string.IsNullOrWhiteSpace(tbZnacenje.Text))
                        {
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "ID unit of measure and meaning are mandatory fields!";
                        }
                    }
                }
            }
            catch (Exception)
            {
                poruka = "Error occurred while saving unit of measure (does this user already exist?)";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    Close();
                }
            }
        }
コード例 #3
0
ファイル: frmMain.cs プロジェクト: mderjanov/MetalikaPI
 /// <summary>
 /// Metoda koja se poziva prilikom učitavanja forme. Otvara formu
 /// u maksimiziranom načinu rada, prikazuje izbornik/meni s obzirom
 /// na tip korisnika, te prikazuje FrmPocetna formu
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FrmMain_Load(object sender, EventArgs e)
 {
     WindowState = FormWindowState.Maximized;
     using (var db = new Entities(Konstante.GetConnectionString()))
     {
         korisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(korIme)).Single();
     }
     PrikaziIzbornik(korisnik.ID_tip_korisnika);
     PrikaziFormu(new FrmPocetna(korisnik));
 }
コード例 #4
0
        public BindingList <izdatnica> PrikaziIzdatnice()
        {
            BindingList <izdatnica> listaIzdatnica = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaIzdatnica = new BindingList <izdatnica>(db.izdatnica.ToList());
            }
            return(listaIzdatnica);
        }
コード例 #5
0
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste korisnika
        /// iz baze podataka
        /// </summary>
        /// <returns>lista korisnika</returns>
        public BindingList <korisnik> DohvatiListuKorisnika()
        {
            BindingList <korisnik> listaKorisnika = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaKorisnika = new BindingList <korisnik>(db.korisnik.ToList());
            }
            return(listaKorisnika);
        }
コード例 #6
0
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste materijala
        /// iz baze podataka
        /// </summary>
        /// <returns>lista materijala</returns>
        public BindingList <materijal> DohvatiListuMaterijala()
        {
            BindingList <materijal> listaMaterijala = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaMaterijala = new BindingList <materijal>(db.materijal.ToList());
            }
            return(listaMaterijala);
        }
コード例 #7
0
        public BindingList <primka> PrikaziPrimke()
        {
            BindingList <primka> listaPrimki = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaPrimki = new BindingList <primka>(db.primka.ToList());
            }
            return(listaPrimki);
        }
コード例 #8
0
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste tipova
        /// korisnika iz baze podataka
        /// </summary>
        /// <returns>lista tipova korisnika</returns>
        public BindingList <tip_korisnika> DohvatiListuTipovaKorisnika()
        {
            BindingList <tip_korisnika> listaTipova = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaTipova = new BindingList <tip_korisnika>(db.tip_korisnika.ToList());
            }
            return(listaTipova);
        }
コード例 #9
0
ファイル: ProjektLogika.cs プロジェクト: mderjanov/MetalikaPI
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste projekata
        /// iz baze podataka
        /// </summary>
        /// <returns>lista projekata</returns>
        public BindingList <projekt> DohvatiListuProjekata()
        {
            BindingList <projekt> listaProjekata = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaProjekata = new BindingList <projekt>(db.projekt.ToList());
            }
            return(listaProjekata);
        }
コード例 #10
0
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste jedinica mjere
        /// iz baze podataka
        /// </summary>
        /// <returns>lista jedinica mjere</returns>
        public BindingList <jedinica_mjere> PrikaziJediniceMjere()
        {
            BindingList <jedinica_mjere> listaNaloga = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaNaloga = new BindingList <jedinica_mjere>(db.jedinica_mjere.ToList());
            }
            return(listaNaloga);
        }
コード例 #11
0
        /// <summary>
        /// Metoda koja služi za dohvaćanje liste proizvoda
        /// iz baze podataka
        /// </summary>
        /// <returns>lista proizvoda</returns>
        public BindingList <proizvod> PrikaziProizvode()
        {
            BindingList <proizvod> listaProizvoda = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaProizvoda = new BindingList <proizvod>(db.proizvod.ToList());
            }
            return(listaProizvoda);
        }
コード例 #12
0
        public BindingList <poslovni_partner> PrikaziDobavljace()
        {
            BindingList <poslovni_partner> listaDobavljaca = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaDobavljaca = new BindingList <poslovni_partner>(db.poslovni_partner.ToList());
            }
            return(listaDobavljaca);
        }
コード例 #13
0
        public BindingList <radni_nalog> PrikaziNaloge()
        {
            BindingList <radni_nalog> listaNaloga = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                listaNaloga = new BindingList <radni_nalog>(db.radni_nalog.ToList());
            }
            return(listaNaloga);
        }
コード例 #14
0
        public BindingList <stavke_naloga> PrikaziStavkeNaloga(radni_nalog nalog)
        {
            BindingList <stavke_naloga> stavkeNaloga = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                db.radni_nalog.Attach(nalog);
                stavkeNaloga = new BindingList <stavke_naloga>(nalog.stavke_naloga.ToList());
            }
            return(stavkeNaloga);
        }
コード例 #15
0
        public BindingList <stavke_izdatnice> PrikaziStavkeIzdatnice(izdatnica izdatnica)
        {
            BindingList <stavke_izdatnice> stavkeIzdatnice = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                db.izdatnica.Attach(izdatnica);
                stavkeIzdatnice = new BindingList <stavke_izdatnice>(izdatnica.stavke_izdatnice.ToList());
            }
            return(stavkeIzdatnice);
        }
コード例 #16
0
        public BindingList <stavke_primke> PrikaziStavkePrimke(primka primka)
        {
            BindingList <stavke_primke> stavkePrimke = null;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                db.primka.Attach(primka);
                stavkePrimke = new BindingList <stavke_primke>(primka.stavke_primke.ToList());
            }
            return(stavkePrimke);
        }
コード例 #17
0
        /// <summary>
        /// Metoda koja se poziva kada se pritisne gumb Spremi
        /// (pohranjuju se promjene/kreira nova izdatnica)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati)
            string poruka = "";

            // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation
            try
            {
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    if (izdatnica == null)
                    {
                        izdatnica novaIzdatnica = new izdatnica()
                        {
                            napomena        = tbNapomena.Text,
                            datum_izdatnice = dtpDatumIzdatnice.Value,
                            ID_zaposlenik   = idZaposlenik,
                            ID_nalog        = int.Parse(cbNalog.SelectedValue.ToString()),
                        };
                        db.izdatnica.Add(novaIzdatnica);
                        db.SaveChanges();
                    }
                    else
                    {
                        db.izdatnica.Attach(izdatnica);
                        izdatnica.napomena        = tbNapomena.Text;
                        izdatnica.datum_izdatnice = dtpDatumIzdatnice.Value;
                        izdatnica.ID_zaposlenik   = idZaposlenik;
                        izdatnica.ID_nalog        = int.Parse(cbNalog.SelectedValue.ToString());
                        izdatnica.ID_izdatnica    = int.Parse(tbIdIzdatnica.Text);

                        db.SaveChanges();
                    }
                }
            }
            catch (Exception)
            {
                poruka = "Error occurred while saving issue note (does this user already exist?)";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    Close();
                }
            }
        }
コード例 #18
0
        /// <summary>
        /// Metoda koja se poziva kada se pritisne gumb Spremi
        /// (pohranjuju se promjene/kreira novi radni nalog)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                if (radniNalog == null)
                {
                    radni_nalog noviNalog = new radni_nalog()
                    {
                        opis_postupka   = tbOpisPostupka.Text,
                        datum_pocetka   = dtpDatumPocetka.Value,
                        datum_zavrsetka = dtpDatumZavrsetka.Value,
                        ID_zaposlenik   = idZaposlenik,
                        ID_projekt      = int.Parse(cbProjekt.SelectedValue.ToString()),
                    };
                    if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date)
                    {
                        db.radni_nalog.Add(noviNalog);
                        db.SaveChanges();
                    }
                    else
                    {
                        MessageBox.Show("End date can't be before start date!", "Warning", MessageBoxButtons.OK);
                    }
                }
                else
                {
                    db.radni_nalog.Attach(radniNalog);
                    radniNalog.opis_postupka   = tbOpisPostupka.Text;
                    radniNalog.datum_pocetka   = dtpDatumPocetka.Value;
                    radniNalog.datum_zavrsetka = dtpDatumZavrsetka.Value;
                    radniNalog.ID_zaposlenik   = idZaposlenik;
                    radniNalog.ID_projekt      = int.Parse(cbProjekt.SelectedValue.ToString());
                    radniNalog.ID_nalog        = int.Parse(tbIdNalog.Text);

                    if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date)
                    {
                        db.SaveChanges();
                    }
                    else
                    {
                        MessageBox.Show("End date can't be before start date!", "Warning", MessageBoxButtons.OK);
                    }
                }
            }
            if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date)
            {
                this.Close();
            }
        }
コード例 #19
0
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene".
        /// Ako se zaporke podudaraju i ako polja nisu prazna, zaporka se ažurira
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            string poruka = "";

            try
            {
                if (pZaporke.BackColor == Color.Green && !string.IsNullOrWhiteSpace(tbNovaZaporka.Text))
                {
                    using (var db = new Entities(Konstante.GetConnectionString()))
                    {
                        var trenutniKorisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(korisnickoIme)).Single();
                        db.korisnik.Attach(trenutniKorisnik);

                        // ako polje za unos zaporke nije prazno, prije pohrane korisnika, enkriptiraj zaporku
                        if (!string.IsNullOrWhiteSpace(tbNovaZaporka.Text))
                        {
                            trenutniKorisnik.zaporka = Enkripcija.Enkriptiranje(tbNovaZaporka.Text, Konstante.EnkripcijskiKljuc);
                        }
                        else
                        {
                            trenutniKorisnik.zaporka = tbNovaZaporka.Text;
                        }

                        db.SaveChanges();
                    }
                }
                else
                {
                    poruka = "passwords don't match!";
                }
            }
            catch (Exception)
            {
                poruka = "Error occurred during password update. Please check your internet connection!";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    MessageBox.Show("Password updated!", "Notification", MessageBoxButtons.OK);
                    Close();
                }
            }
        }
コード例 #20
0
 /// <summary>
 /// Metoda koja se poziva pritiskom na gumb Obriši te služi
 /// za brisanje pojedinog materijala
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnObrisi_Click(object sender, EventArgs e)
 {
     if (materijalBindingSource.Current is materijal oznaceni)
     {
         if (MessageBox.Show("Are you sure you want to delete the selected material? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             using (var db = new Entities(Konstante.GetConnectionString()))
             {
                 db.materijal.Attach(oznaceni);
                 db.materijal.Remove(oznaceni);
                 db.SaveChanges();
             }
         }
         OsvjeziMaterijale();
     }
 }
コード例 #21
0
ファイル: frmJedMjere.cs プロジェクト: mderjanov/MetalikaPI
 /// <summary>
 /// Metoda koja se poziva pritiskom na gumb Obriši te služi
 /// za brisanje pojedine jedinice mjere
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnObrisi_Click(object sender, EventArgs e)
 {
     if (jedinicamjereBindingSource.Current is jedinica_mjere oznaceni)
     {
         if (MessageBox.Show("Are you sure you want to delete the selected unit of measure? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             using (var db = new Entities(Konstante.GetConnectionString()))
             {
                 db.jedinica_mjere.Attach(oznaceni);
                 db.jedinica_mjere.Remove(oznaceni);
                 db.SaveChanges();
             }
         }
         OsvjeziJedMjere();
     }
 }
コード例 #22
0
 /// <summary>
 /// Metoda koja se poziva pritiskom na gumb Obriši te služi
 /// za brisanje pojedinog tipa korisnika
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnObrisi_Click(object sender, EventArgs e)
 {
     if (tipkorisnikaBindingSource.Current is tip_korisnika oznaceni)
     {
         if (MessageBox.Show("Are you sure you want to delete the selected user type? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             using (var db = new Entities(Konstante.GetConnectionString()))
             {
                 db.tip_korisnika.Attach(oznaceni);
                 db.tip_korisnika.Remove(oznaceni);
                 db.SaveChanges();
             }
         }
         OsvjeziTipove();
     }
 }
コード例 #23
0
ファイル: frmPrimka.cs プロジェクト: mderjanov/MetalikaPI
 /// <summary>
 /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa stavkama).
 /// Briše selektiranu stavku primke
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BtnObrisiStavku_Click(object sender, EventArgs e)
 {
     if (stavkeprimkeBindingSource.Current is stavke_primke selektiranaStavka)
     {
         if (MessageBox.Show("Are you sure you want to delete selected delivery line ?", "Warning!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
         {
             using (var db = new Entities(Konstante.GetConnectionString()))
             {
                 db.stavke_primke.Attach(selektiranaStavka);
                 db.stavke_primke.Remove(selektiranaStavka);
                 db.SaveChanges();
             }
         }
         OsvjeziPrimke();
         OsvjeziStavke();
     }
 }
コード例 #24
0
ファイル: frmMain.cs プロジェクト: mderjanov/MetalikaPI
        /// <summary>
        /// Metoda koja definira koje opcije će biti dostupne pojedinom tipu korisnika
        /// </summary>
        /// <param name="idTipKorisnika">tip korisnika</param>
        private void PrikaziIzbornik(int idTipKorisnika)
        {
            string tipKorisnika;

            using (var db = new Entities(Konstante.GetConnectionString()))
            {
                var tip = db.tip_korisnika.Where(x => x.ID_tip_korisnika == idTipKorisnika).Single();
                tipKorisnika = tip.naziv;
            }

            switch (tipKorisnika)
            {
            case "Admin":
                miNaslovnica.Visible      = true;
                miKorisnici.Visible       = true;
                miTipoviKorisnika.Visible = true;
                miKatalog.Visible         = true;
                miJediniceMjere.Visible   = true;
                break;

            case "Warehouse worker":
                miNaslovnica.Visible = true;
                miSkladiste.Visible  = true;
                miDokumenti.Visible  = true;
                miPrimke.Visible     = true;
                miIzdatnice.Visible  = true;
                miMaterijal.Visible  = true;
                miKatalog.Visible    = true;
                break;

            case "Planner":
                miNaslovnica.Visible = true;
                miProjekti.Visible   = true;
                miKatalog.Visible    = true;
                break;

            case "Production management":
                miNaslovnica.Visible  = true;
                miProjekti.Visible    = true;
                miSkladiste.Visible   = true;
                miKatalog.Visible     = true;
                miDokumenti.Visible   = true;
                miRadniNalozi.Visible = true;
                break;
            }
        }
コード例 #25
0
ファイル: frmRadniNalog.cs プロジェクト: mderjanov/MetalikaPI
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa stavkama).
        /// Briše selektiranu stavku naloga
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnObrišiStavku_Click(object sender, EventArgs e)
        {
            radni_nalog selektiraniNalog = radninalogBindingSource.Current as radni_nalog;

            if (stavkenalogaBindingSource.Current is stavke_naloga selektiranaStavka)
            {
                if (MessageBox.Show("Are you sure you want to delete selected work order line ?", "Warning!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    using (var db = new Entities(Konstante.GetConnectionString()))
                    {
                        db.stavke_naloga.Attach(selektiranaStavka);
                        db.stavke_naloga.Remove(selektiranaStavka);
                        db.SaveChanges();
                    }
                }
                OsvjeziNaloge();
                OsvjeziStavke();
            }
        }
コード例 #26
0
ファイル: frmRadniNalog.cs プロジェクト: mderjanov/MetalikaPI
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa nalozima).
        /// Briše selektirani radni nalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnObrisiNalog_Click(object sender, EventArgs e)
        {
            string poruka = "";

            try
            {
                if (radninalogBindingSource.Current is radni_nalog oznaceni)
                {
                    if (MessageBox.Show("Are you sure you want to delete the selected work order? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        using (var db = new Entities(Konstante.GetConnectionString()))
                        {
                            db.radni_nalog.Attach(oznaceni);
                            db.radni_nalog.Remove(oznaceni);
                            db.SaveChanges();
                        }
                    }
                    OsvjeziNaloge();
                    OsvjeziStavke();
                }
            }

            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    poruka = "Deletion of work order was not successful! Please check if all work order lines are deleted";
                }
                else
                {
                    poruka = "Deleting work order failed! Make sure the work order is already used to create the issue note";
                }
            }

            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
            }
        }
コード例 #27
0
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene"
        /// (dodaje novu stavku/ažurira vrijednosti postojeće stavke primke)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati)
            string poruka = "";

            // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation
            try
            {
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    if (stavkePrimke == null)
                    {
                        stavke_primke novaStavka = new stavke_primke()
                        {
                            ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()),
                            ID_primka    = idPrimka,
                            kolicina     = int.Parse(tbKolicina.Text),
                            cijena       = int.Parse(tbCijena.Text)
                        };
                        if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0)
                        {
                            db.stavke_primke.Add(novaStavka);
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Quantity and price are mandatory fields and must be greater than 1!";
                        }
                    }
                    else
                    {
                        db.stavke_primke.Attach(stavkePrimke);
                        stavkePrimke.ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString());
                        stavkePrimke.ID_primka    = int.Parse(stavkePrimke.ID_primka.ToString());
                        stavkePrimke.kolicina     = int.Parse(tbKolicina.Text);
                        stavkePrimke.cijena       = int.Parse(tbCijena.Text);

                        if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0)
                        {
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Quantity and price are mandatory fields and must be greater than 1!";
                        }
                    }
                }
            }
            catch (Exception)
            {
                poruka = "Error occurred while saving delivery line(does this user already exist?)";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    Close();
                }
            }
        }
コード例 #28
0
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb "Ulogiraj se". Izvode
        /// se provjere korisničkog imena i zaporke te se pokreće glavna forma
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnUlogirajSe_Click(object sender, EventArgs e)
        {
            // u slučaju da nije uneseno korisničko ime ili zaporka,
            // pojavljuje se label koji sugerira da su ta polja obavezna

            if (string.IsNullOrWhiteSpace(tbKorIme.Text))
            {
                lblUnesiKorIme.Visible = true;
            }
            if (string.IsNullOrWhiteSpace(tbZaporka.Text))
            {
                lblUnesiZaporku.Visible = true;
            }

            if (!string.IsNullOrWhiteSpace(tbKorIme.Text) && !string.IsNullOrWhiteSpace(tbZaporka.Text))
            {
                bool uspjesanLogin = false;
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    bool korisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Any();

                    if (!korisnik)
                    {
                        MessageBox.Show("Invalid user name/password!", "Remark", MessageBoxButtons.OK);
                    }
                    else
                    {
                        // dohvaćamo lozinku iz baze za korisničko ime koje smo proslijedili te ako je lozinka "blank"
                        // pokrećemo formu za postavljanje lozinke. Inače, provjeravamo da li je unos lozinke dobar i pokrećemo glavnu formu

                        var lozinka  = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Select(x => x.zaporka).FirstOrDefault();
                        var omogucen = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Select(x => x.omogucen).FirstOrDefault();
                        if (omogucen.Equals("N"))
                        {
                            MessageBox.Show("The user you are trying to log in with is currently disabled. Please contact your administrator", "Warning");
                        }
                        else if (string.IsNullOrWhiteSpace(lozinka))
                        {
                            if (MessageBox.Show("The password of the current user has expired and needs to be changed!", "Remark", MessageBoxButtons.OKCancel) == DialogResult.OK)
                            {
                                FrmPromjenaZaporke forma = new FrmPromjenaZaporke(tbKorIme.Text);
                                forma.ShowDialog();
                            }
                            else
                            {
                                return;
                            }
                        }
                        else
                        {
                            string enkriptiranaLozinka = Enkripcija.Enkriptiranje(tbZaporka.Text, Konstante.EnkripcijskiKljuc);
                            uspjesanLogin = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text) && x.zaporka.Equals(enkriptiranaLozinka)).Any();
                            if (!uspjesanLogin)
                            {
                                MessageBox.Show("Invalid user name/password!", "Remark", MessageBoxButtons.OK);
                            }
                            else
                            {
                                FrmMain glavnaForma = new FrmMain(this, tbKorIme.Text);
                                glavnaForma.Show();
                                Hide();
                            }
                        }
                    }
                }
            }
        }
コード例 #29
0
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene"
        /// (dodaje novi tip/sprema promjene na postojećem tipu korisnika)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati)
            string poruka = "";

            // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation
            try
            {
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    if (tipKorisnika == null)
                    {
                        tip_korisnika noviTip = new tip_korisnika()
                        {
                            naziv    = tbNazivTipa.Text,
                            opis     = tbOpis.Text,
                            omogucen = cbOmogucen.SelectedItem.ToString()
                        };

                        if (!string.IsNullOrWhiteSpace(tbNazivTipa.Text))
                        {
                            db.tip_korisnika.Add(noviTip);
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Type name is mandatory field!";
                        }
                    }
                    else
                    {
                        db.tip_korisnika.Attach(tipKorisnika);
                        tipKorisnika.naziv    = tbNazivTipa.Text;
                        tipKorisnika.opis     = tbOpis.Text;
                        tipKorisnika.omogucen = cbOmogucen.SelectedItem.ToString();

                        if (!string.IsNullOrWhiteSpace(tbNazivTipa.Text))
                        {
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Type name is mandatory field!";
                        }
                    }
                }
            }
            catch (Exception)
            {
                poruka = "Error occurred while saving user type (does this user already exist?)";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    Close();
                }
            }
        }
コード例 #30
0
        /// <summary>
        /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene"
        /// (dodaje novu stavku/ažurira vrijednosti postojeće stavke radnog naloga)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSpremiPromjene_Click(object sender, EventArgs e)
        {
            // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati)
            string poruka = "";

            // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation
            try
            {
                using (var db = new Entities(Konstante.GetConnectionString()))
                {
                    if (stavkeNaloga == null)
                    {
                        stavke_naloga novaStavka = new stavke_naloga()
                        {
                            ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()),
                            ID_nalog     = idNalog,
                            kolicina     = int.Parse(tbKolicina.Text)
                        };
                        if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0)
                        {
                            db.stavke_naloga.Add(novaStavka);
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Količina mora biti unešena!";
                        }
                    }
                    else
                    {
                        db.stavke_naloga.Attach(stavkeNaloga);
                        stavkeNaloga.ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString());
                        stavkeNaloga.ID_nalog     = int.Parse(stavkeNaloga.ID_nalog.ToString());
                        stavkeNaloga.kolicina     = int.Parse(tbKolicina.Text);

                        if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0)
                        {
                            db.SaveChanges();
                        }
                        else
                        {
                            poruka = "Količina mora biti unešena!";
                        }
                    }
                }
            }
            catch (Exception)
            {
                poruka = "Greška prilikom spremanja stavke radnog naloga u bazu (da li ovi podaci već postoje u bazi?)";
            }
            finally
            {
                if (!string.IsNullOrWhiteSpace(poruka))
                {
                    MessageBox.Show(poruka);
                }
                else
                {
                    Close();
                }
            }
        }