private ExcelProject ConvertElectroExcelToDkExcel(ElectroExcelProject electroExcelProject) { var dkExcelRow = new ExcelProject(); dkExcelRow.Row = new object[CountColumnRowExcelDk]; dkExcelRow.Row[2] = electroExcelProject.GetField(Field.NumberBySpec); // pos po spec dkExcelRow.Row[3] = electroExcelProject.GetField(Field.Designation); // pos po spec dkExcelRow.Row[4] = electroExcelProject.GetField(Field.Name); // pos po spec dkExcelRow.Row[11] = electroExcelProject.GetField(Field.Size); // размеры пока в длину dkExcelRow.Row[13] = electroExcelProject.GetField(Field.CountByOne); // кол-во на одну dkExcelRow.Row[14] = electroExcelProject.GetField(Field.CountByAll); // кол-во на все if (electroExcelProject.Positions.Count == 1 && electroExcelProject.Positions[0].Positions.Count == 0) { dkExcelRow.Row[5] = electroExcelProject.Positions[0].GetField(Field.InfoAboutZag); // profile (тащим из дитяти если есть) dkExcelRow.Row[15] = electroExcelProject.Positions[0].GetField(Field.WeigthByOne); // вес на одну (тащим из дитяти если есть) dkExcelRow.Row[16] = electroExcelProject.Positions[0].GetField(Field.WeigthByAll); // вес на все (тащим из дитяти если есть) dkExcelRow.Row[11] = electroExcelProject.Positions[0].GetField(Field.Size); if (electroExcelProject.Positions[0].GetIndexField(Field.ClearWeigthDetail) != -1) { dkExcelRow.Row[15] = electroExcelProject.Positions[0].GetField(Field.ClearWeigthDetail); } } else { foreach (var excelProject in electroExcelProject.Positions) { dkExcelRow.Positions.Add(ConvertElectroExcelToDkExcel(excelProject)); } } var swert = dkExcelRow.Positions.FirstOrDefault(x => x.Row[3].ToString().ToLowerInvariant().EndsWith("д")); if (swert != null) { if (dkExcelRow.Row[3].ToString().ToLowerInvariant() == swert.Row[3].ToString() .ToLowerInvariant() .Substring(0, swert.Row[3].ToString().ToLowerInvariant().Length - 1)) { foreach (var excelProject in swert.Positions) { excelProject.Parent = dkExcelRow; } dkExcelRow.Positions.InsertRange(0, swert.Positions); dkExcelRow.Positions.Remove(swert); } } return dkExcelRow; }