public void CreateRZ11m(Excel._Worksheet oSheet) { //////////////////////////////разъединители//////////////////////////////////////////////////////// Razyed11m Razyed1 = new Razyed11m(); int col = 0;//количество 'элементов ////массив свойств опоры вл PropertyInfo[] pv = Razyed1.GetType().GetProperties(); for (int i = 0; i < RZ11m.Count(); i++) { oSheet.Cells[46, i + OpVl11m.Count() + 5] = RZ11m[i].Name; Razyed1 = RZ11m.FirstOrDefault(x => x.Name == RZ11m[i].Name); col = Colich(RZ11m[i].Name); for (int j = 2; j < pv.Count(); j++) { double name = Convert.ToDouble(pv[j].GetValue(Razyed1, null)); oSheet.Cells[45 + j + 1, i + OpVl11m.Count() + 5] = name * col; } } oSheet.Cells[46, OpVl11m.Count() + 5 + RZ11m.Count()] = "Итого:"; for (int i = 3; i < pv.Count() + 1; i++) { var cellStart = oSheet.Cells[45 + i, OpVl11m.Count() + 5].Address; // первая заполненная ячейка в строке var cellEnd = oSheet.Cells[45 + i, OpVl11m.Count() + 4 + RZ11m.Count()].Address; // последняя заполненная ячейка в строке oSheet.Cells[45 + i, OpVl11m.Count() + 5 + RZ11m.Count()] = "=SUM(" + cellStart + ":" + cellEnd + ")"; } //список названий столбцов бд разъединителей вл var rr = Razyed1.GetName(); for (int i = 2; i < rr.Count(); i++) { oSheet.Cells[46 + i, OpVl11m.Count() + 4] = rr[i]; } }
//поиск оборудования для второй серии public void SearchOborud11m() { VLDataBase vl = new VLDataBase(); //получаем список опор 2-й серии из базы данных var opory = vl.GetOp_2(); Opory11m selectOpora = new Opory11m(); //получаем список разъединителей 1-й серии из базы данных var razyed = vl.GetRaz_2(); Razyed11m selectRZ = new Razyed11m(); foreach (var s in ListNameELement) { selectOpora = opory.FirstOrDefault(x => x.Name == s); if (selectOpora != null) { CurrentOpory11m.Add(selectOpora); } selectRZ = razyed.FirstOrDefault(x => x.Name == s); if (selectRZ != null) { CurrentRZ11m.Add(selectRZ); } } }