Exemplo n.º 1
0
        private void btnRelate_Click(object sender, EventArgs e)
        {
            Dictionary <string, object> queryDict = new Dictionary <string, object>();
            var query3 = new Neo4jClient.Cypher.CypherQuery("start n=node(*) where n.name = '" + txtOtherPersonName.Text + "' AND n.surname = '" + txtOtherPersonSurname.Text + "' return n",
                                                            queryDict, CypherResultMode.Set);

            familyMember novi = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query3).FirstOrDefault();

            var query4 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                            "WHERE a.name = '" + this.globalMember.name + "' AND a.surname='" + this.globalMember.surname + "' AND b.name = '" + novi.name + "' AND b.surname='" + novi.surname + "' " +
                                                            "CREATE(a) < -[r: SUPRUZNIK] - (b)" +
                                                            "RETURN type(r)",
                                                            queryDict, CypherResultMode.Set);

            ((IRawGraphClient)client).ExecuteCypher(query4);
            lblOtherName.Visible          = false;
            lblotherSurname.Visible       = false;
            txtOtherPersonName.Visible    = false;
            txtOtherPersonSurname.Visible = false;
            btnRelate.Enabled             = false;
            if (novi != null)
            {
                MessageBox.Show("Spojili ste trenutnu osobu sa osobom po imenu " + txtOtherPersonName.Text);
            }
            else
            {
                MessageBox.Show("Nije pronadjena osoba sa imenom " + txtOtherPersonName.Text);
            }
        }
Exemplo n.º 2
0
 public addFamilyMember(String relative, familyMember global, Family familyGlobal)
 {
     InitializeComponent();
     this.globalMember   = global;
     this.globalFamily   = familyGlobal;
     this.globalRelative = relative;
     if (relative != null)
     {
         if (relative == "FILL")
         {
             this.fillTheLabels();
             changeInformation         = true;
             labelForNewMember.Visible = true;
             labelForNewMember.Text    = "Promenite informacije clanu " + globalMember.name;
         }
         else
         {
             labelForNewMember.Visible = true;
             labelForNewMember.Text    = "Novi clan je " + relative + " clanu " + globalMember.name;
         }
     }
     else
     {
         labelForNewMember.Visible = false;
     }
 }
        public InfoFormForFamilyMember(familyMember newMember, Family newFamily, string info)
        {
            InitializeComponent();
            globalMember = newMember;
            globalFamily = newFamily;
            globalInfo   = info;
            lblAdd.Text  = info;
            switch (info)
            {
            case "REGION": {
                lblType.Text = "Unesite drzavu: ";
                lblName.Text = "Unesite grad: ";
                break;
            };

            case "HOBI": {
                lblType.Text = "Unesite hobi: ";
                lblName.Text = "Unesite detalje hobija: ";
                break;
            };

            case "FIRMA": {
                lblType.Text = "Unesite naziv firme: ";
                lblName.Text = "Unesite radno mesto u firmi: ";
                break;
            };

            case "LJUBIMAC": {
                lblType.Text = "Unesite vrstu ljubimca: ";
                lblName.Text = "Unesite ime ljubimca: ";
                break;
            };
            }
        }
Exemplo n.º 4
0
        private void btnShowList_Click(object sender, EventArgs e)
        {
            addFamilyMember newMember = new addFamilyMember("FILL", globalMember, globalFamily);

            newMember.client = client;
            newMember.ShowDialog();
            this.globalMember = null;
            txtName.Text      = "";
            txtSurname.Text   = "";
        }
Exemplo n.º 5
0
        public void onTxtChange()
        {
            globalMember = null;
            Dictionary <string, object> queryDict = new Dictionary <string, object>();
            var query1 = new Neo4jClient.Cypher.CypherQuery("MATCH (n: familyMember)-[:FAMILIJA]-(f:Family) where n.name = '" + txtName.Text + "' AND n.surname = '" + txtSurname.Text + "' AND f.familyName='" + globalFamily.familyName + "' return n",
                                                            queryDict, CypherResultMode.Set);
            List <familyMember> novi = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query1).ToList();

            foreach (familyMember f in novi)
            {
                globalMember = f;
                MessageBox.Show("Pronadjen je " + globalMember.name);
            }
            if (globalMember == null)
            {
                #region visible
                btnAddInformation.Enabled     = false;
                btnDodaj.Enabled              = false;
                lblOtherName.Visible          = false;
                lblotherSurname.Visible       = false;
                txtOtherPersonName.Visible    = false;
                txtOtherPersonSurname.Visible = false;
                btnRelate.Enabled             = false;
                btnDelete.Enabled             = false;
                btnShowList.Enabled           = false;
                btnShowFamily.Enabled         = false;
                #endregion
            }
            else
            {
                #region visible
                btnAddInformation.Enabled     = true;
                btnDodaj.Enabled              = true;
                lblOtherName.Visible          = true;
                lblotherSurname.Visible       = true;
                txtOtherPersonName.Visible    = true;
                txtOtherPersonSurname.Visible = true;
                btnRelate.Enabled             = true;
                btnDelete.Enabled             = true;
                btnShowList.Enabled           = true;
                btnShowFamily.Enabled         = true;
                #endregion
            }
        }
Exemplo n.º 6
0
 public InfoFormForFamily(familyMember glMember, Family glFamily, List <familyMember> AllMembers)
 {
     InitializeComponent();
     globalMember  = glMember;
     globalFamily  = glFamily;
     familyMembers = AllMembers;
     lbl.Text      = "Svi clanovi porodice " + globalFamily.familyName + ".";
     popuniInicijalno();
     foreach (familyMember f in familyMembers)
     {
         String pol;
         if (f.gender == "Male")
         {
             pol = "Musko";
         }
         else
         {
             pol = "Zensko";
         }
         add(f.name, f.surname, f.eAddress, pol, f.birthPlace, f.biography);
     }
 }
Exemplo n.º 7
0
        private familyMember createMember()
        {
            familyMember newMember = new familyMember();

            TimeSpan unixtime =
                dateTimePicker.Value.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            newMember.birthday = unixtime.TotalMilliseconds.ToString();
            newMember.name     = txtName.Text;
            newMember.surname  = txtSurname.Text;
            if (radioMale.Checked == true)
            {
                newMember.gender = "Male";
            }
            else
            {
                newMember.gender = "Female";
            }

            if (radioLive.Checked == true)
            {
                newMember.live = "Alive";
            }
            else
            {
                newMember.live = "Passed away";
                TimeSpan unixtimeForDeath =
                    dateTimeForDeath.Value.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

                newMember.yearOfDeath = unixtimeForDeath.TotalMilliseconds.ToString();
            }

            newMember.eAddress   = txtEAddress.Text;
            newMember.birthPlace = txtPlaceOfBirth.Text;
            newMember.biography  = txtBiography.Text;
            return(newMember);
        }
Exemplo n.º 8
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (this.changeInformation == false)
            {
                familyMember member = this.createMember();
                Dictionary <string, object> queryDict = new Dictionary <string, object>();
                queryDict.Add("name", member.name);
                queryDict.Add("surname", member.surname);
                queryDict.Add("birthday", member.birthday);
                queryDict.Add("birthPlace", member.birthPlace);
                queryDict.Add("yearOfDeath", member.yearOfDeath);
                queryDict.Add("eAddress", member.eAddress);
                queryDict.Add("gender", member.gender);
                queryDict.Add("live", member.live);
                queryDict.Add("biography", member.biography);

                var query = new Neo4jClient.Cypher.CypherQuery("CREATE (n:familyMember {id:'" + member.id + "', name:'" + member.name
                                                               + "',surname:'" + member.surname + "', birthday:'" + member.birthday + "', birthPlace:'" + member.birthPlace
                                                               + "',yearOfDeath:'" + member.yearOfDeath + "',eAddress:'" + member.eAddress
                                                               + "',gender:'" + member.gender + "', live:'" + member.live + "', biography:'" + member.biography
                                                               + "'}) return n",
                                                               queryDict, CypherResultMode.Set);

                List <familyMember>         fMembers   = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query).ToList();
                Dictionary <string, object> queryDict3 = new Dictionary <string, object>();
                var query2 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: Family)" +
                                                                "WHERE a.name = '" + member.name + "' AND a.surname='" + member.surname + "' AND b.familyName = '" + globalFamily.familyName + "'" +
                                                                "CREATE(a) < -[r: FAMILIJA] - (b)" +
                                                                "RETURN type(r)",
                                                                queryDict3, CypherResultMode.Set);
                ((IRawGraphClient)client).ExecuteCypher(query2);


                foreach (familyMember a in fMembers)
                {
                    MessageBox.Show("Dodat je novi clan " + a.name + " " + a.surname + ".");
                }

                if (this.globalRelative != null)
                {
                    #region BratISestra
                    if (globalRelative == "BRAT" || globalRelative == "SESTRA")
                    {
                        var query3 = new Neo4jClient.Cypher.CypherQuery("MATCH (ee:familyMember)-[:BRAT|SESTRA]-(aa:familyMember) WHERE ee.name = '" + globalMember.name + "' RETURN aa",
                                                                        queryDict, CypherResultMode.Set);
                        List <familyMember> brothers = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query3).ToList();

                        foreach (familyMember newBrother in brothers)
                        {
                            String cousin;
                            if (newBrother.gender == "Male")
                            {
                                cousin = "BRAT";
                            }
                            else
                            {
                                cousin = "SESTRA";
                            }
                            var query4 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                            "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + newBrother.name + "' AND b.surname= '" + newBrother.surname + "'  " +
                                                                            "CREATE(a) - [r: " + cousin + "] - > (b)" +
                                                                            "RETURN type(r)",
                                                                            queryDict, CypherResultMode.Set);
                            ((IRawGraphClient)client).ExecuteCypher(query4);
                        }
                        var query5 = new Neo4jClient.Cypher.CypherQuery("MATCH (ee:familyMember)<-[:OTAC|MAJKA]-(aa:familyMember) WHERE ee.name = '" + globalMember.name + "' RETURN aa",
                                                                        queryDict, CypherResultMode.Set);
                        List <familyMember> motherAndFather = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query5).ToList();

                        foreach (familyMember parent in motherAndFather)
                        {
                            String parentsGender, genderOfGlobalRelative;
                            if (parent.gender == "Male")
                            {
                                parentsGender = "OTAC";
                            }
                            else
                            {
                                parentsGender = "MAJKA";
                            }
                            if (globalRelative == "BRAT")
                            {
                                genderOfGlobalRelative = "SIN";
                            }
                            else
                            {
                                genderOfGlobalRelative = "CERKA";
                            }
                            var query6 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                            "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + parent.name + "' AND b.surname= '" + parent.surname + "'  " +
                                                                            "CREATE(a) < - [r: " + parentsGender + "] - (b),(a) - [rr: " + genderOfGlobalRelative + "] - > (b)" +
                                                                            "RETURN type(r)",
                                                                            queryDict, CypherResultMode.Set);
                            ((IRawGraphClient)client).ExecuteCypher(query6);
                        }
                    }
                    #endregion

                    #region Roditelji
                    if (globalRelative == "OTAC" || globalRelative == "MAJKA")
                    {
                        var query7 = new Neo4jClient.Cypher.CypherQuery("MATCH (ee:familyMember)-[:BRAT|SESTRA]-(aa:familyMember) WHERE ee.name = '" + globalMember.name + "' RETURN aa",
                                                                        queryDict, CypherResultMode.Set);
                        List <familyMember> brothersAndSisters = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query7).ToList();
                        foreach (familyMember newBrother in brothersAndSisters)
                        {
                            String genderOfChild;
                            if (newBrother.gender == "Male")
                            {
                                genderOfChild = "SIN";
                            }
                            else
                            {
                                genderOfChild = "CERKA";
                            }
                            var query8 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                            "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + newBrother.name + "' AND b.surname= '" + newBrother.surname + "'  " +
                                                                            "CREATE(a) - [r: " + globalRelative + "] - > (b), (a) < - [rr: " + genderOfChild + "] - (b) " +
                                                                            "RETURN type(r)",
                                                                            queryDict, CypherResultMode.Set);
                            ((IRawGraphClient)client).ExecuteCypher(query8);
                        }
                        String genderOfMemberChild;
                        if (member.gender == "Male")
                        {
                            genderOfMemberChild = "SIN";
                        }
                        else
                        {
                            genderOfMemberChild = "CERKA";
                        }
                        var query9 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                        "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + globalMember.name + "' AND b.surname= '" + globalMember.surname + "'  " +
                                                                        "CREATE(a) < - [r: " + genderOfMemberChild + "] - (b) " +
                                                                        "RETURN type(r)",
                                                                        queryDict, CypherResultMode.Set);
                        ((IRawGraphClient)client).ExecuteCypher(query9);
                    }
                    #endregion

                    #region SiniCerka
                    if (globalRelative == "SIN" || globalRelative == "CERKA")
                    {
                        String genderForRelate, parent, parent2;
                        if (globalRelative == "SIN")
                        {
                            genderForRelate = "BRAT";
                        }
                        else
                        {
                            genderForRelate = "SESTRA";
                        }
                        if (globalMember.gender == "Male")
                        {
                            parent = "OTAC"; parent2 = "MAJKA";
                        }
                        else
                        {
                            parent = "MAJKA"; parent2 = "OTAC";
                        }
                        var query10 = new Neo4jClient.Cypher.CypherQuery("MATCH (ee:familyMember)<-[:SIN|CERKA]-(aa:familyMember) WHERE ee.name = '" + globalMember.name + "' RETURN aa",
                                                                         queryDict, CypherResultMode.Set);
                        List <familyMember> sonsAndDaughters = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query10).ToList();

                        foreach (familyMember newBrother in sonsAndDaughters)
                        {
                            var query11 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                             "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + newBrother.name + "' AND b.surname= '" + newBrother.surname + "'  " +
                                                                             "CREATE(a) - [r: " + genderForRelate + "] - > (b)" +
                                                                             "RETURN type(r)",
                                                                             queryDict, CypherResultMode.Set);
                            ((IRawGraphClient)client).ExecuteCypher(query11);
                        }
                        var query12 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                         "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + globalMember.name + "' AND b.surname= '" + globalMember.surname + "'  " +
                                                                         "CREATE(a) < - [r: " + parent + "] - (b)" +
                                                                         "RETURN type(r)",
                                                                         queryDict, CypherResultMode.Set);
                        ((IRawGraphClient)client).ExecuteCypher(query12);

                        var query13 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember)-[:SUPRUZNIK]-(b: familyMember) WHERE a.name = '" + globalMember.name + "' AND a.surname = '" + globalMember.surname + "' RETURN b",
                                                                         queryDict, CypherResultMode.Set);
                        familyMember supruznik = ((IRawGraphClient)client).ExecuteGetCypherResults <familyMember>(query13).FirstOrDefault();
                        if (supruznik != null)
                        {
                            var query14 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                             "WHERE a.name = '" + member.name + "' AND a.surname = '" + member.surname + "' AND b.name = '" + supruznik.name + "' AND b.surname= '" + supruznik.surname + "'  " +
                                                                             "CREATE(a) < - [rrr: " + parent2 + "] - (b),(a) - [rr: " + globalRelative + "] - > (b)" +
                                                                             "RETURN type(rrr)",
                                                                             queryDict, CypherResultMode.Set);
                            ((IRawGraphClient)client).ExecuteCypher(query14);
                        }
                    }
                    #endregion


                    var query15 = new Neo4jClient.Cypher.CypherQuery("MATCH(a: familyMember),(b: familyMember)" +
                                                                     "WHERE a.name = '" + this.globalMember.name + "' AND a.surname = '" + this.globalMember.surname + "' AND b.name = '" + member.name + "' AND b.surname= '" + member.surname + "'  " +
                                                                     "CREATE(a) < - [r: " + this.globalRelative + "] - (b)" +
                                                                     "RETURN type(r)",
                                                                     queryDict, CypherResultMode.Set);
                    ((IRawGraphClient)client).ExecuteCypher(query15);
                }
                if (this.globalRelative == null)
                {
                    this.NameForNewMember    = member.name;
                    this.SurnameForNewMember = member.surname;
                }
            }
            else
            {
                familyMember memberForChange          = this.createMember();
                Dictionary <string, object> queryDict = new Dictionary <string, object>();
                var query16 = new Neo4jClient.Cypher.CypherQuery("MATCH (n { name: '" + globalMember.name + "', surname: '" + globalMember.surname + "' }) SET n = {id:'" + memberForChange.id + "', name:'" + memberForChange.name
                                                                 + "',surname:'" + memberForChange.surname + "', birthday:'" + memberForChange.birthday + "', birthPlace:'" + memberForChange.birthPlace
                                                                 + "',yearOfDeath:'" + memberForChange.yearOfDeath + "',eAddress:'" + memberForChange.eAddress
                                                                 + "',gender:'" + memberForChange.gender + "', live:'" + memberForChange.live + "', biography:'" + memberForChange.biography
                                                                 + "'} RETURN n",
                                                                 queryDict, CypherResultMode.Set);

                ((IRawGraphClient)client).ExecuteCypher(query16);
                MessageBox.Show("Promenjen je " + memberForChange.name + " " + memberForChange.surname);
                btnAdd.Text = "Dodaj";
            }
            this.Close();
        }
Exemplo n.º 9
0
 public AddRelation(familyMember global, Family familyGlobal)
 {
     InitializeComponent();
     this.globalMember = global;
     this.globalFamily = familyGlobal;
 }
Exemplo n.º 10
0
 public AddInformation(familyMember newMember, Family newFamily)
 {
     InitializeComponent();
     globalMember = newMember;
     globalFamily = newFamily;
 }