//заполнение списка private void FillList() { try { var tab = from t1 in context.d_Antibiotics join t2 in context.d_Antibiotics_groups on t1.id_group_AB equals t2.id select new { Id = t1.id, Name = t1.name, Group = t2.antibiotics_groups, Edit = "" }; foreach (var item in tab) { Antibiotic ab = new Antibiotic(); ab.Id = item.Id; ab.Name = item.Name; ab.Group = item.Group; ab.List_group = new List <string>(); var col2 = from t in context.d_Antibiotics_groups select t.antibiotics_groups; ab.List_group = col2.ToList(); ListAb.Add(ab); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } }
//добавление новой строки private void x_MainGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { if (newAB == null) { return; } try { if (newAB.Name == "") { MessageBox.Show("Заповніть поле \"Назва\""); return; } if (newAB.Group == "") { MessageBox.Show("Заповніть поле \"Група\""); return; } var col = context.d_Antibiotics.Where(c => c.name == newAB.Name); if (col.Count() != 0) { newAB.Name = ""; MessageBox.Show("Антибіотик з такою назвою вже існує"); return; } d_Antibiotics ab = new d_Antibiotics(); ab.name = newAB.Name; ab.id_group_AB = context.d_Antibiotics_groups.Where(c => c.antibiotics_groups == newAB.Group).FirstOrDefault().id; context.d_Antibiotics.Add(ab); context.SaveChanges(); newAB.Id = ab.id; newAB = null; } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } }
//инициализация новой строки private void x_MainGrid_AddingNewItem(object sender, AddingNewItemEventArgs e) { try { newAB = new Antibiotic(); newAB.Id = 0; newAB.Name = ""; newAB.Group = ""; newAB.List_group = new List <string>(); var col = from t in context.d_Antibiotics_groups select t.antibiotics_groups; newAB.List_group = col.ToList(); e.NewItem = newAB; } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } }