public void OldObject(ClassGeographicFeature GFeature, ReturnOb CheckName, int number, int id) { GFeature.Type = CheckName.Type; INSERT("Sourse_" + GFeature.Type, new ArrayList { "Sourse_idSourse", GFeature.Type + "_id" }, new ArrayList { id, CheckName.id }); if (GFeature.Year.Count == 2) { for (int i = Int32.Parse(GFeature.Year[0]); i < Int32.Parse(GFeature.Year[1]); i++) { OldDetailsInformation(i, GFeature, CheckName.id, id); } } else { OldDetailsInformation(Int32.Parse(GFeature.Year[0]), GFeature, CheckName.id, id); } InsertReference(GFeature, CheckName.id, number, id); }
private void OldDetailsInformation(int Year, ClassGeographicFeature GFeature, int Cid, int id) { List <int> idDI = SELECT <int>("id", "DetailsInformation", "DetailsInformation.Year = '" + Year + "' AND DetailsInformation.Midle_id = " + Cid); if (idDI.Count == 0) { INSERT("DetailsInformation", new ArrayList { "Year", "Midle_id" }, new ArrayList { Year, Cid }); idDI = SELECT <int>("id", "DetailsInformation", "DetailsInformation.Year = '" + Year + "' AND DetailsInformation.Midle_id = " + Cid); if (GFeature.Coordinates.Count != 0) { InsertCoordinates(GFeature.Coordinates, idDI[0]); } else { InsertText(GFeature.Text, idDI[0], id); } } else { if (GFeature.Coordinates.Count != 0) { List <int> CheckCoo = SELECT <int>("Coordinates.Counter", "Coordinates JOIN DetailsInformation ON (DetailsInformation.id = Coordinates.DetailsInformation_id)", "DetailsInformation.Year = '" + Year + "' AND DetailsInformation.Midle_id = " + Cid); if (CheckCoo.Count == 0) { InsertCoordinates(GFeature.Coordinates, idDI[0]); } } else { List <int> CheckText = SELECT <int>("id", "Part JOIN DetailsInformation ON (DetailsInformation.id = Part.DetailsInformation_id)", "DetailsInformation.Year = '" + Year + "' AND DetailsInformation.Midle_id = " + Cid + " AND Part.Information = '" + GFeature.Text + "'"); if (CheckText.Count == 0) { InsertText(GFeature.Text, idDI[0], id); } } } }
private void NewDetailsInformation(int Year, ClassGeographicFeature GFeature, int Midle_id, int id) { INSERT("DetailsInformation", new ArrayList { "Year", "Midle_id" }, new ArrayList { Year, Midle_id }); int idDI = SELECT <int>("id", "DetailsInformation", "DetailsInformation.Year = '" + Year + "' AND DetailsInformation.Midle_id = " + Midle_id)[0]; if (GFeature.Coordinates.Count != 0) { InsertCoordinates(GFeature.Coordinates, idDI); } else { InsertText(GFeature.Text, idDI, id); } }
private void ProcessText(string str, int number) { ClassGeographicFeature GFeature = new ClassGeographicFeature(); GFeature.SetForText(str); if (!GFeature.CheckCompleteness()) { repo.AddNewError("Not completeness data; Line #" + number, ObS.id); return; } if (repo.CheckNameObject(GFeature.Name)) { repo.OldObject(GFeature, repo.GetObject(GFeature.Name), number, ObS.id); } else { repo.NewObject(GFeature, number, ObS.id); } }
public void NewObject(ClassGeographicFeature GFeature, int number, int id) { INSERT("Midle", new ArrayList { "Type" }, new ArrayList { GFeature.Type }); int Midle_id = SELECT <int>("MAX(id)", "Midle")[0]; INSERT(GFeature.Type, new ArrayList { "Name", "Information", "Midle_id" }, new ArrayList { GFeature.Name, GFeature.Information, Midle_id }); INSERT("Sourse_" + GFeature.Type, new ArrayList { "Sourse_idSourse", GFeature.Type + "_id" }, new ArrayList { id, SELECT <int>("id", GFeature.Type, "Midle_id = " + Midle_id)[0] }); if (GFeature.Year.Count == 2) { for (int i = Int32.Parse(GFeature.Year[0]); i < Int32.Parse(GFeature.Year[1]); i++) { NewDetailsInformation(i, GFeature, Midle_id, id); } } else { NewDetailsInformation(Int32.Parse(GFeature.Year[0]), GFeature, Midle_id, id); } InsertReference(GFeature, SELECT <int>("id", GFeature.Type, "Midle_id = " + Midle_id)[0], number, id); }
private void InsertReference(ClassGeographicFeature GFeature, int idOB, int number, int idS) { if (GFeature.Reference.Count != 0) { for (int i = 0; i < GFeature.Reference.Count; i++) { List <ReturnOb> Reference = SELECT <ReturnOb>("Local_point.Name, Local_point.id, Midle.Type", "Local_point JOIN Midle ON (Midle.id = Local_point.Midle_id) WHERE Local_point.Name = '" + GFeature.Reference[i] + "' " + "UNION SELECT Region.Name, Region.id, Midle.Type FROM Region JOIN Midle ON(Midle.id = Region.Midle_id) WHERE Region.Name = '" + GFeature.Reference[i] + "' " + "UNION SELECT Administrative_unit.Name, Administrative_unit.id, Midle.Type FROM Administrative_unit JOIN Midle ON(Midle.id = Administrative_unit.Midle_id) WHERE Administrative_unit.Name = '" + GFeature.Reference[i] + "' " + "UNION SELECT Country.Name, Country.id, Midle.Type FROM Country JOIN Midle ON(Midle.id = Country.Midle_id)", "Country.Name = '" + GFeature.Reference[i] + "'"); if (Reference.Count > 0) { if (GFeature.Type == "Administrative_unit" && Reference[0].Type == "Region") { List <int> id = SELECT <int>("id", "Region_AU", "Administrative_unit_id = " + idOB + " AND Region_id = " + Reference[0].id); if (id.Count == 0) { INSERT("Region_AU", new ArrayList { "Administrative_unit_id", "Region_id" }, new ArrayList { idOB, Reference[0].id }); } } if (GFeature.Type == "Region" && Reference[0].Type == "Administrative_unit") { List <int> id = SELECT <int>("id", "Region_AU", "Region_id = " + idOB + " AND Administrative_unit_id = " + Reference[0].id); if (id.Count == 0) { INSERT("Region_AU", new ArrayList { "Region_id", "Administrative_unit_id" }, new ArrayList { idOB, Reference[0].id }); } } if (GFeature.Type == "Region" && Reference[0].Type == "Local_point") { List <int> id = SELECT <int>("id", "Local_point", "Region_id = " + idOB + " AND id = " + Reference[0].id); if (id.Count == 0) { UPDATE("Local_point", "Region_id = " + idOB, "id = " + Reference[0].id); } } if (GFeature.Type == "Local_point" && Reference[0].Type == "Region") { List <int> id = SELECT <int>("id", "Local_point", "Region_id = " + Reference[0].id + " AND id = " + idOB); if (id.Count == 0) { UPDATE("Local_point", "Region_id = " + Reference[0].id, "id = " + idOB); } } if (GFeature.Type == "Administrative_unit" && Reference[0].Type == "Country") { List <int> id = SELECT <int>("id", "Administrative_unit", "id = " + idOB + " AND Country_id = " + Reference[0].id); if (id.Count == 0) { UPDATE("Administrative_unit", "Country_id = " + Reference[0].id, "id = " + idOB); } } if (GFeature.Type == "Country" && Reference[0].Type == "Administrative_unit") { List <int> id = SELECT <int>("id", "Administrative_unit", "id = " + Reference[0].id + " AND Country_id = " + idOB); if (id.Count == 0) { UPDATE("Administrative_unit", "Country_id = " + idOB, "id = " + Reference[0].id); } } } else { AddNewError("Not reference for " + GFeature.Name + " and " + GFeature.Reference[i] + "; Line #" + number, idS); } } } }