Ejemplo n.º 1
0
        /// <summary>
        /// Metoda koja se poziva prilikom pritiska na gumbić Obriši
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button1_Click(object sender, EventArgs e)
        {
            Artikl artiklZaBrisanje = null;

            try
            {
                artiklZaBrisanje = (Artikl)artiklBindingSource.Current;
            }
            catch (Exception)
            {
                MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            if (MessageBox.Show("Sigurno želite obrisati artikl " + artiklZaBrisanje.Naziv + " i sve stavke, kompatibilnosti i dostupnosti vezane uz artikl?", "Upozorenje", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                try
                {
                    var listaKompatibilnosti = Kompatibilnost.DohvatiKompatibilnosti("SELECT * FROM Kompatibilnost WHERE Komponenta1=" + artiklZaBrisanje.ID + " OR Komponenta2=" + artiklZaBrisanje.ID);
                    foreach (var kompatibilnost in listaKompatibilnosti)
                    {
                        Kompatibilnost.ObrisiKompatibilnost(kompatibilnost);
                    }
                    Artikl.ObrisiArtikl(artiklZaBrisanje);
                }
                catch (Exception)
                {
                    MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                MessageBox.Show("Artikl je uspješno obrisan!", "Artikl obrisan", MessageBoxButtons.OK);
                OsvjeziPrikaze();
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Statièka metoda klase Artikl èije je argument
 /// novi artikl koji
 /// se sprema u bazu podataka.
 /// </summary>
 /// <param name="noviArtikl"></param>
 public static void DodajArtikl(Artikl noviArtikl)
 {
     using (var db = new TechStoreEntities())
     {
         db.Artikl.Add(noviArtikl);
         db.SaveChanges();
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Metoda koja kao parametar prima listu artikala te novi proizvod.
        /// Dodaje kompatibilnost novog proizvoda s ostalim proizvodima ako
        /// novi proizvod nije vrste za koje već postoje metode.
        /// </summary>
        /// <param name="listaArtikala"></param>
        /// <param name="noviArtikl"></param>
        public void SveOstaloKompatibilnost(List <Artikl> listaArtikala, Artikl noviArtikl)
        {
            List <string> listaSpecifikacijaNovogArtikla = noviArtikl.Specifikacija.Split(',').ToList();

            foreach (var trenutniArtikl in listaArtikala)
            {
                ProvjeraPoSvimSpecifikacijama(trenutniArtikl, noviArtikl, listaSpecifikacijaNovogArtikla);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Metoda koja kao parametar prima listu artikala te novi artikl.
        /// Dodaje kompatibilnost za svaki proizvod ako je novi objekt
        /// matična ploča.
        /// </summary>
        /// <param name="listaArtikala"></param>
        /// <param name="noviArtikl"></param>
        public void MaticnaPlocaKompatibilnost(List <Artikl> listaArtikala, Artikl noviArtikl)
        {
            double        visinaNoviArtikl  = 0;
            double        sirinaNoviArtikl  = 0;
            double        duljinaNoviArtikl = 0;
            List <string> listaSpecifikacijaNovogArtikla = noviArtikl.Specifikacija.Split(',').ToList();

            visinaNoviArtikl  = DohvatiVisinu(listaSpecifikacijaNovogArtikla);
            sirinaNoviArtikl  = DohvatiSirinu(listaSpecifikacijaNovogArtikla);
            duljinaNoviArtikl = DohvatiDuljinu(listaSpecifikacijaNovogArtikla);
            if (visinaNoviArtikl == -1)
            {
                MessageBox.Show("Novi artikl nema unesenu visinu!");
                return;
            }
            if (sirinaNoviArtikl == -1)
            {
                MessageBox.Show("Novi artikl nema unesenu širinu!");
                return;
            }
            if (duljinaNoviArtikl == -1)
            {
                MessageBox.Show("Novi artikl nema unesenu duljinu!");
                return;
            }
            foreach (var trenutniArtikl in listaArtikala)

            {
                if (trenutniArtikl.Vrsta_ID == 1)
                {
                    DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                }
                else if (trenutniArtikl.Vrsta_ID == 11)
                {
                    double        visinaTrenutniArtikl  = 0;
                    double        sirinaTrenutniArtikl  = 0;
                    double        duljinaTrenutniArtikl = 0;
                    List <string> listaSpecifikacijaTrenutnogArtikla = trenutniArtikl.Specifikacija.Split(',').ToList();
                    visinaTrenutniArtikl  = DohvatiVisinu(listaSpecifikacijaTrenutnogArtikla);
                    sirinaTrenutniArtikl  = DohvatiSirinu(listaSpecifikacijaTrenutnogArtikla);
                    duljinaTrenutniArtikl = DohvatiDuljinu(listaSpecifikacijaTrenutnogArtikla);
                    if (sirinaNoviArtikl < sirinaTrenutniArtikl && visinaNoviArtikl < visinaTrenutniArtikl && duljinaNoviArtikl < duljinaTrenutniArtikl)
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                    }
                    else
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, false);
                    }
                }
                else
                {
                    ProvjeraPoSvimSpecifikacijama(trenutniArtikl, noviArtikl, listaSpecifikacijaNovogArtikla);
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Statièka metoda koja prima kao argument artikl koji
 /// se želi obrisati. Metoda briše proslijeðeni artikl
 /// iz baze podataka.
 /// </summary>
 /// <param name="artiklZaBrisanje"></param>
 public static void ObrisiArtikl(Artikl artiklZaBrisanje)
 {
     using (var db = new TechStoreEntities())
     {
         db.Artikl.Attach(artiklZaBrisanje);
         db.Kompatibilnost.RemoveRange(db.Kompatibilnost.Where(komp => komp.Komponenta1 == artiklZaBrisanje.ID));
         db.Artikl.Remove(artiklZaBrisanje);
         db.SaveChanges();
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Statièka metoda koja kao argument prima ID artikla.
        /// Metoda vraæa artikl s primljenim ID - om iz
        /// baze podataka.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static Artikl DohvatiArtikl(int id)
        {
            Artikl artikl = null;

            using (var db = new TechStoreEntities())
            {
                artikl = (from a in db.Artikl where a.ID == id select a).FirstOrDefault();
            }
            return(artikl);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Konstruktor forme uiNoviArtikl. Kao parametar
 /// prima artikl.
 /// </summary>
 /// <param name="proslijedeniArtikl"></param>
 public uiNoviArtikl(Artikl proslijedeniArtikl)
 {
     InitializeComponent();
     ArtiklZaIzmjenu           = proslijedeniArtikl;
     uiInputID.Text            = ArtiklZaIzmjenu.ID.ToString();
     uiInputNaziv.Text         = ArtiklZaIzmjenu.Naziv;
     uiInputKratkiOpis.Text    = ArtiklZaIzmjenu.Kratki_opis;
     uiInputSpecifikacije.Text = ArtiklZaIzmjenu.Specifikacija;
     uiInputCijena.Text        = ArtiklZaIzmjenu.Cijena.ToString();
     uiActionDodajArtikl.Text  = "Ažuriraj";
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Metoda koja služi za pozivanje metode DodajKompatibilnost u klasi Kompatibilnost.
        /// </summary>
        /// <param name="trenutniArtikl"></param>
        /// <param name="noviArtikl"></param>
        /// <param name="kompatibilni"></param>
        public void DodajKompatibilnostPomoc(Artikl trenutniArtikl, Artikl noviArtikl, bool kompatibilni)
        {
            Kompatibilnost kompatibilnost = new Kompatibilnost
            {
                Komponenta1  = noviArtikl.ID,
                Komponenta2  = trenutniArtikl.ID,
                Kompatibilni = kompatibilni
            };

            Kompatibilnost.DodajKompatibilnost(kompatibilnost);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Metoda koja služi za osvježavanje prikaza na datagridview - u.
 /// </summary>
 private void OsvjeziPrikaze()
 {
     try
     {
         artiklBindingSource.DataSource       = Artikl.DohvatiSveArtikle();
         vrstaArtiklaBindingSource.DataSource = VrstaArtikla.DohvatiVrsteArtikala();
     }
     catch (Exception)
     {
         MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Metoda koja se poziva prilikom pritiska na gumbić Ažuriraj
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void UiActionAzurirajArtikl_Click(object sender, EventArgs e)
 {
     try
     {
         Artikl       artiklZaAzuriranje = (Artikl)artiklBindingSource.Current;
         uiNoviArtikl formaNoviArtikl    = new uiNoviArtikl(artiklZaAzuriranje);
         formaNoviArtikl.ShowDialog();
     }
     catch (Exception)
     {
     }
     OsvjeziPrikaze();
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Metoda koja provjerava postoji li kompatibilnost između artikala.
        /// </summary>
        /// <param name="trenutniArtikl"></param>
        /// <param name="noviArtikl"></param>
        /// <param name="listaSpecifikacijaNovogArtikla"></param>
        public void ProvjeraPoSvimSpecifikacijama(Artikl trenutniArtikl, Artikl noviArtikl, List <string> listaSpecifikacijaNovogArtikla)
        {
            List <string> listaSpecifikacijaTrenutnogArtikla = trenutniArtikl.Specifikacija.Split(',').ToList();

            if (listaSpecifikacijaNovogArtikla.Intersect(listaSpecifikacijaTrenutnogArtikla).Any())
            {
                DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
            }
            else
            {
                DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, false);
            }
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Metoda koja se poziva prilikom učitavanja forme uiNabava
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FrmNabava_Load(object sender, EventArgs e)
 {
     this.KeyPreview = true;
     this.KeyDown   += FrmNabava_KeyDown;
     try
     {
         artiklBindingSource.DataSource = Artikl.DohvatiSveArtikle();
     }
     catch (Exception)
     {
         MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Konstruktor forme uiPregledNarudzbi
 /// </summary>
 public UiPregledNarudzbi()
 {
     InitializeComponent();
     try
     {
         artiklBindingSource.DataSource         = Artikl.DohvatiSveArtikle();
         vrstaDokumentaBindingSource.DataSource = VrstaDokumenta.DohvatiVrsteDokumenta();
     }
     catch (Exception)
     {
         MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Statièka metoda koja prima kao argument artikl koji
 /// se želi ažurirati te sve atribute u tablici.
 /// Metoda proslijeðeni artikl
 /// ažurira i sprema u bazu podataka.
 /// </summary>
 /// <param name="artiklZaAzuriranje"></param>
 public static void AzurirajArtikl(Artikl artiklZaAzuriranje, string naziv, string kratkiOpis, string specifikacija, double cijena, int vrstaId)
 {
     using (var db = new TechStoreEntities())
     {
         db.Artikl.Attach(artiklZaAzuriranje);
         artiklZaAzuriranje.Naziv         = naziv;
         artiklZaAzuriranje.Kratki_opis   = kratkiOpis;
         artiklZaAzuriranje.Specifikacija = specifikacija;
         artiklZaAzuriranje.Cijena        = cijena;
         artiklZaAzuriranje.Vrsta_ID      = vrstaId;
         db.SaveChanges();
     }
 }
Ejemplo n.º 15
0
        /// <summary>
        /// Metoda koja se poziva na klik gumbića
        /// uiActionDodajArtikl
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UiActionDodajArtikl_Click(object sender, EventArgs e)
        {
            uiNoviArtikl noviArtikl = new uiNoviArtikl();

            noviArtikl.ShowDialog();
            try
            {
                artiklBindingSource.DataSource       = Artikl.DohvatiSveArtikle();
                vrstaArtiklaBindingSource.DataSource = VrstaArtikla.DohvatiVrsteArtikala();
            }
            catch (Exception)
            {
                MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Dohvaća grafičke kartice uz pomoć statičke metode DohvatiKomponente,
        /// te ih prikazuje u ComboBox kontroli.
        /// </summary>
        private void OsvjeziGraficke()
        {
            List <Artikl> grafickeKartice = null;

            try
            {
                string upit = "SELECT* From Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 3 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + " )) AND k.Kompatibilni = 1";
                grafickeKartice = Artikl.DohvatiKomponente(upit);
                RacunajPreporuke(grafickeKartice, uiInputGraficka);
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Rukuje događajem pokretanja forme. Popunjava ComboBox sa svim artiklima
        /// uz pomoć statičke metode DohvatiSve artikle. Na Chart kontroli uklanja
        /// horizontalne crte radi preglednosti grafa.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UiKolicinaArtikala_Load(object sender, EventArgs e)
        {
            this.KeyPreview = true;
            this.KeyDown   += UiKolicinaArtikala_KeyDown;
            try
            {
                Artikli = Artikl.DohvatiSveArtikle();
                artiklBindingSource.DataSource = Artikli;
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            uiOutputGraf.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// Metoda koja kao parametar prima listu artikala te novi artikl.
        /// Dodaje kompatibilnost novog proizvoda s ostalim proizvodima ako je
        /// novi proizvod HDD.
        /// </summary>
        /// <param name="listaArtikala"></param>
        /// <param name="noviArtikl"></param>
        public void HDDKompatibilnost(List <Artikl> listaArtikala, Artikl noviArtikl)
        {
            List <string> listaSpecifikacijaNovogArtikla = noviArtikl.Specifikacija.Split(',').ToList();

            foreach (var trenutniArtikl in listaArtikala)
            {
                if (trenutniArtikl.Vrsta_ID == 2 || trenutniArtikl.Vrsta_ID == 8)
                {
                    ProvjeraPoSvimSpecifikacijama(trenutniArtikl, noviArtikl, listaSpecifikacijaNovogArtikla);
                }
                else
                {
                    DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                }
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Dohvaća procesore uz pomoć statičke metode DohvatiKomponente,
        /// te ih prikazuje u ComboBox kontroli.
        /// </summary>
        private void OsvjeziProcesore()
        {
            List <Artikl> procesori = null;

            try
            {
                string upit = "SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 4 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT  SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 4 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[1].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[1].ID + ")) AND k.Kompatibilni = 1";
                procesori = Artikl.DohvatiKomponente(upit);
                RacunajPreporuke(procesori, uiInputProcesor);
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 20
0
 /// <summary>
 /// Dodaje odabrani artikl u datagridview iz kojeg se zatim
 /// popunjavaja narudžba
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void UiActionDodaj_Click(object sender, EventArgs e)
 {
     try
     {
         if (IspravnostKolicine())
         {
             bool   nadeno         = false;
             int    indexReda      = 0;
             Artikl odabraniArtikl = (Artikl)uiInputArtikl.SelectedItem;
             foreach (var artikl in artikls)
             {
                 if (artikl.ID == odabraniArtikl.ID)
                 {
                     nadeno = true;
                     break;
                 }
                 indexReda++;
             }
             if (!nadeno)
             {
                 artikls.Add(odabraniArtikl);
                 uiOutputPopisArtikala.DataSource = artikls;
                 uiOutputPopisArtikala.Rows[artikls.Count - 1].Cells["Kolicina"].Value = int.Parse(uiInputKolicina.Text);
             }
             else
             {
                 int trenutnaKolicina = int.Parse(uiOutputPopisArtikala.Rows[indexReda].Cells["Kolicina"].Value.ToString());
                 uiOutputPopisArtikala.Rows[indexReda].Cells["Kolicina"].Value = int.Parse(uiInputKolicina.Text) + trenutnaKolicina;
                 uiOutputPopisArtikala.DataSource = artikls;
             }
         }
         else
         {
             MessageBox.Show("Unesite pozitivan broj za količinu", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         uiInputKolicina.Clear();
         uiInputArtikl.DataSource = artiklBindingSource;
     }
     catch (Exception)
     {
         MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 21
0
        /// <summary>
        /// Metoda koja kao parametar prima listu artikala te novi artikl.
        /// Dodaje kompatibilnost novog proizvoda s ostalim proizvodima ako je
        /// novi proizvod zvučna kartica.
        /// </summary>
        /// <param name="listaArtikala"></param>
        /// <param name="noviArtikl"></param>
        public void ZvucnaKarticaKompatibilnost(List <Artikl> listaArtikala, Artikl noviArtikl)
        {
            double        visinaNoviArtikl  = 0;
            double        sirinaNoviArtikl  = 0;
            double        duljinaNoviArtikl = 0;
            List <string> listaSpecifikacijaNovogArtikla = noviArtikl.Specifikacija.Split(',').ToList();

            visinaNoviArtikl  = DohvatiVisinu(listaSpecifikacijaNovogArtikla);
            sirinaNoviArtikl  = DohvatiSirinu(listaSpecifikacijaNovogArtikla);
            duljinaNoviArtikl = DohvatiDuljinu(listaSpecifikacijaNovogArtikla);
            foreach (var trenutniArtikl in listaArtikala)
            {
                if (trenutniArtikl.Vrsta_ID == 2)
                {
                    ProvjeraPoSvimSpecifikacijama(trenutniArtikl, noviArtikl, listaSpecifikacijaNovogArtikla);
                }
                else if (trenutniArtikl.Vrsta_ID == 11)
                {
                    double        visinaTrenutniArtikl  = 0;
                    double        sirinaTrenutniArtikl  = 0;
                    double        duljinaTrenutniArtikl = 0;
                    List <string> listaSpecifikacijaTrenutnogArtikla = trenutniArtikl.Specifikacija.Split(',').ToList();
                    visinaTrenutniArtikl  = DohvatiVisinu(listaSpecifikacijaTrenutnogArtikla);
                    sirinaTrenutniArtikl  = DohvatiSirinu(listaSpecifikacijaTrenutnogArtikla);
                    duljinaTrenutniArtikl = DohvatiDuljinu(listaSpecifikacijaTrenutnogArtikla);
                    if (sirinaNoviArtikl < sirinaTrenutniArtikl && visinaNoviArtikl < visinaTrenutniArtikl && duljinaNoviArtikl < duljinaTrenutniArtikl)
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                    }
                    else
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, false);
                    }
                }
                else
                {
                    DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                }
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Dohvaća matične ploče uz pomoć statičke metode DohvatiKomponente,
        /// te ih prikazuje u ComboBox kontroli.
        /// </summary>
        private void OsvjeziMaticne()
        {
            List <Artikl> maticnePloce = null;

            try
            {
                string upit = "SELECT * FROM Artikl a WHERE a.Vrsta_ID = 2";
                maticnePloce = Artikl.DohvatiKomponente(upit);
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            foreach (Artikl maticna in maticnePloce.OrderBy(x => x.Cijena))
            {
                uiInputMaticna.Items.Add(maticna);
            }

            NajvisaCijena = maticnePloce.Max(x => x.Cijena);
        }
Ejemplo n.º 23
0
        /// <summary>
        /// Dohvaća zvučne kartice uz pomoć statičke metode DohvatiKomponente,
        /// te ih prikazuje u ComboBox kontroli.
        /// </summary>
        private void OsvjeziZvucneKartice()
        {
            List <Artikl> zvucnaKartica = null;

            try
            {
                string upit = "SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[0].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[0].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.Vrsta_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[1].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[1].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[2].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[2].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[3].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[3].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[4].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[4].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[5].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[5].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[6].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[6].ID + ")) AND k.Kompatibilni = 1" +
                              "INTERSECT SELECT a.ID, a.Naziv, a.Kratki_opis, a.Specifikacija, a.Cijena, a.Vrsta_ID FROM Artikl a, Kompatibilnost k WHERE a.VRSTA_ID = 10 AND ((a.ID = k.Komponenta2 AND k.Komponenta1 = " + izabraneKomponente[7].ID + ") OR (a.ID = k.Komponenta1 AND k.Komponenta2 = " + izabraneKomponente[7].ID + ")) AND k.Kompatibilni = 1";
                zvucnaKartica = Artikl.DohvatiKomponente(upit);
                RacunajPreporuke(zvucnaKartica, uiInputZvucna);
            }
            catch (Exception)
            {
                MessageBox.Show("Došlo je do pogreške.", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// Metoda koja kao parametar prima listu artikala te novi artikl.
        /// Dodaje kompatibilnost novog proizvoda s ostalim proizvodima ako je novi
        /// proizvod kučište.
        /// </summary>
        /// <param name="listaArtikala"></param>
        /// <param name="noviArtikl"></param>
        public void KucisteKompatibilnost(List <Artikl> listaArtikala, Artikl noviArtikl)
        {
            double        visinaNoviArtikl  = 0;
            double        sirinaNoviArtikl  = 0;
            double        duljinaNoviArtikl = 0;
            List <string> listaSpecifikacijaNovogArtikla = noviArtikl.Specifikacija.Split(',').ToList();

            visinaNoviArtikl  = DohvatiVisinu(listaSpecifikacijaNovogArtikla);
            sirinaNoviArtikl  = DohvatiSirinu(listaSpecifikacijaNovogArtikla);
            duljinaNoviArtikl = DohvatiDuljinu(listaSpecifikacijaNovogArtikla);
            foreach (var trenutniArtikl in listaArtikala)
            {
                List <string> listaSpecifikacijaTrenutnogArtikla = trenutniArtikl.Specifikacija.Split(',').ToList();
                if (trenutniArtikl.Vrsta_ID == 2 || trenutniArtikl.Vrsta_ID == 3 || trenutniArtikl.Vrsta_ID == 8 || trenutniArtikl.Vrsta_ID == 9 || trenutniArtikl.Vrsta_ID == 10)
                {
                    double visinaTrenutniArtikl  = 0;
                    double sirinaTrenutniArtikl  = 0;
                    double duljinaTrenutniArtikl = 0;

                    visinaTrenutniArtikl  = DohvatiVisinu(listaSpecifikacijaTrenutnogArtikla);
                    sirinaTrenutniArtikl  = DohvatiSirinu(listaSpecifikacijaTrenutnogArtikla);
                    duljinaTrenutniArtikl = DohvatiDuljinu(listaSpecifikacijaTrenutnogArtikla);
                    if (sirinaNoviArtikl > sirinaTrenutniArtikl && visinaNoviArtikl > visinaTrenutniArtikl && duljinaNoviArtikl > duljinaTrenutniArtikl)
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                    }
                    else
                    {
                        DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, false);
                    }
                }
                else
                {
                    DodajKompatibilnostPomoc(trenutniArtikl, noviArtikl, true);
                }
            }
        }
Ejemplo n.º 25
0
        /// <summary>
        /// Metoda koja se poziva prilikom pritiska na gumbić Dodaj artikl.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UiActionDodajArtikl_Click(object sender, EventArgs e)
        {
            try
            {
                if (ArtiklZaIzmjenu == null)
                {
                    if (uiInputNaziv.Text != "" && uiInputKratkiOpis.Text != "" && uiInputSpecifikacije.Text != "" && double.TryParse(uiInputCijena.Text, out double cijena) && uiInputVrstaArtikla.SelectedValue.ToString() != "")
                    {
                        Artikl noviArtikl = new Artikl
                        {
                            Naziv         = uiInputNaziv.Text,
                            Kratki_opis   = uiInputKratkiOpis.Text,
                            Specifikacija = uiInputSpecifikacije.Text,
                            Cijena        = cijena,
                            Vrsta_ID      = int.Parse(uiInputVrstaArtikla.SelectedValue.ToString())
                        };
                        Artikl.DodajArtikl(noviArtikl);
                        var listaArtikala = Artikl.DohvatiKomponente("SELECT * FROM Artikl WHERE ID !=(SELECT MAX(ID) FROM Artikl)");
                        if (noviArtikl.Vrsta_ID == 1)
                        {
                            OstaloKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 2)
                        {
                            MaticnaPlocaKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 3)
                        {
                            GrafickaKarticaKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 4)
                        {
                            ProcesorKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 5)
                        {
                            RAMKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 6)
                        {
                            SSDKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 7)
                        {
                            HDDKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 8)
                        {
                            NapajanjeKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 9)
                        {
                            HladnjakKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 10)
                        {
                            ZvucnaKarticaKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else if (noviArtikl.Vrsta_ID == 11)
                        {
                            KucisteKompatibilnost(listaArtikala, noviArtikl);
                        }
                        else
                        {
                            SveOstaloKompatibilnost(listaArtikala, noviArtikl);
                        }
                        MessageBox.Show("Artikl je uspješno dodan.", "Artikl dodan!", MessageBoxButtons.OK);

                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Nisu uneseni svi podaci!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    if (uiInputNaziv.Text != "" && uiInputKratkiOpis.Text != "" && uiInputSpecifikacije.Text != "" && double.TryParse(uiInputCijena.Text, out double cijena) && uiInputVrstaArtikla.SelectedValue.ToString() != "")
                    {
                        Artikl.AzurirajArtikl(ArtiklZaIzmjenu, uiInputNaziv.Text, uiInputKratkiOpis.Text, uiInputSpecifikacije.Text, cijena, int.Parse(uiInputVrstaArtikla.SelectedValue.ToString()));
                        var listaKompatibilnosti = Kompatibilnost.DohvatiKompatibilnosti("SELECT * FROM Kompatibilnost WHERE Komponenta1=" + ArtiklZaIzmjenu.ID);
                        foreach (var kompatibilnost in listaKompatibilnosti)
                        {
                            Kompatibilnost.ObrisiKompatibilnost(kompatibilnost);
                        }
                        var listaArtikala = Artikl.DohvatiKomponente("SELECT * FROM Artikl WHERE ID !=" + ArtiklZaIzmjenu.ID);
                        if (ArtiklZaIzmjenu.Vrsta_ID == 1)
                        {
                            OstaloKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 2)
                        {
                            MaticnaPlocaKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 3)
                        {
                            GrafickaKarticaKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 4)
                        {
                            ProcesorKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 5)
                        {
                            RAMKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 6)
                        {
                            SSDKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 7)
                        {
                            HDDKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 8)
                        {
                            NapajanjeKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 9)
                        {
                            HladnjakKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 10)
                        {
                            ZvucnaKarticaKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else if (ArtiklZaIzmjenu.Vrsta_ID == 11)
                        {
                            KucisteKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        else
                        {
                            SveOstaloKompatibilnost(listaArtikala, ArtiklZaIzmjenu);
                        }
                        MessageBox.Show("Artikl je uspješno ažuriran.", "Artikl ažuriran!", MessageBoxButtons.OK);
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Nisu uneseni svi podaci!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }