// methods public ArrayList Extract() { connector = new MSSQLConnector(); connector.OpenConnect(); ArrayList list = new ArrayList(); string sqlExpression1 = @"SELECT A.Название, A.[Код страны], A.Площадь, A.Население, B.Название as CAPITAL, C.Название as REGION FROM Страны as A INNER JOIN Города as B ON A.Столица = B.Id INNER JOIN Регионы as C ON A.Регион = C.Id"; SqlCommand command2 = new SqlCommand(sqlExpression1, connector.conn); SqlDataReader dr = command2.ExecuteReader(); while (dr.Read()) { Models.Capital cp = new Models.Capital(0, dr.GetValue(4).ToString()); Models.Region rg = new Models.Region(0, dr.GetValue(5).ToString()); list.Add(new Models.Country(dr.GetValue(0).ToString(), cp, dr.GetValue(1).ToString(), Convert.ToDouble(dr.GetValue(2)), Convert.ToInt32(dr.GetValue(3)), rg)); } dr.Close(); connector.CloseConnect(); return(list); }
//constructors public Country(string name, Capital capital, string alpha3Code, double area, int population, Region region) { this.Name = name; this.Code = alpha3Code; this.Area = area; this.Population = population; this.cap = capital; this.reg = region; }
public Country() { Capital capital = new Capital(); Region region = new Region(); this.Name = ""; this.Code = ""; this.Area = 0; this.Population = 0; this.cap = capital; this.reg = region; }
//ISQL interface implementations public ArrayList TransformResult(SqlDataReader dr) { ArrayList tempArr = new ArrayList(); Capital tempElement = new Capital(); while (dr.Read()) { tempElement.Id = Convert.ToInt32(dr.GetValue(0).ToString()); tempElement.Name = dr.GetValue(1).ToString(); tempArr.Add(tempElement); } return(tempArr); }