Пример #1
0
        /// <summary>
        /// Briše se materijal sa odabrane faze odabranog projekta ako ta faza nije zaključana ili
        /// ako za projekt nije izdan račun
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void brisiMaterijalButton_Click(object sender, EventArgs e)
        {
            Faza_ima_materijal selektiranaFazaImaMaterijal = fazaimamaterijalBindingSource.Current as Faza_ima_materijal;
            Projekt            selektiraniProjekt          = projektBindingSource.Current as Projekt;

            if (selektiraniProjekt.gotovo != 1)
            {
                if (selektiranaFazaImaMaterijal != null)
                {
                    if (selektiranaFazaImaMaterijal.Faze_projekta.zakljucano == 0)
                    {
                        using (var db = new UpravljanjeProjektimaEntities())
                        {
                            db.Faza_ima_materijal.Attach(selektiranaFazaImaMaterijal);
                            db.Faza_ima_materijal.Remove(selektiranaFazaImaMaterijal);
                            db.SaveChanges();
                        }
                        PrikaziMaterijal();
                    }
                    else
                    {
                        MessageBox.Show("Materijal pripada zaključanoj fazi, nije moguće brisati");
                    }
                }
            }
            else
            {
                MessageBox.Show("Projekt je završen!");
            }
        }
Пример #2
0
        /// <summary>
        /// Briše se faza samo ako nije zaključana i ako za projekt nije izdan račun
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void brisiFazuButton_Click(object sender, EventArgs e)
        {
            Projekt selektiraniProjekt = projektBindingSource.Current as Projekt;

            if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
            {
                if (selektiraniProjekt.gotovo != 1)
                {
                    Faze_projekta selektiranaFazaProjekta = vratiFazuProjekta(0);
                    if (selektiranaFazaProjekta.zakljucano == 0)
                    {
                        using (var db = new UpravljanjeProjektimaEntities())
                        {
                            db.Faze_projekta.Attach(selektiranaFazaProjekta);
                            db.Faze_projekta.Remove(selektiranaFazaProjekta);
                            db.SaveChanges();
                        }
                        MessageBox.Show("Uspješno obrisana faza");
                    }
                    else
                    {
                        MessageBox.Show("Faza je zaključana, nije moguće brisati zaključane faze");
                    }
                    PrikaziFaze(projektBindingSource.Current as Projekt);
                }
                else
                {
                    MessageBox.Show("Projekt je završen!");
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Ako se potvri poruka pokreće se projekt, postavlja se datum početka na trenutni datum,
        /// ažurira se datum završetka prema potrebnom vremenu i datumu početka, postavlja se aktivan na 1
        /// Projekt se neć pokrenuti ako nema faza na sebi
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void pokreniProjektButton_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 UpravljanjeProjektimaEntities())
                    {
                        db.Projekt.Attach(selektiraniProjekt);
                        if (selektiraniProjekt.aktivan == 0 && selektiraniProjekt.Faze_projekta.Count > 0)
                        {
                            selektiraniProjekt.aktivan       = 1;
                            selektiraniProjekt.datum_pocetka = DateTime.Today;
                            DateTime datum = DateTime.Today;
                            selektiraniProjekt.datum_zavrsetka = datum.AddDays((double)selektiraniProjekt.potrebno_vrijeme);
                            db.SaveChanges();
                            PrikaziProjekte();
                        }
                        else
                        {
                            MessageBox.Show("Projekt je već pokrenut ili nema postavljenih faza");
                        }
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Metoda koja vraća fazu_projekta prema označenom projektu i fazi
        /// koristi parametar za kontrolu povratne informacije, 1 vraća prvi pronađeni element
        /// 0 vraća zadnji pronađeni element. Koriste se lista faza_projekta dobivenih iz
        /// navigacijskog svojstva projekta i lista od navigacijskog od faze
        /// traže se zajedničke faze_projekta, a važno je koja se vraća zbog
        /// mogućnosti postojanja istih faza na jednom projektu,
        /// ako se briše šalje se 0, a ako se dodaje i prikazuje materijal 1
        /// </summary>
        /// <param name="kontroler"></param>
        /// <returns></returns>
        private Faze_projekta vratiFazuProjekta(int kontroler)
        {
            Faza          selektiranaFaza    = fazaBindingSource.Current as Faza;
            Projekt       selektiraniProjekt = projektBindingSource.Current as Projekt;
            Faze_projekta vrati = null;

            if (selektiranaFaza != null && selektiraniProjekt != null)
            {
                using (var db = new UpravljanjeProjektimaEntities())
                {
                    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);
        }
Пример #5
0
        /// <summary>
        /// Briše se projekt ako nema dodijeljenih faza, osvježavaju se datagridview-ovi
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void brisiProjektButton_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 UpravljanjeProjektimaEntities())
                    {
                        db.Projekt.Attach(selektiraniProjekt);
                        if (selektiraniProjekt.Faze_projekta.Count == 0)
                        {
                            db.Projekt.Remove(selektiraniProjekt);
                            db.SaveChanges();
                        }
                        else
                        {
                            MessageBox.Show("Nije moguće obrisati projekt koji sadrži faze");
                        }
                    }
                    PrikaziProjekte();
                    PrikaziFaze(projektBindingSource.Current as Projekt);
                }
            }
        }
Пример #6
0
 public PopisFazaForm(Projekt projekt, BindingList <Faza> lista, int id)
 {
     InitializeComponent();
     odabraniProjekt = projekt;
     listaFaza       = lista;
     tipKorisnika    = id;
 }
Пример #7
0
        /// <summary>
        /// Otvara novu formu za izmjenu projekta i prosljeđuje
        /// označeni projekt
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void izmjeniProjektButton_Click(object sender, EventArgs e)
        {
            Projekt selektiraniProjekt = projektBindingSource.Current as Projekt;

            if (selektiraniProjekt != null)
            {
                NoviProjektForm noviProjektforma = new NoviProjektForm(selektiraniProjekt);
                noviProjektforma.ShowDialog();
                PrikaziProjekte();
            }
        }
Пример #8
0
        /// <summary>
        /// Otvara se forma s izbornikom faza, prosljeđuje se odabrani projekt i lista njegovih faza,
        /// zatvaranjem otvorene forme osvježavaju se datagridview-ovi
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dodajFazuButton_Click(object sender, EventArgs e)
        {
            Projekt            selektiraniProjekt = projektBindingSource.Current as Projekt;
            BindingList <Faza> listaFaza          = (BindingList <Faza>)fazaBindingSource.DataSource;

            if (selektiraniProjekt != null)
            {
                PopisFazaForm popisFazaforma = new PopisFazaForm(selektiraniProjekt, listaFaza, tipKorisnika);
                popisFazaforma.ShowDialog();
                PrikaziFaze(selektiraniProjekt);
                PrikaziProjekte();
            }
        }
Пример #9
0
        /// <summary>
        /// Mateoda za prikazivanje faza označenog projekta, radi se preko faza_projekta(veza između projekta i faze)
        /// </summary>
        /// <param name="projekt"></param>
        private void PrikaziFaze(Projekt projekt)
        {
            fazeDataGridView.Rows.Clear();
            if (projekt != null)
            {
                List <Faze_projekta> listaFaze_projekta = null;
                BindingList <Faza>   listaFaza          = new BindingList <Faza>();
                using (var db = new UpravljanjeProjektimaEntities())
                {
                    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;
            }
        }
Пример #10
0
        /// <summary>
        /// Otvara se nova forma za unos novog materijala samo ako nije izdan račun za projekt,
        /// prosljeđuje se odabrana faza i lista već dodanog materijala
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dodajMaterijalButton_Click(object sender, EventArgs e)
        {
            Faza    selektiranaFaza    = fazaBindingSource.Current as Faza;
            Projekt selektiraniProjekt = projektBindingSource.Current as Projekt;
            BindingList <Materijal> listaMaterijala = (BindingList <Materijal>)materijalBindingSource.DataSource;

            if (selektiraniProjekt.gotovo != 1)
            {
                Faze_projekta selektiranaFazaProjekta = vratiFazuProjekta(1);
                if (selektiranaFazaProjekta != null)
                {
                    PopisMaterijalaForm materijaliForma = new PopisMaterijalaForm(selektiranaFazaProjekta, listaMaterijala);
                    materijaliForma.ShowDialog();
                    PrikaziProjekte();
                }
            }
            else
            {
                MessageBox.Show("Projekt je završen!");
            }
        }
Пример #11
0
 /// <summary>
 /// Ako je novi projekt, stvara se objekt i dodaijeljuju se početne vrijednosti
 /// ako je izmjena mijenjaju se samo vrijednosti za koje postoje kontrole na formi
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void spremiButton_Click(object sender, EventArgs e)
 {
     if (odabraniProjekt == null)
     {
         using (var db = new UpravljanjeProjektimaEntities())
         {
             Projekt noviProjekt = new Projekt
             {
                 ime              = tboxNaziv.Text,
                 datum_pocetka    = dtDatum.Value,
                 partnerId        = int.Parse(cboxPartner.SelectedValue.ToString()),
                 aktivan          = 0,
                 gotovo           = 0,
                 ukupna_cijena    = 0,
                 cijena_bez_pdv   = 0,
                 iznos_pdv        = 0,
                 datum_zavrsetka  = null,
                 korisnikId       = idKorisnik,
                 potrebno_vrijeme = 0,
                 kod              = GenerirajKod(6),
             };
             db.Projekt.Add(noviProjekt);
             db.SaveChanges();
         }
     }
     else
     {
         using (var db = new UpravljanjeProjektimaEntities())
         {
             db.Projekt.Attach(odabraniProjekt);
             odabraniProjekt.ime           = tboxNaziv.Text;
             odabraniProjekt.datum_pocetka = dtDatum.Value;
             odabraniProjekt.partnerId     = int.Parse(cboxPartner.SelectedValue.ToString());
             db.SaveChanges();
         }
     }
     MessageBox.Show("Uspješno dodan projekt");
 }
Пример #12
0
 public NoviProjektForm(Projekt projekt)
 {
     InitializeComponent();
     odabraniProjekt = projekt;
 }