Пример #1
0
        /// <summary>
        /// Metoda koja prima listu faza_projekta i za te faze projekta popunjava data sourceove za
        /// stavke materijala na fazi projekta i materijal
        /// </summary>
        /// <param name="listaFaze_projekta"></param>
        private void Materijal(List <Faze_projekta> listaFaze_projekta)
        {
            BindingList <Faza_ima_materijal> listaMaterijala  = new BindingList <Faza_ima_materijal>();
            BindingList <Materijal>          listaMaterijalId = new BindingList <Materijal>();

            if (listaFaze_projekta != null)
            {
                using (var db = new IzdavanjeRacunEntities())
                {
                    foreach (var fp in listaFaze_projekta)
                    {
                        db.Faze_projekta.Attach(fp);
                        foreach (var fm in fp.Faza_ima_materijal)
                        {
                            listaMaterijala.Add(fm);
                            listaMaterijalId.Add(fm.Materijal);
                        }
                        //foreach (Faza_ima_materijal M in listaMaterijala)
                        //{
                        //    if(M.kolicina != 0)
                        //    {
                        //        listaMaterijalId.Add(M.Materijal as Materijal);
                        //    }
                        //}
                    }
                }
                Faza_ima_materijalBindingSource.DataSource = listaMaterijala;
                materijalBindingSource.DataSource          = listaMaterijalId;
            }
        }
Пример #2
0
        /// <summary>
        /// Metoda koja za označenu fazu unutar datagridviewa puni listu faza_projekta i za označeni projekt puni listu faza_projekta
        /// kako bi se uspoređivanjem spremile u listu one faze projekta koje su zajedničke.
        /// parametar kontroler postoji zbog korištenja na drugoj formi (objašnjeno u PopisProjektiForm)
        /// Trenutno korištenje je sa parametrom = 1, time vraća prvu fazu_projekta koju nađe
        /// </summary>
        /// <param name="kontroler"></param>
        /// <returns></returns>
        private Faze_projekta vratiFazuProjekta(int kontroler)
        {
            Faza          selektiranaFaza    = fazaBindingSource.Current as Faza;
            Projekt       selektiraniProjekt = odabraniProjekt;
            Faze_projekta vrati = null;

            if (selektiranaFaza != null && selektiraniProjekt != null)
            {
                using (var db = new IzdavanjeRacunEntities())
                {
                    db.Projekt.Attach(selektiraniProjekt);
                    db.Faza.Attach(selektiranaFaza);

                    List <Faze_projekta> listaOdProjekta = new List <Faze_projekta>(selektiraniProjekt.Faze_projekta.ToList());
                    List <Faze_projekta> listaOdFaze     = new List <Faze_projekta>(selektiranaFaza.Faze_projekta.ToList());
                    foreach (var P in listaOdProjekta)
                    {
                        foreach (var F in listaOdFaze)
                        {
                            if (P.id == F.id)
                            {
                                vrati = P;
                                if (kontroler == 1)
                                {
                                    return(vrati);
                                }
                            }
                        }
                    }
                }
            }
            return(vrati);
        }
Пример #3
0
        /// <summary>
        /// Metoda koja se aktivira na promjenu teksta u polju za pretraživanje,
        /// pretražuje se prema istim uvjetima kao i kod učitavanja, ali se još provjerava
        /// postojanja dijela teksta u nazivu projekta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            BindingList <Projekt>  Projekti       = null;
            BindingList <Projekt>  listaProjekta  = new BindingList <Projekt>();
            BindingList <Korisnik> listaKorisnika = new BindingList <Korisnik>();
            BindingList <Partner>  listaPartnera  = new BindingList <Partner>();

            using (var db = new IzdavanjeRacunEntities())
            {
                Projekti = new BindingList <Projekt>(db.Projekt.ToList());
                foreach (Projekt p in Projekti)
                {
                    if (p.aktivan == 1 && p.gotovo == 0 && ProvjeriZavrsenostFaza(p) == true)
                    {
                        if (p.ime.ToLower().Contains(tboxPretrazi.Text))
                        {
                            listaProjekta.Add(p);
                        }
                    }
                }
                foreach (Projekt P in listaProjekta)
                {
                    listaKorisnika.Add(P.Korisnik as Korisnik);
                    listaPartnera.Add(P.Partner as Partner);
                }
            }
            projektBindingSource.DataSource  = listaProjekta;
            korisnikBindingSource.DataSource = listaKorisnika;
            partnerBindingSource.DataSource  = listaPartnera;
        }
Пример #4
0
        /// <summary>
        /// Prilikom promjene teksta u polju za pretraživanje prema nazivu
        /// učitavaju se u datagridview projekti i njihovi partneri i korisnici
        /// gdje u nazivu projekta ima dio teksta u polju
        /// Ukoliko nema takvih projekata pozivaju se metode za generiranje praznih podataka
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tboxPretrazi_TextChanged(object sender, EventArgs e)
        {
            BindingList <Projekt>  Projekti       = null;
            BindingList <Projekt>  listaProjekta  = new BindingList <Projekt>();
            BindingList <Korisnik> listaKorisnika = new BindingList <Korisnik>();
            BindingList <Partner>  listaPartnera  = new BindingList <Partner>();

            using (var db = new IzdavanjeRacunEntities())
            {
                Projekti = new BindingList <Projekt>(db.Projekt.ToList());
                foreach (Projekt p in Projekti)
                {
                    if (p.datum_izdavanja_racuna != null)
                    {
                        if (p.ime.ToLower().Contains(tboxPretrazi.Text))
                        {
                            listaProjekta.Add(p);
                        }
                    }
                }
                foreach (Projekt P in listaProjekta)
                {
                    listaKorisnika.Add(P.Korisnik as Korisnik);
                    listaPartnera.Add(P.Partner as Partner);
                }
            }
            projektBindingSource.DataSource = listaProjekta;
            if (listaKorisnika.Count > 0)
            {
                korisnikBindingSource.DataSource = listaKorisnika;
            }
            else
            {
                generirajPrazniKorisnik(listaKorisnika);
            }
            if (listaPartnera.Count > 0)
            {
                partnerBindingSource.DataSource = listaPartnera;
            }
            else
            {
                generirajPrazniPartner(listaPartnera);
            }
        }
Пример #5
0
        /// <summary>
        /// Metoda koja vraća sve faze koje projekt sadrži
        /// prolazi kroz svaku Faze_projekta i dohvaća Faza
        /// </summary>
        /// <param name="projekt"></param>
        private void PrikaziFaze(Projekt projekt)
        {
            if (projekt != null)
            {
                List <Faze_projekta> listaFaze_projekta = null;
                BindingList <Faza>   listaFaza          = new BindingList <Faza>();
                using (var db = new IzdavanjeRacunEntities())
                {
                    db.Projekt.Attach(projekt);
                    listaFaze_projekta = new List <Faze_projekta>(projekt.Faze_projekta.ToList());

                    foreach (var F in listaFaze_projekta)
                    {
                        listaFaza.Add(F.Faza as Faza);
                    }
                }
                fazaBindingSource.DataSource = listaFaza;
            }
        }
Пример #6
0
        /// <summary>
        /// Metoda za učitavanje projekata za koje je izdan račun u datagridview
        /// dohvaćaju se odgovarajući korisnici i partneri kako bi se prikazali nazivi a ne id-evi
        /// Ukoliko nema takvi projekta pozivaju se metoda za generiranje praznih podataka
        /// </summary>
        /// <returns></returns>
        private BindingList <Projekt> PrikaziRacune()
        {
            BindingList <Projekt>  Projekti       = null;
            BindingList <Projekt>  listaProjekta  = new BindingList <Projekt>();
            BindingList <Korisnik> listaKorisnika = new BindingList <Korisnik>();
            BindingList <Partner>  listaPartnera  = new BindingList <Partner>();

            using (var db = new IzdavanjeRacunEntities())
            {
                Projekti = new BindingList <Projekt>(db.Projekt.ToList());
                foreach (Projekt p in Projekti)
                {
                    if (p.datum_izdavanja_racuna != null)
                    {
                        listaProjekta.Add(p);
                    }
                }
                foreach (Projekt P in listaProjekta)
                {
                    listaKorisnika.Add(P.Korisnik as Korisnik);
                    listaPartnera.Add(P.Partner as Partner);
                }
            }
            projektBindingSource.DataSource = listaProjekta;
            if (listaKorisnika.Count > 0)
            {
                korisnikBindingSource.DataSource = listaKorisnika;
            }
            else
            {
                generirajPrazniKorisnik(listaKorisnika);
            }
            if (listaPartnera.Count > 0)
            {
                partnerBindingSource.DataSource = listaPartnera;
            }
            else
            {
                generirajPrazniPartner(listaPartnera);
            }
            return(listaProjekta);
        }
Пример #7
0
        /// <summary>
        /// Metoda koja koristi metodu za dohvaćanje faze_projekta preko označene faze u datagridviewu
        /// Za tu fazu_projekta dohvaća sve stavke materijala (Faza_ima_materijal) i preuzima materijala
        /// iz tih stavki za prikazivanje na datagridviewu
        /// </summary>
        private void PrikaziMaterijal()
        {
            Faze_projekta materijal = vratiFazuProjekta(1);
            BindingList <Faza_ima_materijal> listaMaterijala  = null;
            BindingList <Materijal>          listaMaterijalId = new BindingList <Materijal>();

            if (materijal != null)
            {
                using (var db = new IzdavanjeRacunEntities())
                {
                    db.Faze_projekta.Attach(materijal);
                    listaMaterijala = new BindingList <Faza_ima_materijal>(materijal.Faza_ima_materijal.ToList());
                    foreach (Faza_ima_materijal M in listaMaterijala)
                    {
                        listaMaterijalId.Add(M.Materijal as Materijal);
                    }
                }
                fazaimamaterijalBindingSource.DataSource = listaMaterijala;
                materijalBindingSource.DataSource        = listaMaterijalId;
            }
        }
Пример #8
0
        /// <summary>
        /// Pritiskom na tipku provjerava se ako je označen projekt, ako je
        /// javlja se poruka upozorenja čijom se potvrdom onda izdaje račun i zapisuje vrijeme izdaje računa.
        /// Osvježava se datagridview sa računima
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void izdajRacunButton_Click(object sender, EventArgs e)
        {
            Projekt selektiraniProjekt = projektBindingSource.Current as Projekt;

            if (selektiraniProjekt != null)
            {
                if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    using (var db = new IzdavanjeRacunEntities())
                    {
                        db.Projekt.Attach(selektiraniProjekt);
                        selektiraniProjekt.gotovo = 1;
                        selektiraniProjekt.datum_izdavanja_racuna = DateTime.Now;
                        db.SaveChanges();
                    }
                    RacunReportForm forma = new RacunReportForm(selektiraniProjekt);
                    forma.ShowDialog();
                    MessageBox.Show("Uspješno izdan račun");
                }
                PrikaziRacune();
            }
        }