Esempio n. 1
0
 private void uiActionSpremi_Click(object sender, EventArgs e)
 {
     Sloj_pristupa_podacima.Artikl artikl = new Sloj_pristupa_podacima.Artikl();
     try
     {
         artikl.godina_proizvodnje = int.Parse(uiInputGodinaProizvodnjeDijela.Text);
         artikl.opis_artikla       = uiInputOpisRezervnogDijela.Text;
         artikl.naziv_artikla      = uiInputNazivRezervnogDijela.Text;
         artikl.cijena_artikla     = double.Parse(uiInputCijenaRezervnogDijela.Text);
         artikl.vrsta_artikla      = 1;
         artikl.minimalna_kolicina = int.Parse(uiInputMinimalnaKolicina.Text);
         artikl.vrijeme_dostave    = int.Parse(uiInputVrijemeDostave.Text);
         int kolicina = int.Parse(uiInputKolicina.Text);
         if (Sloj_poslovne_logike.UpravljanjeSkladistem.UpravljanjeSkladistemBLL.ProvjeraUnosaRezervnogDijela(artikl, kolicina) == true)
         {
             Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.KreiranjeArtikla(artikl, cbInputSkladiste.SelectedItem as Sloj_pristupa_podacima.Skladiste, kolicina);
             FormUpravljanjeSkladistem.OsvjeziPopisArtikala();
             DnevnikRadaDLL.DnevnikLogin.ZapisiZapis(DnevnikRadaDLL.RadnjaDnevnika.KREIRANJE_REZERVNOG_DIJELA);
         }
         else
         {
             MessageBox.Show("Niste unijeli odgovarajuće parametre! Za pomoć pritisnite F1.");
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Morate unijeti sve parametre");
     }
 }
Esempio n. 2
0
 private void uiActionAzuriraj_Click(object sender, EventArgs e)
 {
     Sloj_pristupa_podacima.Artikl artikl = new Sloj_pristupa_podacima.Artikl();
     try
     {
         artikl.id_artikl          = proslijedeniArtikl.id_artikl;
         artikl.godina_proizvodnje = int.Parse(uiInputGodinaProizvodnjeDijela.Text);
         artikl.opis_artikla       = uiInputOpisRezervnogDijela.Text;
         artikl.naziv_artikla      = uiInputNazivRezervnogDijela.Text;
         artikl.cijena_artikla     = double.Parse(uiInputCijenaRezervnogDijela.Text);
         artikl.vrsta_artikla      = 1;
         artikl.minimalna_kolicina = int.Parse(uiInputMinimalnaKolicina.Text);
         artikl.vrijeme_dostave    = int.Parse(uiInputVrijemeDostave.Text);
         if (Sloj_poslovne_logike.UpravljanjeSkladistem.UpravljanjeSkladistemBLL.ProvjeraUnosaRezervnogDijelaKodAzuriranja(artikl) == true)
         {
             Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.AzurirajArtikl(artikl);
             FormUpravljanjeSkladistem.OsvjeziPopisArtikala();
             DnevnikRadaDLL.DnevnikLogin.ZapisiZapis(DnevnikRadaDLL.RadnjaDnevnika.AZURIRAJ_ARTIKL);
         }
         else
         {
             MessageBox.Show("Niste unijeli odgovarajuće parametre! Za pomoć pritisnite F1.");
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Morate unijeti sve parametre");
     }
 }
        private static int ProsjecnoVrijemePoNarudzbi(Sloj_pristupa_podacima.Artikli_na_skladistu ans)
        {
            Sloj_pristupa_podacima.Artikl artikl = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiArtikl(ans.artikl);

            int ukupnoDanaProdaje     = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.BrojRacunaProdanogArtikala(artikl);
            int sumaIntervalaNarudzbe = 0;

            if (ukupnoDanaProdaje > 0)
            {
                List <Sloj_pristupa_podacima.Stavke_dokumenta> stavke = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiStavkeDokumentaOdabranogArtikla(artikl, INTERVAL_NARUDZBE);
                for (int i = stavke.Count - 1; i > 0; i--)
                {
                    Sloj_pristupa_podacima.Dokument d1 = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiDokument(stavke[i].dokument);
                    Sloj_pristupa_podacima.Dokument d2 = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiDokument(stavke[i - 1].dokument);
                    int brojDana = d1.datum_izdavanja.Subtract(d2.datum_izdavanja).Days;
                    sumaIntervalaNarudzbe += brojDana;
                }
                int kolicnik = sumaIntervalaNarudzbe /= ukupnoDanaProdaje;
                if (kolicnik > 0)
                {
                    return(kolicnik);
                }
                else
                {
                    return(1);
                }
            }
            return(10);
        }
 private void uiActionSpremi_Click(object sender, EventArgs e)
 {
     Sloj_pristupa_podacima.Artikl artikl = new Sloj_pristupa_podacima.Artikl();
     try
     {
         artikl.godina_proizvodnje = int.Parse(uiInputGodinaProizvodnje.Text);
         artikl.emisija_vozila     = int.Parse(uiInputEmisijaVozila.Text);
         artikl.snaga_vozila       = int.Parse(uiInputSnagaVozila.Text);
         artikl.opis_artikla       = uiInputOpisArtikla.Text;
         artikl.vrsta_goriva       = (uiInputVrstaGoriva.SelectedItem as VrsteGoriva).Gorivo;
         artikl.naziv_artikla      = uiInputNazivArtikla.Text;
         artikl.cijena_artikla     = float.Parse(uiInputCijenaArtikla.Text);
         artikl.vrsta_artikla      = 2;
         artikl.minimalna_kolicina = int.Parse(uiInputMinimalnaKolicina.Text);
         artikl.vrijeme_dostave    = int.Parse(uiInputVrijemeDostave.Text);
         int kolicina = int.Parse(uiInputKolicina.Text);
         if (UpravljanjeSkladistemBLL.ProvjeraUnosaVozila(artikl, kolicina) == true)
         {
             Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.KreiranjeArtikla(artikl, cbinputSkladiste.SelectedItem as Sloj_pristupa_podacima.Skladiste, kolicina);
             FormUpravljanjeSkladistem.OsvjeziPopisArtikala();
             DnevnikRadaDLL.DnevnikLogin.ZapisiZapis(DnevnikRadaDLL.RadnjaDnevnika.KREIRANJE_VOZILA);
         }
         else
         {
             MessageBox.Show("Niste unijeli odgovarajuće parametre! Za pomoć pritisnite F1.");
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Morate unijeti sve parametre!");
     }
 }
        private static DateTime PredvidiDanNarudzbe(Sloj_pristupa_podacima.Artikli_na_skladistu ans, int sljedecaNarudzba, int kolicinaNarudzbe)
        {
            Sloj_pristupa_podacima.Artikl artikl = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiArtikl(ans.artikl);
            List <Sloj_pristupa_podacima.Stavke_dokumenta> stavke = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiStavkeDokumentaOdabranogArtikla(artikl, INTERVAL_NARUDZBE);

            if (stavke.Count > 0)
            {
                Sloj_pristupa_podacima.Dokument d3 = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiDokument(stavke.Last().dokument);
                DateTime vrijemeZadnjeNarudzbe     = d3.datum_izdavanja;
                int      trenutnaKolicina          = ans.kolicina;
                while (true)
                {
                    if (trenutnaKolicina - kolicinaNarudzbe >= MINIMALNA_KOLICINA)
                    {
                        trenutnaKolicina     -= kolicinaNarudzbe;
                        vrijemeZadnjeNarudzbe = vrijemeZadnjeNarudzbe.AddDays(sljedecaNarudzba);
                    }
                    else
                    {
                        break;
                    }
                }
                return(vrijemeZadnjeNarudzbe);
            }
            else
            {
                return(DateTime.Now.AddDays(30));
            }
        }
 private void uiActionBrisanje_Click(object sender, EventArgs e)
 {
     ActivateButton(sender);
     Sloj_pristupa_podacima.Artikl artikl = new Sloj_pristupa_podacima.Artikl();
     artikl = dgvSviArtikliNaSkladistu.CurrentRow.DataBoundItem as Sloj_pristupa_podacima.Artikl;
     Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.BrisanjeArtikla(artikl);
     DnevnikRadaDLL.DnevnikLogin.ZapisiZapis(DnevnikRadaDLL.RadnjaDnevnika.BRISANJE_ARTIKLA);
     OsvjeziPopisArtikala();
 }
 public static bool ProvjeraUnosaVozilaKodAzuriranja(Sloj_pristupa_podacima.Artikl artikl)
 {
     if (artikl.naziv_artikla == "" || artikl.opis_artikla == "" || artikl.cijena_artikla <= 0 || artikl.godina_proizvodnje < 1900 || artikl.emisija_vozila <= 0 || artikl.snaga_vozila <= 0 || artikl.vrsta_goriva == null || artikl.minimalna_kolicina <= 0 || artikl.vrijeme_dostave <= 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
 public static bool ProvjeraUnosaRezervnogDijelaKodAzuriranja(Sloj_pristupa_podacima.Artikl artikl)
 {
     if (artikl.naziv_artikla == "" || artikl.opis_artikla == "" || artikl.cijena_artikla <= 0 || artikl.godina_proizvodnje < 1900 || artikl.minimalna_kolicina <= 0 || artikl.vrijeme_dostave <= 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
        private static int AverageKolicineNarudzbe(Sloj_pristupa_podacima.Artikli_na_skladistu ans)
        {
            Sloj_pristupa_podacima.Artikl artikl = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiArtikl(ans.artikl);
            int kolicina   = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.BrojProdanihArtikala(artikl);
            int brojRacuna = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.BrojRacunaProdanogArtikala(artikl);

            if (kolicina > 0 && brojRacuna > 0)
            {
                return((int)kolicina / (int)brojRacuna);
            }
            return(1);
        }
 private void uiActionAzuriranje_Click(object sender, EventArgs e)
 {
     ActivateButton(sender);
     Sloj_pristupa_podacima.Artikl artikl = new Sloj_pristupa_podacima.Artikl();
     artikl = dgvSviArtikliNaSkladistu.CurrentRow.DataBoundItem as Sloj_pristupa_podacima.Artikl;
     if (artikl.vrsta_artikla == 2)
     {
         PrikaziFormuAzuriranjeVozila(FormKreirajVozilo.Instance, sender, artikl);
     }
     else
     {
         PrikaziFormuAzuriranjeRezervnogDijela(FormKreirajRezervniDio.instance, sender, artikl);
     }
 }
        private void dgvProdajniArtikli_DoubleClick(object sender, EventArgs e)
        {
            Sloj_pristupa_podacima.Artikl odabraniArtikl = dgvProdajniArtikli.CurrentRow.DataBoundItem as Sloj_pristupa_podacima.Artikl;

            if (Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.ProvjeraDostupnostiArtikla(odabraniArtikl) == true)
            {
                odabraniArtikli.Add(odabraniArtikl);
                suma += odabraniArtikl.cijena_artikla;
                OsvjeziOdabraneArtikle();
            }
            else
            {
                MessageBox.Show("Odabrani artikl nije dostupan na skladištu.");
                PrikazFormeKreiranjaNarudzbe(FormKreirajNarudzbu.Instance, sender, odabraniArtikl);
            }
        }
 public static string PredvidiVrijemeNarudzbe(Sloj_pristupa_podacima.Artikli_na_skladistu ans)
 {
     Sloj_pristupa_podacima.Artikl artikl = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiArtikl(ans.artikl);
     MINIMALNA_KOLICINA = artikl.minimalna_kolicina;
     MINIMALNA_DONJA_GRANICA_U_DANIMA = artikl.vrijeme_dostave;
     if (MINIMALNA_KOLICINA >= ans.kolicina)
     {
         return(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"));
     }
     else
     {
         int      prosjecnoVrijemeNarudzbe  = ProsjecnoVrijemePoNarudzbi(ans);
         int      prosjecnaKolicinaNarudzbe = AverageKolicineNarudzbe(ans);
         DateTime vrijemeNarudzbe           = PredvidiDanNarudzbe(ans, prosjecnoVrijemeNarudzbe, prosjecnaKolicinaNarudzbe);
         if (vrijemeNarudzbe.AddDays(-MINIMALNA_DONJA_GRANICA_U_DANIMA) <= DateTime.Now)
         {
             return(DateTime.Now.ToString());
         }
         else
         {
             return(vrijemeNarudzbe.AddDays(-MINIMALNA_DONJA_GRANICA_U_DANIMA).ToString("dd.MM.yyyy HH:mm:ss"));
         }
     }
 }
 private void FormKreirajArtikl_FormClosed(object sender, FormClosedEventArgs e)
 {
     _Instance          = null;
     proslijedeniArtikl = null;
 }
Esempio n. 14
0
 private void FormKreirajNarudzbu_FormClosed(object sender, FormClosedEventArgs e)
 {
     _Instance            = null;
     proslijedeniDokument = null;
     prosljedeniArtikl    = null;
 }
 private void PrikaziFormuAzuriranjeVozila(FormKreirajVozilo form, object sender, Sloj_pristupa_podacima.Artikl artikl)
 {
     form.proslijedeniArtikl        = artikl;
     form.FormUpravljanjeSkladistem = this;
     form.MdiParent     = this.MdiParent;
     form.StartPosition = FormStartPosition.CenterScreen;
     ActivateButton(sender);
     form.Show();
     form.Activate();
 }
Esempio n. 16
0
 private void FormKreirajRezervniDio_FormClosed(object sender, FormClosedEventArgs e)
 {
     _instance          = null;
     proslijedeniArtikl = null;
 }
Esempio n. 17
0
        public static void DodajRed(Form forma, Sloj_pristupa_podacima.Artikli_na_skladistu ans, string datum, Korisnik korisnik)
        {
            Sloj_pristupa_podacima.Artikl artikl = Sloj_pristupa_podacima.UpravljanjeSkladistem.UpravljanjeSkladistemDAL.DohvatiArtikl(ans.artikl);
            Label lblNaziv = new Label();

            lblNaziv.ForeColor = Color.LightGray;
            lblNaziv.Text      = artikl.naziv_artikla;
            lblNaziv.Location  = new Point(20, INITIAL_VERT + VERT_SPACE);

            Label lblDatum = new Label();

            lblDatum.ForeColor = Color.LightGray;
            lblDatum.Text      = datum;
            lblDatum.Location  = new Point(INITIAL_HORIZ + HORIZ_SPACE, INITIAL_VERT + VERT_SPACE);

            Button btnNaruci = new Button();

            btnNaruci.Text      = "Naruči";
            btnNaruci.ForeColor = Color.LightGray;
            btnNaruci.FlatStyle = FlatStyle.Flat;
            btnNaruci.FlatAppearance.BorderSize = 0;
            if (ProvjeriDaLiJeMoguceNaruciti(datum))
            {
                btnNaruci.Enabled = true;
            }
            else
            {
                btnNaruci.Enabled = false;
            }
            btnNaruci.Click += (s, e) =>
            {
                Sloj_pristupa_podacima.Dokument narudzba = new Sloj_pristupa_podacima.Dokument();
                try
                {
                    narudzba.datum_izdavanja = DateTime.Now;
                    narudzba.opis_dokumenta  = "Narudzba za " + artikl.naziv_artikla;
                    narudzba.ukupni_saldo    = artikl.cijena_artikla;
                    narudzba.tip_dokumenta   = 2;
                    narudzba.korisnik        = korisnik.id_korisnik;
                    narudzba.zaposlenik      = Sesija.PrijavljenKorisnik.id_korisnik;
                    Sloj_pristupa_podacima.UpravljanjeNarudzbama.UpravljanjeNarudzbamaDAL.KreirajNarudzbu(narudzba);

                    Sloj_pristupa_podacima.Usluga usluga = new Sloj_pristupa_podacima.Usluga();
                    usluga.naziv_usluge = narudzba.opis_dokumenta;
                    usluga.vrsta_usluge = 1;
                    Sloj_pristupa_podacima.Upravljanje_uslugama.UpravljanjeUslugamaDAL.KreiranjeUsluge(usluga);
                    Sloj_pristupa_podacima.Stavke_dokumenta stavke_Dokumenta = new Sloj_pristupa_podacima.Stavke_dokumenta();
                    stavke_Dokumenta.usluga   = Sloj_pristupa_podacima.Upravljanje_uslugama.UpravljanjeUslugamaDAL.VratiZadnjiUnos(usluga.naziv_usluge).id_usluga;
                    stavke_Dokumenta.dokument = Sloj_pristupa_podacima.UpravljanjeNarudzbama.UpravljanjeNarudzbamaDAL.VratiZadnjiRacun(narudzba).id_dokument;
                    stavke_Dokumenta.artikl   = artikl.id_artikl;
                    Sloj_pristupa_podacima.UpravljanjeNarudzbama.UpravljanjeNarudzbamaDAL.KreiranjeStavkeDokumenta(stavke_Dokumenta);

                    Sloj_pristupa_podacima.Obavijest obavijest = new Sloj_pristupa_podacima.Obavijest();
                    obavijest.Korisnik          = korisnik.id_korisnik;
                    obavijest.Naslov            = "Kreirana narudzba";
                    obavijest.Opis              = narudzba.opis_dokumenta;
                    obavijest.Procitano         = 0;
                    obavijest.Vrijeme_kreiranja = DateTime.Now;
                    obavijest.Zaposlenik        = Sesija.PrijavljenKorisnik.id_korisnik;
                    Sloj_pristupa_podacima.UpravljanjeObavijestima.UpravljanjeObavijestimaDAL.KreirajObavijest(obavijest);
                    Mailer.PosaljiObavijestNaMail(korisnik, narudzba.opis_dokumenta, "Kreirana narudzba");
                }
                catch (Exception)
                {
                    MessageBox.Show("Mail nije poslan!");
                }
            };
            btnNaruci.Location = new Point(INITIAL_HORIZ + 400, INITIAL_VERT + VERT_SPACE);
            INITIAL_VERT      += VERT_SPACE;
            forma.Controls.Add(lblNaziv);
            sveKontrolePredikcije.Add(lblNaziv);
            forma.Controls.Add(lblDatum);
            sveKontrolePredikcije.Add(lblDatum);
            forma.Controls.Add(btnNaruci);
            sveKontrolePredikcije.Add(btnNaruci);
        }
 private void PrikazFormeKreiranjaNarudzbe(FormKreirajNarudzbu form, object sender, Sloj_pristupa_podacima.Artikl artikl)
 {
     form.prosljedeniArtikl  = artikl;
     form.FormProdajaArtikla = this;
     form.MdiParent          = this.MdiParent;
     form.StartPosition      = FormStartPosition.CenterScreen;
     form.Show();
     form.Activate();
 }