private void ReadForm(int i)
{
//строка для проверки, что список не кончился (пока что проверку убрал)
String a = ws.Cells[i, 1].Text.ToString();
//строка считающая что эту ячейку уже не надо проверять
String b = ws.Cells[i, 10].Text.ToString();
if (String.IsNullOrWhiteSpace(b))
{
//считываемые параметры
String date, atribute, GUID, whomadeit, name, obozn, group;
date = ws.Cells[i, 4].Text.ToString();
GUID = ws.Cells[i, 7].Text.ToString();
whomadeit = ws.Cells[i, 3].Text.ToString();
atribute = ws.Cells[i, 5].Text.ToString();
name = ws.Cells[i, 6].Text.ToString();
obozn = ws.Cells[i, 9].Text.ToString();
group = ws.Cells[i, 2].Text.ToString();
//в строке atribute хранятся записи о наименовании атрибута и его измененном значении на этот момент или он создавался.
if (atribute.Contains("Изменен"))
{
// разбивание строки на атрибут и его значение исходя из записи
String[] matrix_atribute;
matrix_atribute = atribute.Split('\n');
foreach (String Attr_data in matrix_atribute)
{
String[] attr_value = Attr_data.Split('=');
if (Changes.Exists(Z => Z.GUID == GUID))
{
try
{
//Внесение записи об изменении в лист Changes из класса Form1 изменений объекта через метод UpdateString
Changes.Find(U => U.GUID.Contains(GUID)).UpdateString(attr_value[0], attr_value[1], date, whomadeit, i);
}
catch
{
Changes.Find(U => U.GUID.Contains(GUID)).UpdateString("Ошибка чтения!", "ОШИБКА ЧТЕНИЯ!!!", date, whomadeit, i);
}
}
else
{
//создание нового объекта с его изменениями
Changes.Add(new Changeble(attr_value[0], attr_value[1], date, GUID, whomadeit, i, name, obozn, group));
}
}
}
// Если это не изменения значит это создание объекта - значит это перегруженный метод с записью о создании объекта и запись имени его создателя
else
{
GUID = ws.Cells[i, 7].Text.ToString();
if (Changes.Exists(Z => Z.GUID == GUID))
{
try
{
Changes.Find(U => U.GUID.Contains(GUID)).writeCreator(ws.Cells[i, 3].Text.ToString(), i);
}
catch
{
Changes.Find(U => U.GUID.Contains(GUID)).writeCreator("АВТОР НЕИЗВЕСТЕН", i);
}
}
}
}
}