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); } }
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; }; } }
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 = ""; }
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 } }
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); } }
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); }
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(); }
public AddRelation(familyMember global, Family familyGlobal) { InitializeComponent(); this.globalMember = global; this.globalFamily = familyGlobal; }
public AddInformation(familyMember newMember, Family newFamily) { InitializeComponent(); globalMember = newMember; globalFamily = newFamily; }