示例#1
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);
        }
示例#2
0
        //private void zamijeniQRKod(string sifra)
        //{
        //    generirajQRKod(sifra);

        //    if (File.Exists(staroImeFaze + ".jpeg"))
        //    {
        //        File.Delete(staroImeFaze + ".jpeg");
        //    }
        //}

        /// <summary>
        /// Ako je novi unos onda se stvara novi objekt i generira se QR kod,
        /// ako je izmjena onda se mijenjaju podaci
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dodajFazuButton_Click(object sender, EventArgs e)
        {
            if (odabranaFaza == null)
            {
                string sifra;
                using (var db = new UpravljanjeProjektimaEntities())
                {
                    Faza novaFaza = new Faza
                    {
                        naziv    = tboxNaziv.Text,
                        cijena   = numCijena.Value,
                        trajanje = (int)numTrajanje.Value,
                    };
                    db.Faza.Add(novaFaza);
                    db.SaveChanges();

                    sifra = novaFaza.fazaId.ToString();
                }
                generirajQRKod(sifra);
            }
            else
            {
                using (var db = new UpravljanjeProjektimaEntities())
                {
                    db.Faza.Attach(odabranaFaza);
                    odabranaFaza.naziv    = tboxNaziv.Text.ToString();
                    odabranaFaza.cijena   = numCijena.Value;
                    odabranaFaza.trajanje = (int)numTrajanje.Value;
                    db.SaveChanges();
                }
                Close();
            }
        }
示例#3
0
        /// <summary>
        /// Dodaje se faza na prosljeđeni projekt ako za projekt nije izdan račun
        /// stvara se novi objekt faza_projekta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dodajFazuButton_Click(object sender, EventArgs e)
        {
            Faza selektiranaFaza = fazaBindingSource.Current as Faza;

            if (odabraniProjekt.gotovo != 1)
            {
                using (var db = new UpravljanjeProjektimaEntities())
                {
                    //db.Faza.Attach(selektiranaFaza);
                    //db.Projekt.Attach(odabraniProjekt);
                    Faze_projekta novaFazaProjekta = new Faze_projekta
                    {
                        fazaId     = selektiranaFaza.fazaId,
                        projektId  = odabraniProjekt.projektId,
                        zakljucano = 0,
                    };
                    db.Faze_projekta.Add(novaFazaProjekta);
                    db.SaveChanges();
                }
                MessageBox.Show("Uspješno dodana faza");
            }
            else
            {
                MessageBox.Show("Projekt je završen!");
            }
        }
示例#4
0
        /// <summary>
        /// Briše se odabrana faza ako se potvrdi poruka i ako baza ne vrati iznimku
        /// zbog referencijalnog integriteta koja se obrađuje sa try catch
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void obrisiFazuButton_Click(object sender, EventArgs e)
        {
            Faza selektiranaFaza = fazaBindingSource.Current as Faza;

            if (selektiranaFaza != null)
            {
                if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    using (var db = new UpravljanjeProjektimaEntities())
                    {
                        db.Faza.Attach(selektiranaFaza);
                        db.Faza.Remove(selektiranaFaza);
                        try
                        {
                            db.SaveChanges();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Nije moguće izbrisati fazu koja se koristis");
                        }
                    }
                    PrikaziFaze();
                }
            }
        }
示例#5
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!");
            }
        }
示例#6
0
 public NovaFazaForm(Faza faza)
 {
     InitializeComponent();
     odabranaFaza = faza;
 }