/// <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!");
                }
            }
        }
        /// <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!");
            }
        }
        /// <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");
                        }
                    }
                }
            }
        }
        /// <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);
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// Provjerava se ako označeni materijal nije u listi već dodanog materijala
        /// dodaje se u listu materijala faze(kako se opet ne bi mogao dodati) i
        /// ako je odabrana količina manja od one na skladištu stvara se stavka materijala
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dodajMaterijalButton_Click(object sender, EventArgs e)
        {
            Materijal selektiranMaterijal = materijalBindingSource.Current as Materijal;

            if (selektiranMaterijal != null && listaM.SingleOrDefault(x => x.materijalId == selektiranMaterijal.materijalId) == null)
            {
                if (selektiranMaterijal.kolicina > (int)numKolicina.Value)
                {
                    listaM.Add(selektiranMaterijal);
                    using (var db = new UpravljanjeProjektimaEntities())
                    {
                        Faza_ima_materijal noviMaterijalFaza = new Faza_ima_materijal
                        {
                            id          = odabranaFazaProjekta.id,
                            materijalId = selektiranMaterijal.materijalId,
                            kolicina    = (int)numKolicina.Value,
                        };
                        db.Faza_ima_materijal.Add(noviMaterijalFaza);
                        db.SaveChanges();
                    }
                    MessageBox.Show("Uspješno dodan materijal");
                }
                else
                {
                    MessageBox.Show("Nema toliko traženog materijala na skladištu");
                }
            }
            else
            {
                MessageBox.Show("Taj materijal je već dodan na fazu!");
            }
            PrikaziMaterijal();
        }
Exemple #6
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();
            }
        }
Exemple #7
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!");
            }
        }
Exemple #8
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();
                }
            }
        }
 /// <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");
 }