public void generateRandomList(int maxItems, int maxJobs, int maxPoints) { items.Clear(); Random r = new Random(); int maxi = r.Next(1, maxItems); for (int i = 0; i < maxi; i++) { item newItem = new item(); newItem.id = r.Next(); newItem.firstName = generateRandomString(); newItem.lastName = generateRandomString(); int maxj = r.Next(1, maxJobs); for (int j = 0; j < maxj; j++) { newItem.jobs.Add(new job(DateTime.Now,generateRandomString(),generateRandomString(),generateRandomString())); } int maxp = r.Next(1, maxPoints); for (int p = 0; p < maxp; p++) { newItem.positions.Add(new position(r.Next(), r.Next(), r.Next(), DateTime.Now)); } items.Add(newItem); } }
public void readFromDataBase() { items.Clear(); SqlDataReader reader = new SqlCommand(string.Format("SELECT * FROM Items ORDER BY Id;SELECT * FROM Jobs ORDER BY Item;SELECT * FROM Jobs ORDER BY Item;"), cn).ExecuteReader(); //читаем лист items while (reader.Read()) { item newItem = new item(); newItem.id = reader.GetInt32(0); newItem.firstName = reader.GetString(1); newItem.lastName = reader.GetString(2); items.Add(newItem); } int i; int lastid; //читаем лист jobs reader.NextResult(); lastid = i = -1; while (reader.Read()) { int k = reader.GetInt32(4); if (lastid != k) { do ++i; while (k != items[i].id); lastid = reader.GetInt32(4); } items[i].jobs.Add(new job(reader.GetDateTime(0), reader.GetString(1), reader.GetString(2), reader.GetString(3))); } //читаем лист positions reader.NextResult(); lastid = i = -1; while (reader.Read()) { if (lastid != reader.GetInt32(4)) { do i++; while (reader.GetInt32(4) != items[i].id); lastid = reader.GetInt32(4); } items[i].positions.Add(new position(reader.GetInt64(0),reader.GetInt64(1),reader.GetInt32(2),reader.GetDateTime(3))); } reader.Close(); }