private void DodajRadnikaNaProjekatForm_Load(object sender, EventArgs e)
        {
            ISession sesija = DataLayer.DataLayer.GetSession();
            this.projekat = sesija.Load<Projekat>(projekatForm.pid);

            IQuery sql3 = sesija.CreateQuery("FROM Zaposleni");
            IList<Zaposleni> zaposleni = sql3.List<Zaposleni>();

            ListViewItem red;

            foreach (Zaposleni zap in zaposleni)
            {
                red = new ListViewItem();

                red.SubItems.Add(zap.ZID.ToString());
                red.SubItems.Add(zap.ime);
                red.SubItems.Add(zap.prezime);
                red.Tag = zap.ZID;

                // Flag parsing
                if (zap.F_CS == 1) red.SubItems.Add("Da");
                else  red.SubItems.Add("Ne");
                if (zap.F_CPP == 1) red.SubItems.Add("Da");
                else red.SubItems.Add("Ne");
                if (zap.F_PHP == 1) red.SubItems.Add("Da");
                else red.SubItems.Add("Ne");
                if (zap.F_Java == 1) red.SubItems.Add("Da");
                else red.SubItems.Add("Ne");

                radnikList.Items.Add(red);
            }

            sesija.Close();
        }
Пример #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                Projekat proj = new Projekat();

                if (nazivProjekta.Text == "")
                    throw new Exception("Unesite ime projekta!");
                else
                    proj.ime = nazivProjekta.Text;
                proj.datumPocetka = datumOd.Value;
                proj.datumZavrsetka = datumDo.Value;

                // Insource projekat
                if (tipIzrade.SelectedIndex == 0)
                {
                    proj.izrada = "insource";

                    if (leaderList.SelectedIndex == -1)
                        throw new Exception("Izaberite vođu projekta");

                    var SefID = ((DropDownItem)leaderList.SelectedItem).NumVal;
                    var sef = sesija.Load<Zaposleni>(SefID);

                    Vodi vodi = new Vodi() { sef = sef, projekat = proj, vodiOd = vodiOdDatePicker.Value, vodiDo = vodiDoDatePicker.Value };
                    proj.vodi.Add(vodi);
                //    sesija.Save(vodi);
                }
                else if (tipIzrade.SelectedIndex == 1)
                {
                    proj.izrada = "outsource";
                    proj.nazivFirme = imeFirme.Text;
                    proj.adresaFirme = adresaFirme.Text;
                }
                else
                {
                    throw new Exception("Izaberite tip izrade!");
                }

                // Dodavanje radnika na projekat
                foreach (var selectedItem in radeNaProjektuList.Items)
                {
                    var radnikId = ((DropDownItem)selectedItem).NumVal;
                    Zaposleni radnik = sesija.Load<Zaposleni>(radnikId);
                    // Po defaultu svi radnici pri kreiranju projekta dobijaju da rade od pocetka do kraja na njemu
                    var radi = new RadiNa { projekat = proj, radnik = radnik, datum_pocetka = datumOd.Value, datum_zavrsetka = datumDo.Value };
                    proj.radnici.Add(radi);
                }

                sesija.Save(proj);

                // Commit and close
                sesija.Flush();
                sesija.Close();

                MessageBox.Show("Uspešno ste dodali novi projekat");

                SviProjektiForm pF = new SviProjektiForm();
                pF.MdiParent = this.MdiParent;
                pF.Show();

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                IQuery sql = sesija.CreateQuery("FROM Zaposleni as z WHERE z.pozicija LIKE ? ");
                sql.SetString(0, "%senior%");
                this.sefovi = sql.List<Zaposleni>();

                IQuery sql2 = sesija.CreateQuery("From Zaposleni");
                this.zaposleni = sql.List<Zaposleni>();

                // Ako je submitovana forma za unos
                if ( Request.ServerVariables["REQUEST_METHOD"] == "POST")
                {
                    // Form validation

                    var naziv = Request.Form["nazivProjekta"];
                    var izrada = Request.Form["izrada"];
                    DateTime datumPocetka = Convert.ToDateTime(Request.Form["datumPocetka"]);
                    DateTime datumZavrsetka = Convert.ToDateTime(Request.Form["datumZavrsetka"]);

                    Projekat proj = new Projekat() { ime = naziv, izrada = izrada, datumPocetka = datumPocetka, datumZavrsetka = datumZavrsetka  };

                    if (naziv.Length < 3) throw new Exception("Naziv projekta isuviše kratak");

                    // Dodavanje selektovanih radnika na projekat
                    var selRad = Request.Form["radniciProjekta"];

                    char[] delimiters = { ',' };
                    string[] selektovaniRadnici = selRad.Split(delimiters);

                    foreach (var radnikID in selektovaniRadnici)
                    {
                        var radnik = sesija.Load<Zaposleni>(Convert.ToInt32(radnikID));
                        // Po defaultu svi radnici pri kreiranju projekta dobijaju da rade od pocetka do kraja na njemu
                        var radi = new RadiNa { projekat = proj, radnik = radnik, datum_pocetka = datumPocetka, datum_zavrsetka = datumZavrsetka };
                        proj.radnici.Add(radi);
                    }

                    if (izrada == "insource")
                    {
                        var sefID = Convert.ToInt32(Request.Form["sef"]);
                        Zaposleni sef = sesija.Load<Zaposleni>(sefID);
                        DateTime vodiOd = Convert.ToDateTime(Request.Form["vodiOd"]);
                        DateTime vodiDo = Convert.ToDateTime(Request.Form["vodiDo"]);

                        Vodi vodi = new Vodi() { sef = sef, projekat = proj, vodiOd = vodiOd, vodiDo = vodiDo };
                        proj.vodi.Add(vodi);
                    }
                    else if (izrada == "outsource")
                    {
                        var nazivFirme = Request.Form["nazivFirme"];
                        var adresaFirme = Request.Form["adresaFirme"];
                        proj.nazivFirme = nazivFirme;
                        proj.adresaFirme = adresaFirme;
                    }
                    else
                    {
                        throw new Exception("Greška pri izboru tipa izrade");
                    }

                    sesija.Save(proj);
                    sesija.Flush();
                    sesija.Close();

                    Response.Redirect("/SviProjekti");
                }
                // Ako nije submitovana forma, prikazujemo formu
                else
                {

                }

                sesija.Flush();
                sesija.Close();

            }
            catch (Exception ex)
            {
                displayError = true;
                this.error.Controls.Add(new LiteralControl(ex.Message));
            }
        }
Пример #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                IQuery sql = sesija.CreateQuery("FROM Zaposleni as z WHERE z.pozicija LIKE ? ");
                sql.SetString(0, "%senior%");
                this.sefovi = sql.List <Zaposleni>();

                IQuery sql2 = sesija.CreateQuery("From Zaposleni");
                this.zaposleni = sql.List <Zaposleni>();


                // Ako je submitovana forma za unos
                if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
                {
                    // Form validation

                    var      naziv          = Request.Form["nazivProjekta"];
                    var      izrada         = Request.Form["izrada"];
                    DateTime datumPocetka   = Convert.ToDateTime(Request.Form["datumPocetka"]);
                    DateTime datumZavrsetka = Convert.ToDateTime(Request.Form["datumZavrsetka"]);

                    Projekat proj = new Projekat()
                    {
                        ime = naziv, izrada = izrada, datumPocetka = datumPocetka, datumZavrsetka = datumZavrsetka
                    };

                    if (naziv.Length < 3)
                    {
                        throw new Exception("Naziv projekta isuviše kratak");
                    }

                    // Dodavanje selektovanih radnika na projekat
                    var selRad = Request.Form["radniciProjekta"];

                    char[]   delimiters         = { ',' };
                    string[] selektovaniRadnici = selRad.Split(delimiters);

                    foreach (var radnikID in selektovaniRadnici)
                    {
                        var radnik = sesija.Load <Zaposleni>(Convert.ToInt32(radnikID));
                        // Po defaultu svi radnici pri kreiranju projekta dobijaju da rade od pocetka do kraja na njemu
                        var radi = new RadiNa {
                            projekat = proj, radnik = radnik, datum_pocetka = datumPocetka, datum_zavrsetka = datumZavrsetka
                        };
                        proj.radnici.Add(radi);
                    }

                    if (izrada == "insource")
                    {
                        var       sefID  = Convert.ToInt32(Request.Form["sef"]);
                        Zaposleni sef    = sesija.Load <Zaposleni>(sefID);
                        DateTime  vodiOd = Convert.ToDateTime(Request.Form["vodiOd"]);
                        DateTime  vodiDo = Convert.ToDateTime(Request.Form["vodiDo"]);

                        Vodi vodi = new Vodi()
                        {
                            sef = sef, projekat = proj, vodiOd = vodiOd, vodiDo = vodiDo
                        };
                        proj.vodi.Add(vodi);
                    }
                    else if (izrada == "outsource")
                    {
                        var nazivFirme  = Request.Form["nazivFirme"];
                        var adresaFirme = Request.Form["adresaFirme"];
                        proj.nazivFirme  = nazivFirme;
                        proj.adresaFirme = adresaFirme;
                    }
                    else
                    {
                        throw new Exception("Greška pri izboru tipa izrade");
                    }

                    sesija.Save(proj);
                    sesija.Flush();
                    sesija.Close();

                    Response.Redirect("/SviProjekti");
                }
                // Ako nije submitovana forma, prikazujemo formu
                else
                {
                }



                sesija.Flush();
                sesija.Close();
            }
            catch (Exception ex)
            {
                displayError = true;
                this.error.Controls.Add(new LiteralControl(ex.Message));
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                IQuery sql = sesija.CreateQuery("FROM Zaposleni as z WHERE z.pozicija LIKE ? ");
                sql.SetString(0, "%senior%");
                this.sefovi = sql.List<Zaposleni>();

                IQuery sql2 = sesija.CreateQuery("From Zaposleni");
                this.zaposleni = sql.List<Zaposleni>();

                int projID = Convert.ToInt32(Request.QueryString["pid"]);
                this.editProj = sesija.Load<Projekat>(projID);

                // Ako je submitovana forma za unos
                if ( Request.ServerVariables["REQUEST_METHOD"] == "POST")
                {
                    // Form validation

                    var naziv = Request.Form["nazivProjekta"];
                    var izrada = Request.Form["izrada"];
                    DateTime datumPocetka = Convert.ToDateTime(Request.Form["datumPocetka"]);
                    DateTime datumZavrsetka = Convert.ToDateTime(Request.Form["datumZavrsetka"]);

                    editProj.ime = naziv;
                    editProj.izrada = izrada;
                    editProj.datumPocetka = datumPocetka;
                    editProj.datumZavrsetka = datumZavrsetka;

                    if (naziv.Length < 3) throw new Exception("Naziv projekta isuviše kratak");

                    // Dodavanje selektovanih radnika na projekat

                    if (izrada == "insource")
                    {
                        var sefID = Convert.ToInt32(Request.Form["sef"]);
                        Zaposleni sef = sesija.Load<Zaposleni>(sefID);
                        DateTime vodiOd = Convert.ToDateTime(Request.Form["vodiOd"]);
                        DateTime vodiDo = Convert.ToDateTime(Request.Form["vodiDo"]);

                        Vodi vodi = new Vodi() { sef = sef, projekat = editProj, vodiOd = vodiOd, vodiDo = vodiDo };
                        editProj.vodi.Add(vodi);
                    }
                    else if (izrada == "outsource")
                    {
                        var nazivFirme = Request.Form["nazivFirme"];
                        var adresaFirme = Request.Form["adresaFirme"];
                        editProj.nazivFirme = nazivFirme;
                        editProj.adresaFirme = adresaFirme;
                    }
                    else
                    {
                        throw new Exception("Greška pri izboru tipa izrade");
                    }

                    sesija.Update(editProj);
                    sesija.Flush();
                    sesija.Close();

                    Response.Redirect("/SviProjekti");
                }
                // Ako nije submitovana forma, prikazujemo formu
                else
                {

                }

            }
            catch (Exception ex)
            {
                displayError = true;
                this.error.Controls.Add(new LiteralControl(ex.Message));
            }
        }
        public IzvjestajForma(Projekat pr)
        {
            InitializeComponent();

            projekat = pr;
            nazivProjektaLBL.Text  = pr.Naziv;
            datumKreiranjaLBL.Text = pr.DatumKreiranja.Value.ToString("dd/MM/yyyy");

            string sef = "";

            foreach (Ucesnik uc in pr.UcesniciNaProjektu.Keys)
            {
                if (pr.UcesniciNaProjektu[uc].Naziv.Equals("sef"))
                {
                    sef = uc.Ime + " " + uc.Prezime + " \"" + uc.KorisnickoIme + "\"";
                }
            }

            int procenatIzvrsenosti = 0, ukupnoPotrebnoCC = 0;

            foreach (Cjelina c in pr.Cjeline)
            {
                if (c.CjelinaRoditeljID == null)
                {
                    procenatIzvrsenosti += (int)(((double)c.ProcenatIzvrsenosti / 100.0) * c.BrojPotrebnihCovjekCasova);
                    ukupnoPotrebnoCC    += (int)c.BrojPotrebnihCovjekCasova;
                    Console.WriteLine("PI: " + procenatIzvrsenosti + " UK:" + ukupnoPotrebnoCC);
                }
            }
            int procenat = 0;

            if (ukupnoPotrebnoCC != 0)
            {
                procenat = (int)(((double)procenatIzvrsenosti / ukupnoPotrebnoCC) * 100);
            }

            procenatIzvrsenostiLBL.Text = procenat + "%";
            sefProjektaLBL.Text         = sef;

            foreach (Cjelina c in pr.Cjeline)
            {
                if (c.CjelinaRoditeljID == null)
                {
                    zadaciProcenatLVW.Items.Add(c.Naziv + " " + c.ProcenatIzvrsenosti + "%");
                }
            }

            foreach (Ucesnik uc in pr.UcesniciNaProjektu.Keys)
            {
                if (!pr.UcesniciNaProjektu[uc].Naziv.Equals("sef"))
                {
                    string uloga = "";
                    if (pr.UcesniciNaProjektu[uc].Naziv.Equals("nadzor"))
                    {
                        uloga = "Nadzor: ";
                    }
                    else
                    {
                        uloga = "Učesnik: ";
                    }
                    ucesniciLVW.Items.Add(uloga + uc.Ime + " " + uc.Prezime + " \"" + uc.KorisnickoIme + "\"");
                }
            }
            List <Aktivnost> aktivnosti = new List <Aktivnost>();

            foreach (Cjelina c in pr.Cjeline)
            {
                aktivnosti.AddRange(c.Aktivnosti);
            }

            double prihodi = 0;
            double rashodi = 0;

            foreach (Aktivnost a in aktivnosti)
            {
                foreach (Transakcija t in a.Transakcije)
                {
                    transakcije.Add(t);
                    string prihod_rashod = "";
                    if (t.PrihodRashod == true)
                    {
                        prihod_rashod = "Pridhod: ";
                        prihodi      += Convert.ToDouble(t.Iznos);
                    }
                    else
                    {
                        prihod_rashod = "Rashod: ";
                        rashodi      += Convert.ToDouble(t.Iznos);
                    }
                    prihodiRashodiLVW.Items.Add(t.DatumVrijeme.Value.ToString("dd/MM/yyyy") + " " + prihod_rashod + t.Iznos);
                }
            }

            razlikaFinansijskaLBL.Text = Convert.ToString(prihodi - rashodi);
        }
Пример #7
0
        public ServiceResult <ProjekatModel> Kreiraj(KreirajProjekatRequestModel model)
        {
            //model.KorisnickoIme = model.KorisnickoIme.Trim().ToLower();
            var trenutni = authService.TrenutniKorisnik();

            if (trenutni.TrenutnaUloga.VrijednostUAplikaciji != (int)Uloga.Administrator)
            {
                return(Error("Nemate pravo kreiranja projekta"));
            }

            if (context.Projekti.FirstOrDefault(x => x.Naziv == model.Naziv) != null)
            {
                return(Error("Projekat pod tim imenom već postoji."));
            }

            if (string.IsNullOrEmpty(model.Naziv))
            {
                return(Error("Polje naziv projekta ne može biti prazno"));
            }

            /*var trenutni = authService.TrenutniKorisnik();
             *
             *
             * var hashProvider = Scope.Resolve<IHashProvider>();
             * var tajna = hashProvider.HashPassword(model.Lozinka);*/

            Projekat projekat = new Projekat();

            projekat.Naziv          = model.Naziv;
            projekat.Opis           = model.Opis;
            projekat.DatumKreiranja = DateTime.Now;

            #region ProjekatKonfiguracija
            ProjekatKonfiguracija projekatKonfiguracija = new ProjekatKonfiguracija();
            projekatKonfiguracija.RadnoVrijemeOd = new TimeSpan(8, 0, 0);
            projekatKonfiguracija.RadnoVrijemeDo = new TimeSpan(16, 0, 0);
            projekatKonfiguracija.RadniDani      = "1111100";

            projekat.ProjekatKonfiguracija = projekatKonfiguracija;
            #endregion

            #region Prioriteti zahtjeva
            ZahtjevPrioritet zahtjevPrioritetNizak = new ZahtjevPrioritet();
            zahtjevPrioritetNizak.Default = false;
            zahtjevPrioritetNizak.Naziv   = "Nizak";
            zahtjevPrioritetNizak.Poredak = 2;


            ZahtjevPrioritet zahtjevPrioritetSrednji = new ZahtjevPrioritet();
            zahtjevPrioritetSrednji.Default = true;
            zahtjevPrioritetSrednji.Naziv   = "Srednji";
            zahtjevPrioritetSrednji.Poredak = 1;

            ZahtjevPrioritet zahtjevPrioritetVisok = new ZahtjevPrioritet();
            zahtjevPrioritetVisok.Default = false;
            zahtjevPrioritetVisok.Naziv   = "Visok";
            zahtjevPrioritetVisok.Poredak = 0;

            projekat.PrioritetiZahtjeva = new List <ZahtjevPrioritet>();
            projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetNizak);
            projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetSrednji);
            projekat.PrioritetiZahtjeva.Add(zahtjevPrioritetVisok);
            #endregion
            #region Tipovi zahtjeva

            ZahtjevTip zahtjevTipBug = new ZahtjevTip();
            zahtjevTipBug.Default = false;
            zahtjevTipBug.Naziv   = "Bug";


            ZahtjevTip zahtjevTipZahtjev = new ZahtjevTip();
            zahtjevTipZahtjev.Default = true;
            zahtjevTipZahtjev.Naziv   = "Zahtjev";

            ZahtjevTip zahtjevTipZadatak = new ZahtjevTip();
            zahtjevTipZadatak.Default = false;
            zahtjevTipZadatak.Naziv   = "Zadatak";

            ZahtjevTip zahtjevTipPrica = new ZahtjevTip();
            zahtjevTipPrica.Default = false;
            zahtjevTipPrica.Naziv   = "Prica";

            projekat.TipoviZahtjeva = new List <ZahtjevTip>();
            projekat.TipoviZahtjeva.Add(zahtjevTipBug);
            projekat.TipoviZahtjeva.Add(zahtjevTipZahtjev);
            projekat.TipoviZahtjeva.Add(zahtjevTipZadatak);
            projekat.TipoviZahtjeva.Add(zahtjevTipPrica);

            #endregion
            #region StatusiZahtjeva

            ZahtjevStatus zahtjevStatusZavrsen = new ZahtjevStatus();
            zahtjevStatusZavrsen.Default = false;
            zahtjevStatusZavrsen.Naziv   = "Završen";
            zahtjevStatusZavrsen.Oznaka  = (int)OznakeStatusa.Done;
            zahtjevStatusZavrsen.Poredak = 2;


            ZahtjevStatus zahtjevStatusRadiSe = new ZahtjevStatus();
            zahtjevStatusRadiSe.Default = false;
            zahtjevStatusRadiSe.Naziv   = "Radi se";
            zahtjevStatusRadiSe.Oznaka  = (int)OznakeStatusa.InProgress;
            zahtjevStatusRadiSe.Poredak = 1;



            ZahtjevStatus zahtjevStatusPotrebnoUraditi = new ZahtjevStatus();
            zahtjevStatusPotrebnoUraditi.Default = true;
            zahtjevStatusPotrebnoUraditi.Naziv   = "Potrebno uraditi";
            zahtjevStatusPotrebnoUraditi.Oznaka  = (int)OznakeStatusa.ToDo;
            zahtjevStatusPotrebnoUraditi.Poredak = 0;



            projekat.StatusiZahtjeva = new List <ZahtjevStatus>();
            projekat.StatusiZahtjeva.Add(zahtjevStatusZavrsen);
            projekat.StatusiZahtjeva.Add(zahtjevStatusRadiSe);
            projekat.StatusiZahtjeva.Add(zahtjevStatusPotrebnoUraditi);
            #endregion

            DioProjekta dioProjekta = new DioProjekta();
            dioProjekta.Naziv = "Osnovni";

            #region KategorijeZahtjeva
            ZahtjevKategorija zahtjevKategorija = new ZahtjevKategorija();
            zahtjevKategorija.Naziv = "Osnovna";

            /*ZahtjevKategorija zahtjevKategorijaNeodredjena = new ZahtjevKategorija();
             * zahtjevKategorijaNeodredjena.Naziv = "Neodređena";
             *
             *
             * ZahtjevKategorija zahtjevKategorijaSporedna = new ZahtjevKategorija();
             * zahtjevKategorijaSporedna.Naziv = "Sporedna";*/

            dioProjekta.KategorijeZahtjeva = new List <ZahtjevKategorija>();

            dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorija);

            /*dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorijaNeodredjena);
             * dioProjekta.KategorijeZahtjeva.Add(zahtjevKategorijaSporedna);*/

            #endregion

            projekat.DijeloviProjekta = new List <DioProjekta>();
            projekat.DijeloviProjekta.Add(dioProjekta);

            context.Add(dioProjekta);

            context.Add(projekat);

            SaveChanges(context);

            return(VratiProjekatPoNazivu(projekat.Naziv));
        }
Пример #8
0
        private void EditProject(object param)
        {
            Projekat projekat = (Projekat)param;

            this.parentAppVM.ChangeViewModel(new EditProjectViewModel(this.parentAppVM, projekat));
        }
Пример #9
0
        // --- Ubacivanje podataka o Projektu u bazi ---
        private void BtnSubmitDataPoject_Click(object sender, EventArgs e)
        {
            string imeProjekta  = this.TbImeProjekta.Text;
            string rokZavrsetka = this.DatePicker.Text;

            // --- Izvlacimo podatke iz listView-a ----
            string lista = "";

            foreach (ListViewItem lvi in LvPJezikZnanje.Items)
            {
                lista += lvi.Text + " " + lvi.SubItems[1].Text + ",";
            }
            lista.TrimEnd(',');
            string listaRazvojaRadnika = "";

            foreach (ListViewItem lvi in LvRazvojBrojRadnika.Items)
            {
                listaRazvojaRadnika += lvi.Text + " " + lvi.SubItems[1].Text + ",";
            }
            listaRazvojaRadnika = listaRazvojaRadnika.TrimEnd(',');

            // --- Provera ispravnosti ---
            if (String.IsNullOrWhiteSpace(imeProjekta))
            {
                MessageBox.Show("Napisite ime projekta!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(rokZavrsetka))
            {
                MessageBox.Show("Datum kraja roka nije korektan!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(lista))
            {
                MessageBox.Show("Lista potrebnih ljudi sa iskustvom je prazna!");
                return;
            }
            else if (String.IsNullOrWhiteSpace(listaRazvojaRadnika))
            {
                MessageBox.Show("Lista potrebnih ljudi iz razvoja je prazna!");
                //return;
            }

            // --- Preciscavanje teksta ---
            imeProjekta = checkString(imeProjekta);

            Projekat noviProjekat = new Projekat();

            noviProjekat.Ime                       = imeProjekta;
            noviProjekat.Rok_zavrsetka             = rokZavrsetka;
            noviProjekat.Potrebno_iskustvo         = lista;
            noviProjekat.Potrebni_ljudi_iz_razvoja = listaRazvojaRadnika;
            //noviProjekat.Radnici_angazovani_na_projektu = "IDRadnika Ime Prezime, IDRadnika Ime Prezime,...."

            try
            {
                // --- Ubacivanje Projekta u bazi (pravi duplikate za isti projekat) ---

                /*client.Cypher
                 * .Create("(projekat:Projekat {noviProjekat})")
                 * .WithParam("noviProjekat", noviProjekat)
                 * .ExecuteWithoutResults();*/

                // --- Ubacivanje Razvoja u bazi, ukoliko isti ne postoji ---
                // NEMA FEEDBACK UKOLIKO ISTI RAZVOJ POSTOJI
                client.Cypher
                .Merge("(projekat:Projekat { Ime: {Ime} })")
                .OnCreate()
                .Set("projekat = {noviProjekat}")
                .WithParams(new
                {
                    Ime = noviProjekat.Ime,
                    noviProjekat
                })
                .ExecuteWithoutResults();

                this.TbImeProjekta.Text = "";

                MessageBox.Show("Uspesno kreiran novi Projekat!");
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.ToString());
            }

            MessageBox.Show("Uspesno kreiran projekat!");
        }
Пример #10
0
        private void IzmeniProjekatForm_Load(object sender, EventArgs e)
        {
            // Inicijalno ucitavanje projekta
            ISession sesija = DataLayer.DataLayer.GetSession();
            Projekat proj   = sesija.Load <Projekat>(pid);

            try
            {
                // Ucitavanje svih sefova za dropdown list
                IQuery sql = sesija.CreateQuery("FROM Zaposleni as z WHERE z.pozicija LIKE ? ");
                sql.SetString(0, "%senior%");
                IList <Zaposleni> seniori = sql.List <Zaposleni>();

                // Ispisivanje svih sefova u dropdown list
                foreach (Zaposleni senior in seniori)
                {
                    leaderList.Items.Add(new DropDownItem(senior.ime + " " + senior.prezime, senior.ZID.ToString()));
                }

                foreach (var red in proj.radnici)
                {
                    listRadnika.Items.Add(new DropDownItem(red.radnik.ime + " " + red.radnik.prezime, red.radnik.ZID.ToString()));
                }
                // Datumi
                datumOd.Value = proj.datumPocetka;
                datumDo.Value = proj.datumZavrsetka;


                // Postavljanje imena projekta
                nazivProjekta.Text = proj.ime;

                // Selektovanje tipa izrade
                if (proj.izrada == "insource")
                {
                    tipIzrade.SelectedIndex = 0;

                    // Trenutni sef projekta
                    Zaposleni leader = proj.trenutniLeader.sef;

                    // Datumi
                    vodiOdDatePicker.Value = proj.vodi[0].vodiOd;
                    vodiDoDatePicker.Value = proj.vodi[0].vodiDo;

                    // Selektovanje trenutnog sefa
                    leaderList.SelectedIndex = leaderList.FindStringExact(leader.ime + " " + leader.prezime);
                }
                else if (proj.izrada == "outsource")
                {
                    tipIzrade.SelectedIndex = 1;
                    imeFirme.Text           = proj.nazivFirme;
                    adresaFirme.Text        = proj.adresaFirme;
                }
                else
                {
                    throw new Exception("Pogresan tip projekta");
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
            sesija.Close();
        }
Пример #11
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                Projekat projekat = sesija.Load <Projekat>(pid);

                projekat.ime            = nazivProjekta.Text;
                projekat.datumPocetka   = datumOd.Value;
                projekat.datumZavrsetka = datumDo.Value;

                // Ako je insource
                if (tipIzrade.SelectedIndex == 0)
                {
                    projekat.izrada = "insource";

                    var SefID = ((DropDownItem)leaderList.SelectedItem).NumVal;
                    var sef   = sesija.Load <Zaposleni>(SefID);

                    // Uzima zadnji zapis o vodjenju projekta
                    IQuery sql = sesija.CreateQuery("FROM Vodi as v WHERE v.projekat = ? ORDER BY LOCID DESC");
                    sql.SetInt32(0, pid);

                    // Trenutni lider projekta
                    IList <Vodi> vodiAtm = sql.List <Vodi>();

                    // Submitovan objekat Vodi
                    Vodi newVodi = new Vodi()
                    {
                        sef = sef, projekat = projekat, vodiOd = vodiOdDatePicker.Value, vodiDo = vodiDoDatePicker.Value
                    };

                    // Ako postoji vec zapis za ovaj projekat
                    if (vodiAtm.Count > 0)
                    {
                        // Ako je ovaj sef poslednji vodio ovaj projekat, samo ga update
                        if (vodiAtm[0].sef.ZID == SefID)
                        {
                            vodiAtm[0].vodiOd = vodiOdDatePicker.Value;
                            vodiAtm[0].vodiDo = vodiDoDatePicker.Value;
                            sesija.Update(vodiAtm[0]);
                        }
                        // Ako je ovaj sef vec vodio ovaj projekat, a ne vodi ga trenutno, dodaj novi zapis
                        else
                        {
                            sesija.Save(newVodi);
                        }
                    }
                    // Ako prvi put vodi ovaj projekat, napravi novi zapis
                    else
                    {
                        sesija.Save(newVodi);
                    }

                    // Brisanje starih zapisa o outsource projektu ( u slucaju da projekat menja tip )
                    projekat.nazivFirme  = null;
                    projekat.adresaFirme = null;
                }
                // Ako je outsource
                else if (tipIzrade.SelectedIndex == 1)
                {
                    projekat.izrada      = "outsource";
                    projekat.nazivFirme  = imeFirme.Text;
                    projekat.adresaFirme = adresaFirme.Text;

                    // Brisanje starih zapisa o insource projektu ( u slucaju da projekat menja tip )
                    projekat.vodi = null;

                    sesija.SaveOrUpdate(projekat);
                }

                sesija.Flush();
                sesija.Close();

                // Reload main form
                ((SviProjektiForm)this.sviProjekti).loadFormData();
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #12
0
        //top bar list view
        private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListView lv = sender as ListView;

            if (lv.SelectedIndex != -1)
            {
                ListViewItem li = lv.SelectedItem as ListViewItem;
                switch (li.Name)
                {
                case "RefreshTable":
                    //background worker
                    RadSaBazom.RefreshTabele.RunWorkerAsync();

                    //Projekat proj = ((ApplicationViewModel)this.DataContext).TrenutniProjekat;
                    ////prvo bi trebalo da pogleda logove i ako je bilo promena onda tek da uradi refresh
                    //proj.TabelaProjekta = new Tabela(proj.Ime, proj.Opis, proj.Id);
                    //Grid gr = TabelaCrtac.InvokeNacrtaj(((ApplicationViewModel)this.DataContext).TrenutniProjekat.TabelaProjekta, ((ApplicationViewModel)this.DataContext));
                    ////this.parentAppVM.AppView.ProjekatDugmiciManage(true, "create");
                    //((ApplicationViewModel)this.DataContext).AppView.SetContent(gr);
                    break;

                case "Notifications":
                    //List<String> Obavestenja = ((ApplicationViewModel)this.DataContext).TrenutniProjekat.UcitajIstorijuIzmena(frm.Tip, int.Parse(frm.BrojPromena.ToString()));
                    //Notifications ipv = new Notifications();
                    //ipv.DataContext = Obavestenja;
                    //ipv.ShowDialog();
                    break;

                case "SaveAsTemplate":
                    Projekat temp = ((ApplicationViewModel)this.DataContext).TrenutniProjekat;
                    if (temp.Id != 0)
                    {
                        try
                        {
                            PProjekat.SacuvajKaoTemplejt(temp.Id, temp.Ime, temp.Opis);
                            try
                            {
                                System.Windows.MessageBox.Show(PPoruka.VratiPrevod("TMP_S"));
                            }
                            catch (Oracle.ManagedDataAccess.Client.OracleException er)
                            {
                                System.Windows.MessageBox.Show("Templejt uspesno snimljen.");
                            }
                        }
                        catch (OracleException oraError)
                        {
                            try
                            {
                                System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                            }
                            catch (OracleException err)
                            {
                                System.Windows.MessageBox.Show("Greska");
                            }
                        }
                        catch (System.Exception error)
                        {
                            System.Windows.MessageBox.Show("Greska");
                        }
                    }
                    else
                    {
                        PProjekat.SacuvajKaoTemplejt(temp.Id, temp.Ime, temp.Opis);
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod("MUST_S_P"));
                        }
                        catch (Oracle.ManagedDataAccess.Client.OracleException er)
                        {
                            System.Windows.MessageBox.Show("Morate snimiti projekat.");
                        }
                    }
                    break;

                case "Done":
                    try
                    {
                        RadSaBazom.KreirajProjekat(((ApplicationViewModel)this.DataContext).TrenutniProjekat);
                        try
                        {
                            System.Windows.MessageBox.Show(PPoruka.VratiPrevod("P_SUC_C"));
                        }
                        catch (OracleException er)
                        {
                            System.Windows.MessageBox.Show("Projekat uspesno kreiran");
                        }
                    }
                    catch (OracleException oraError)
                    {
                        System.Windows.MessageBox.Show(PPoruka.VratiPrevod(oraError.Number.ToString()));
                    }

                    break;

                case "History":
                    IzborIstorijeIzmena frm = new IzborIstorijeIzmena();
                    if (frm.ShowDialog() == true)
                    {
                        // refreshuje se lista izmena
                        if (int.Parse(frm.BrojPromena.ToString()) != 0)
                        {
                            List <String>       Izmene = ((ApplicationViewModel)this.DataContext).TrenutniProjekat.UcitajIstorijuIzmena(frm.Tip, int.Parse(frm.BrojPromena.ToString()));
                            IstorijaPromenaView ipv    = new IstorijaPromenaView();
                            ipv.DataContext = Izmene;
                            ipv.ShowDialog();
                        }
                        else
                        {
                            try
                            {
                                MessageBox.Show(PPoruka.VratiPrevod("WR_INPUT"));
                            }
                            catch (Exception er)
                            {
                                MessageBox.Show("Neispravan unos.");
                            }
                        }
                    }

                    break;

                default:
                    MessageBox.Show("" + li.Name);
                    break;
                }
                lv.SelectedIndex = -1;
            }
        }