コード例 #1
0
        public int UpdateRadiNa(int id, RadiNa r)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                IQuery query = s.CreateQuery("select r from RadiNa r where r.RadiNaId = " + id);
                RadiNa radn  = query.UniqueResult <RadiNa>();

                radn.DatumDo = r.DatumDo;
                radn.DatumOd = r.DatumOd;

                s.SaveOrUpdate(radn);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception exc)
            {
                System.Windows.Forms.MessageBox.Show(exc.Message);
                return(-1);
            }
        }
コード例 #2
0
        private void addBtn_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                var skip = 0;

                foreach (ListViewItem red in radnikList.SelectedItems)
                {
                    foreach(var outerRed in projekatForm.listRadnika.Items)
                    {
                        if( ((DropDownItem)outerRed).NumVal == (int) red.Tag )
                            skip = 1;
                    }
                    if ( skip == 0 )
                    {
                        Zaposleni radnik = sesija.Load<Zaposleni>(red.Tag);
                        projekatForm.listRadnika.Items.Add(new DropDownItem(radnik.ime + " " + radnik.prezime, radnik.ZID.ToString() ));
                        var proj = sesija.Load<Projekat>(projekatForm.pid);
                        RadiNa radi = new RadiNa() { radnik = radnik, projekat = proj, datum_pocetka = datumOdPicker.Value, datum_zavrsetka = datumDoPicker.Value};
                        sesija.Save(radi);
                    }
                    skip = 0;
                }
                sesija.Flush();
                sesija.Close();
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #3
0
        public RadiNaView GetRadiNa(int id)
        {
            ISession   s    = DataLayer.GetSession();
            RadiNa     rn   = s.Query <RadiNa>().Where(e => e.RadiNaId == id).Select(p => p).FirstOrDefault();
            RadiNaView radi = new RadiNaView(rn);

            return(radi);
        }
コード例 #4
0
 public RadiNaView(RadiNa rn)
 {
     this.RadiNaId  = rn.RadiNaId;
     this.DatumOd   = rn.DatumOd;
     this.DatumDo   = rn.DatumDo;
     this.Deonica   = rn.Deonice.IdDeonice;
     this.Izvrsilac = rn.Izvrsioci.Ime;
 }
コード例 #5
0
 public IActionResult IzmeniRadiNa([FromBody] RadiNa radiNa)
 {
     try
     {
         DataLayer.DataProvider.IzmeniRadiNa(radiNa);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.ToString()));
     }
 }
コード例 #6
0
        public static void DodajProjekatZaposlenom(int idProjekta, int idZaposlenog, RadiNa radiNa)
        {
            /*MATCH (a:Zaposleni),(b:Projekat)
             *  WHERE a.id = 0 AND b.id = 0
             *  CREATE (a)-[r:RADI_NA { datum_od: "10.12.2020.",datum_do:"10.10.2021."}]->(b)*/

            //moze i ovako, ali ne umem onda da ne uzmem u obzir datum_do

            /* radiNa.id = DataProvider.getMaxId() + 1;
             * var query = Session.Client.Cypher
             *           .Match("(z:Zaposleni)", "(p:Projekat)")
             *           .Where((Zaposleni z) => z.id == idZaposlenog)
             *           .AndWhere((Projekat p) => p.id == idProjekta)
             *           .Create("(z)-[r:RADI_NA {radiNa}]->(p)")
             *           .WithParam("radiNa", radiNa);
             *
             * query.ExecuteWithoutResults();*/

            Dictionary <string, object> queryDictionary = new Dictionary <string, object>();

            queryDictionary.Add("id", DataProvider.getMaxId() + 1);
            queryDictionary.Add("idProjekta", idProjekta);
            queryDictionary.Add("idZaposlenog", idZaposlenog);
            queryDictionary.Add("datum_od", radiNa.datum_od);

            CypherQuery query;

            if (radiNa.datum_do != DateTime.MinValue)
            {
                queryDictionary.Add("datum_do", radiNa.datum_do);

                query = new Neo4jClient.Cypher
                        .CypherQuery("MATCH (a:Zaposleni),(b:Projekat) " +
                                     "WHERE a.id = {idZaposlenog} AND b.id = {idProjekta} " +
                                     "CREATE(a) -[r: RADI_NA {id:{id}, datum_od: {datum_od}, datum_do:{datum_do} }]->(b)",
                                     queryDictionary, CypherResultMode.Set);
            }
            else
            {
                query = new Neo4jClient.Cypher
                        .CypherQuery("MATCH (a:Zaposleni),(b:Projekat) " +
                                     "WHERE a.id = {idZaposlenog} AND b.id = {idProjekta} " +
                                     "CREATE(a) -[r: RADI_NA {id:{id}, datum_od: {datum_od} }]->(b)",
                                     queryDictionary, CypherResultMode.Set);
            }


            ((IRawGraphClient)Session.Client).ExecuteCypher(query);
            //query.ExecuteWithoutResults();
        }
コード例 #7
0
 public IActionResult DodajProjekatZaposlenom([FromRoute(Name = "idProjekta")] int idProjekta,
                                              [FromRoute(Name = "idZaposlenog")] int idZaposlenog,
                                              [FromBody] RadiNa radiNa)
 {
     try
     {
         DataLayer.DataProvider.DodajProjekatZaposlenom(idProjekta, idZaposlenog, radiNa);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.ToString()));
     }
 }
コード例 #8
0
 public int AddRadiNa(RadiNa d)
 {
     try
     {
         ISession s = DataLayer.GetSession();
         s.Save(d);
         s.Flush();
         s.Close();
         return(1);
     }
     catch (Exception e)
     {
         return(-1);
     }
 }
コード例 #9
0
        public int RemoveRadiNa(int id)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                RadiNa d = s.Load <RadiNa>(id);
                s.Delete(d);
                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception e)
            {
                return(-1);
            }
        }
コード例 #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();
                int      pid    = Convert.ToInt32(Request.QueryString["pid"]);
                int      zid    = Convert.ToInt32(Request.QueryString["zid"]);
                string   action = Request.QueryString["a"];

                Projekat  proj = sesija.Load <Projekat>(pid);
                Zaposleni zap  = sesija.Load <Zaposleni>(zid);

                if (action == "del")
                {
                    IQuery sql = sesija.CreateQuery("FROM RadiNa WHERE ZID = ? AND PID = ?");
                    sql.SetInt32(0, zap.ZID);
                    sql.SetInt32(1, proj.PID);

                    IList <RadiNa> radi = sql.List <RadiNa>();

                    sesija.Delete(radi[0]);
                }

                if (action == "add")
                {
                    RadiNa radi = new RadiNa()
                    {
                        radnik = zap, projekat = proj
                    };
                    sesija.Save(radi);
                }

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

                Response.Redirect("ProjekatProfile?pid=" + pid.ToString());
            }
            catch (Exception ex)
            {
                displayError = true;
                this.error.Controls.Add(new LiteralControl(ex.Message));
            }
        }
コード例 #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();
                int pid = Convert.ToInt32(Request.QueryString["pid"]);
                int zid = Convert.ToInt32(Request.QueryString["zid"]);
                string action = Request.QueryString["a"];

                Projekat proj = sesija.Load<Projekat>(pid);
                Zaposleni zap = sesija.Load<Zaposleni>(zid);

                if (action == "del")
                {
                    IQuery sql = sesija.CreateQuery("FROM RadiNa WHERE ZID = ? AND PID = ?");
                    sql.SetInt32(0, zap.ZID);
                    sql.SetInt32(1, proj.PID);

                    IList<RadiNa> radi = sql.List<RadiNa>();

                    sesija.Delete(radi[0]);
                }

                if (action == "add")
                {
                    RadiNa radi = new RadiNa() { radnik = zap, projekat = proj };
                    sesija.Save(radi);
                }

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

                Response.Redirect("ProjekatProfile?pid=" + pid.ToString());

            }
            catch (Exception ex)
            {
                displayError = true;
                this.error.Controls.Add(new LiteralControl(ex.Message));
            }
        }
コード例 #12
0
        private void addBtn_Click(object sender, EventArgs e)
        {
            try
            {
                ISession sesija = DataLayer.DataLayer.GetSession();

                var skip = 0;

                foreach (ListViewItem red in radnikList.SelectedItems)
                {
                    foreach (var outerRed in projekatForm.listRadnika.Items)
                    {
                        if (((DropDownItem)outerRed).NumVal == (int)red.Tag)
                        {
                            skip = 1;
                        }
                    }
                    if (skip == 0)
                    {
                        Zaposleni radnik = sesija.Load <Zaposleni>(red.Tag);
                        projekatForm.listRadnika.Items.Add(new DropDownItem(radnik.ime + " " + radnik.prezime, radnik.ZID.ToString()));
                        var    proj = sesija.Load <Projekat>(projekatForm.pid);
                        RadiNa radi = new RadiNa()
                        {
                            radnik = radnik, projekat = proj, datum_pocetka = datumOdPicker.Value, datum_zavrsetka = datumDoPicker.Value
                        };
                        sesija.Save(radi);
                    }
                    skip = 0;
                }
                sesija.Flush();
                sesija.Close();
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #13
0
        public static void IzmeniRadiNa(RadiNa radiNa)
        {
            Dictionary <string, object> queryDictionary = new Dictionary <string, object>();

            queryDictionary.Add("id", radiNa.id);
            queryDictionary.Add("datum_od", radiNa.datum_od);

            CypherQuery query;

            if (radiNa.datum_do != DateTime.MinValue)
            {
                queryDictionary.Add("datum_do", radiNa.datum_do);

                query = new Neo4jClient.Cypher.CypherQuery("match (z:Zaposleni)-[r:RADI_NA {id:{id}}]-(p:Projekat) SET r={id:{id}, datum_od:{datum_od}, datum_do:{datum_do}}",
                                                           queryDictionary, CypherResultMode.Set);
            }
            else
            {
                query = new Neo4jClient.Cypher.CypherQuery("match (z:Zaposleni)-[r:RADI_NA {id:{id}}]-(p:Projekat) SET r={id:{id}, datum_od:{datum_od}}",
                                                           queryDictionary, CypherResultMode.Set);
            }
            ((IRawGraphClient)Session.Client).ExecuteCypher(query);
        }
コード例 #14
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));
            }
        }
コード例 #15
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));
            }
        }
コード例 #16
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);
            }
        }
コード例 #17
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);
            }
        }
コード例 #18
0
        /*
         * // POST api/radina
         * public int Post([FromBody]RadiNa value)
         * {
         *  DataProvider dp = new DataProvider();
         *  return dp.AddRadiNa(value);
         * }
         */

        // PUT api/radina/5
        public int Put(int id, [FromBody] RadiNa value)
        {
            DataProvider provider = new DataProvider();

            return(provider.UpdateRadiNa(id, value));
        }