private void BtnDeleteRooms_Click(object sender, RoutedEventArgs e) { if (dgRooms.SelectedIndex > -1) { if (MessageBoxResult.Yes == MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление записи", MessageBoxButton.YesNo, MessageBoxImage.Question)) { using (HOSTELEntities DB = new HOSTELEntities()) { try { DB.Rooms.Remove(DB.Rooms.Find(dgRooms.SelectedValue)); DB.SaveChanges(); } catch { MessageBox.Show($"Ошибка при удалении \n Возможно в других таблицах есть ссылки на эту запись"); return; } } UpdateGridRooms(-1); } } else { MessageBox.Show("Не выбрано поле!"); } }
public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) selectID = (int)(dg?.SelectedValue ?? -1); using (HOSTELEntities h = new HOSTELEntities()) { h.RoomTypes.Load(); var postDB = from i in h.RoomTypes.Local select new { id = i.RtyID, i.RoomType }; dg.SelectedValuePath = "id"; dg.ItemsSource = postDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
private void UpdateImage() { using (HOSTELEntities db = new HOSTELEntities()) { // Найти в таблице People, запись, по ID, которое сейчас выбранно в таблице, и взять оттуда данные картинки byte[] imgData = db.People?.Find(dg.SelectedValue)?.ImageData; // Если данные картинки содержат что-нибудь if (imgData != null) { // MemoryStream - используется для чтения или записи массива байт (Картинка - набор байт) // Сразу инициализируем массивом байт будущей картинки MemoryStream stream = new MemoryStream(imgData); // img - картинка, которую мы будем передавать на форму BitmapImage img = new BitmapImage(); // Инициализация картинки img.BeginInit(); img.StreamSource = stream; img.EndInit(); // Указываем источник для картинки на форме, созданный на форме картинку из БД pict.Source = img; } else { // Если картинки в БД нет, то вывести лицо со знаком вопроса. if (pict.Source.ToString() != "pack://application:,,,/Images/unknownImage.png") { BitmapImage unknwn = new BitmapImage(new Uri("/Images/unknownImage.png", UriKind.Relative)); pict.Source = unknwn; } } } }
private void FillFields() { using (HOSTELEntities DB = new HOSTELEntities()) { switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: using (SqlConnection connection = new SqlConnection(MainWindow.connectionString)) { connection.Open(); string SqlQuery = $"Select * from Groups where(GroupID={ID})"; SqlCommand command = new SqlCommand(SqlQuery, connection); // Создаётся SqlDataReader для считывания значений из запроса SqlDataReader reader = command.ExecuteReader(); // Переходит к следующей записи (с нулевой на 1-ую) reader.Read(); // В reader передаём какое поле нужно получить и в какой тип данных преобразовать TbGroups.Text = reader.GetString(1); } break; } } }
private void Delete_Click(object sender, RoutedEventArgs e) { if (dg.SelectedIndex > -1) { // MessageBox.Show() возвращает результат, который указывает куда нажал пользователь // У MessageBox.Show() можно указать набор кнопок и иконка, которая будет появляться на диалог. окне if (MessageBoxResult.Yes == MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление записи", MessageBoxButton.YesNo, MessageBoxImage.Question)) { using (HOSTELEntities DB = new HOSTELEntities()) { // Конструкция try/catch для отслеживания ошибок в удалении записи try { //Запись в таблице можно найти с помощью первичного ключа, используя метод Find DB.People.Remove(DB.People.Find(dg.SelectedValue)); DB.SaveChanges(); } catch { MessageBox.Show($"Ошибка при удалении \n Возможно в других таблицах есть ссылки на эту запись"); return; } } UpdateGrid(); } } else { MessageBox.Show("Не выбрано поле!"); } }
// Этот метод заполняет объект значениями из полей диалогового окна private void FillObject(People p) { using (HOSTELEntities db = new HOSTELEntities()) { p.Name = TbName.Text; p.BirthDate = dpBirthDate.SelectedDate; p.SexID = (int?)cbSexes.SelectedValue; p.PspNum = TbPsp.Text; p.PhoneNum = TbPhoneNumber.Text; p.Email = TbEmail.Text; // Картинка => массив байтов if (Picture.Source.ToString() != "pack://application:,,,/Images/unknownImage.png") { MemoryStream memStream = new MemoryStream(); // JpegBitmapEncoder - кодирует изображения формата jpeg JpegBitmapEncoder encoder = new JpegBitmapEncoder(); // Добавлем к кадрам, которые нужно закодировать нашу картинку с формы, предварительно приведя к типу BitMapFrame encoder.Frames.Add(BitmapFrame.Create(Picture.Source as BitmapImage)); // Кодирует изображение и сохраняет в поток memStream encoder.Save(memStream); // Поток преобразуем в массив байт, и передаём в объект, полученный через параметры p.ImageData = memStream.ToArray(); } } }
bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { Rooms r = new Rooms(); switch (CurMode) { case mode.Add: goto addRoom; case mode.Copy: addRoom: FillObject(r); db.Rooms.Add(r); break; case mode.Update: r = db.Rooms.Find(ID); FillObject(r); break; } db.SaveChanges(); CurPage.UpdateGridRooms(r.RoomID); } } catch (Exception e) { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); return(false); } return(true); }
public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { h.Buildings.Load(); var BuildingDB = from i in h.Buildings.Local select new { id = i.BuildingID, Name = i.Name, Address = i.Address }; dg.SelectedValuePath = "id"; dg.ItemsSource = BuildingDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
private void FillFields() { // Открывается соединени using (HOSTELEntities db = new HOSTELEntities()) { // Подгружаем таблицу Sexes, чтобы она хранилась локально db.Sexes.Load(); // Источником для комбобокса указываем таблицу Sexes cbSexes.ItemsSource = db.Sexes.Local; // Элемент комбобокса будет отображать значение поля Sex cbSexes.DisplayMemberPath = "Sex"; // Элемент комбобокса будет хранить значение поля SexID cbSexes.SelectedValuePath = "SexID"; if (cbSexes.Items.Count > 0) { cbSexes.SelectedIndex = 0; } // Установка заголовка в зависимости от действия, которое выбрал пользователь (Удаление, изменение, добавление) switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: // Находим запись с ID, который передали в диалоговое окно при создании People p = db.People.Find(ID); // Далее заполняем значениями текстбоксы, dateTimePicker, и выбираем значение у комбобокса TbName.Text = p.Name; dpBirthDate.SelectedDate = p.BirthDate; cbSexes.SelectedValue = p.SexID; TbPsp.Text = p.PspNum; TbPhoneNumber.Text = p.PhoneNum; TbEmail.Text = p.Email; // Подгрузка картинки if (p.ImageData != null) { // MemoryStream - используется для чтения или записи массива байт (Картинка - набор байт) // Сразу инициализируем массивом байт будущей картинки MemoryStream stream = new MemoryStream(p.ImageData); // img - картинка, которую мы будем передавать на форму BitmapImage img = new BitmapImage(); // Инициализация картинки img.BeginInit(); img.StreamSource = stream; img.EndInit(); // Указываем источник для картинки на форме, созданный на форме картинку из БД Picture.Source = img; } break; } } }
private void FillFields() { using (HOSTELEntities db = new HOSTELEntities()) { // Заполнение значениями комбобокс, в котором отображаются корпуса db.People.Load(); cbPeople.ItemsSource = db.People.Local; cbPeople.DisplayMemberPath = "Name"; cbPeople.SelectedValuePath = "PeopleID"; if (cbPeople.Items.Count > 0) { cbPeople.SelectedIndex = 0; } // Заполнение значениями комбобокс, в котором отображаются типы комнат db.Rooms.Load(); db.Buildings.Load(); var dbRooms = from i in db.Rooms.Local select new { RoomID = i.RoomID, NewNum = i.Num + " Комната " + i.Buildings.Name }; cbRooms.ItemsSource = dbRooms; cbRooms.DisplayMemberPath = "NewNum"; cbRooms.SelectedValuePath = "RoomID"; if (cbRooms.Items.Count > 0) { cbRooms.SelectedIndex = 0; } switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: Contracts r = db.Contracts.Find(ID); cbPeople.SelectedValue = r.PeopleID; dpDocDate.SelectedDate = r.DocDate; dpPlanBegDate.SelectedDate = r.PlanBegDate; dpPlanEndDate.SelectedDate = r.PlanEndDate; tbPriority.Text = r.Priority; cbox.IsChecked = r.Signed ?? false; dpActualEndDate.SelectedDate = r.ActualEndDate; cbRooms.SelectedValue = r.RoomID; dpAppDate.SelectedDate = r.AppDate; break; } } }
// SelectID - запись с каким ID сделать выбранной после обновления таблицы public void UpdateGrid(int selectID) { // Вызывается созданный статический метод для сохранения сортировки таблицы данных (после обновления данных сортировка сбрасывается) HelperClass.SaveSortDataGrid(dg); //Если ID=-1, то изменить параметр selectID на ID записи, которая была выбрана до обновления таблицы // Если же её нет, то присвоить -1 | dg.SelectedValue возвращает ID выбранной записи. Про ? и ?? - https://metanit.com/sharp/tutorial/3.26.php if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } // Создания подключения using (HOSTELEntities db = new HOSTELEntities()) { // Источник для компонента DataGrid, должен храниться локально, поэтому обращаемся к базе данных, // к таблице People, и вызываем метод Load(), который перенесёт данные из БД в db.People.Local() db.People.Load(); // var - неявный тип данных, т.е тип данных становится известен после присвоения какого-либо значени (Обычно используется для сокращения кода) var PeopleDB = from p in db.People.Local // Данное выражения звучит примерно так select new // Из коллекции db.People.Local взять объект p { // и на выходе выдать поля: id = p.PeopleID, // PeopleID, которое будет называться id p.Name, // Name,BirthDate,PspNum,PhoneNum,Email p.BirthDate, p.PspNum, p.PhoneNum, p.Email }; //selectedValuePath - указывает на то, какое значени будет хранить каждая запись(строка) таблицы dg.SelectedValuePath = "id"; // Для этого мы полю PeopleID дали имя id, если не давать имя, то нужно использовать названия поля (PeopleID) // Указываем источник данных для таблицы данных, это коллекция, которая была инициализирована выше dg.ItemsSource = PeopleDB; } // Выше мы указали, что каждая строка хранит id записи, которую она хранит // dg.SelectedValue - указывает на id выбранной записи, также через это поле мы можем указать id записи, которую выбрать. Если записи с таким id нет, то ничего не произойдёт dg.SelectedValue = selectID; // -1 = ничего не выбрано, след-но условие: если выбрана какая-нибудь запись if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); // Прокрутить до выбранной записи } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); // В самом начале мы сохраняли сортировку, теперь выгружаем обратно. // Вызвать функцию для обновления картинки UpdateImage(); }
private void FillFields() { using (HOSTELEntities db = new HOSTELEntities()) { // Заполнение значениями комбобокс, в котором отображаются корпуса db.Buildings.Load(); cbBuilding.ItemsSource = db.Buildings.Local; cbBuilding.DisplayMemberPath = "Name"; cbBuilding.SelectedValuePath = "BuildingID"; if (cbBuilding.Items.Count > 0) { cbBuilding.SelectedIndex = 0; } // Заполнение значениями комбобокс, в котором отображаются типы комнат db.RoomTypes.Load(); cbRoomType.ItemsSource = db.RoomTypes.Local; cbRoomType.DisplayMemberPath = "RoomType"; cbRoomType.SelectedValuePath = "RtyID"; if (cbRoomType.Items.Count > 0) { cbRoomType.SelectedIndex = 0; } switch (CurMode) { case mode.Add: Title = "Добавление"; cbBuilding.SelectedValue = (int?)CurPage?.dgBuildings?.SelectedValue ?? -1; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: Rooms r = db.Rooms.Find(ID); cbBuilding.SelectedValue = r.BuildingID; TbNum.Text = r.Num; TbRoomPlaces.Text = r.PlacesCount?.ToString() ?? "0"; cbRoomType.SelectedValue = r.RtyID; break; } } }
private void FillFields() { using (HOSTELEntities db = new HOSTELEntities()) { // Заполнение значениями комбобокс, в котором отображаются корпуса db.People.Load(); cbPeople.ItemsSource = db.People.Local; cbPeople.DisplayMemberPath = "Name"; cbPeople.SelectedValuePath = "PeopleID"; if (cbPeople.Items.Count > 0) { cbPeople.SelectedIndex = 0; } // Заполнение значениями комбобокс, в котором отображаются типы комнат db.Groups.Load(); cbGroups.ItemsSource = db.Groups.Local; cbGroups.DisplayMemberPath = "GroupName"; cbGroups.SelectedValuePath = "GroupID"; if (cbGroups.Items.Count > 0) { cbGroups.SelectedIndex = 0; } switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: Students r = db.Students.Find(ID); cbPeople.SelectedValue = r.PeopleID; dpAd.SelectedDate = r.Ad; cbGroups.SelectedValue = r.GroupID; dpFinished.SelectedDate = r.Finished; break; } } }
public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { // Подгрузка таблиц ( После этого h.Таблица.Local возвращает значения из таблицы на момент вызова Load() ) h.People.Load(); h.Rooms.Load(); h.Contracts.Load(); h.Buildings.Load(); // var - неявный "тип", т.е неизвестный тип данных. Тип становится известным только после присвоения любого значения. // Присваивать значения нужно во время объявления переменной, иначе выдаст ошибку var ContractsDB = from i in h.Contracts.Local select new { id = i.ContractID, Surname = i.People.Name, DocDate = i.DocDate, PlanBegDate = i.PlanBegDate, PlanEndDate = i.PlanEndDate, Priority = i.Priority, Signed = i.Signed, ActualEndDate = i.ActualEndDate, Room = i.Rooms.Num + " Комната " + i.Rooms.Buildings.Name, AppDate = i.AppDate }; dg.SelectedValuePath = "id"; dg.ItemsSource = ContractsDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
public void UpdateGridRooms(int selectID) { DataGrid dg = dgRooms; // Обновление таблицы данных 'Комнаты' dg = dgRooms; HelperClass.SaveSortDataGrid(dg); // Обновление таблицы 'комнаты' int?BuildID = (int?)dgBuildings?.SelectedValue; if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { h.Rooms.Load(); h.Buildings.Load(); h.RoomTypes.Load(); var RoomsDB = from i in h.Rooms.Local where (i.BuildingID == BuildID) select new { id = i.RoomID, Building = i.Buildings?.Name, Num = i.Num, PlacesCount = i.PlacesCount, RoomType = i.RoomTypes?.RoomType }; dg.SelectedValuePath = "id"; dg.ItemsSource = RoomsDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
// Сохранение изменений в базу данных bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { People r = new People(); switch (CurMode) { case mode.Add: // Переход в ветку Copy goto addRoom; case mode.Copy: addRoom: // Заполняет объект r значениями из полей диалог. окна FillObject(r); // Добавляем объект в таблицу People db.People.Add(r); break; case mode.Update: // Находим запись таблицы People по id r = db.People.Find(ID); // Заполняем её значениями из полей диалог. окна FillObject(r); break; } // Сохраняем изменения db.SaveChanges(); // Обновляем страницу, которая вызвала это диалог. окно CurPage.UpdateGrid(r.PeopleID); } } catch (Exception e) { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); return(false); } return(true); }
bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { Buildings b = new Buildings(); switch (CurMode) { case mode.Add: goto addPost; case mode.Copy: addPost: FillObject(b); db.Buildings.Add(b); break; case mode.Update: b = db.Buildings.Find(ID); FillObject(b); break; } db.SaveChanges(); CurPage.UpdateGrid(b.BuildingID); } } catch (Exception e) { if (e.HResult == -2146233087) { MessageBox.Show($"Корпус с таким названием уже существует"); } else { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); } return(false); } return(true); }
bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { Contracts r = new Contracts(); switch (CurMode) { case mode.Add: goto addRoom; case mode.Copy: addRoom: FillObject(r); db.Contracts.Add(r); break; case mode.Update: r = db.Contracts.Find(ID); FillObject(r); break; } db.SaveChanges(); CurPage.UpdateGrid(r.ContractID); } } catch (Exception e) { if (e.HResult == -2146233087) { MessageBox.Show($"Такая комната в этом корпусе уже существует"); } else { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); } return(false); } return(true); }
bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { RoomTypes r = new RoomTypes(); switch (CurMode) { case mode.Add: goto addPost; case mode.Copy: addPost: r.RoomType = TbRoomTypes.Text; db.RoomTypes.Add(r); break; case mode.Update: r = db.RoomTypes.Find(ID); r.RoomType = TbRoomTypes.Text; break; } db.SaveChanges(); CurPage.UpdateGrid(r.RtyID); } } catch (Exception e) { if (e.HResult == -2146233087) { MessageBox.Show($"Вид с таким названием уже существует"); } else { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); } return(false); } return(true); }
bool Save() { try { using (HOSTELEntities db = new HOSTELEntities()) { Posts p = new Posts(); switch (CurMode) { case mode.Add: goto addPost; case mode.Copy: addPost: p.Post = TbPost.Text; db.Posts.Add(p); break; case mode.Update: p = db.Posts.Find(ID); p.Post = TbPost.Text; break; } db.SaveChanges(); CurPage.UpdateGrid(p.PostID); } } catch (Exception e) { if (e.HResult == -2146233087) { MessageBox.Show($"Такая должность уже существует"); } else { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); } return(false); } return(true); }
public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { // Подгрузка таблиц ( После этого h.Таблица.Local возвращает значения из таблицы на момент вызова Load() ) h.Rooms.Load(); h.Buildings.Load(); h.RoomTypes.Load(); // var - неявный "тип", т.е неизвестный тип данных. Тип становится известным только после присвоения любого значения. // Присваивать значения нужно во время объявления переменной, иначе выдаст ошибку var RoomsDB = from i in h.Rooms.Local select new { id = i.RoomID, Building = i.Buildings.Name, Num = i.Num, PlacesCount = i.PlacesCount, RoomType = i.RoomTypes.RoomType }; dg.SelectedValuePath = "id"; dg.ItemsSource = RoomsDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { // Подгрузка таблиц ( После этого h.Таблица.Local возвращает значения из таблицы на момент вызова Load() ) h.Workers.Load(); h.Posts.Load(); h.People.Load(); // var - неявный "тип", т.е неизвестный тип данных. Тип становится известным только после присвоения любого значения. // Присваивать значения нужно во время объявления переменной, иначе выдаст ошибку var WorkersDB = from i in h.Workers.Local select new { id = i.WorkerID, Surname = i.People.Name, Ad = i.Ad, Post = i.Posts.Post, Finished = i.Finished }; dg.SelectedValuePath = "id"; dg.ItemsSource = WorkersDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
private void FillFields() { using (HOSTELEntities DB = new HOSTELEntities()) { switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: TbPost.Text = DB.Posts.Find(ID).Post; break; } } }
bool Save() { int BuildID; try { using (HOSTELEntities db = new HOSTELEntities()) { Buildings b = new Buildings(); switch (CurMode) { case mode.Add: goto addPost; case mode.Copy: addPost: FillObject(b); db.Buildings.Add(b); break; case mode.Update: b = db.Buildings.Find(ID); FillObject(b); break; } db.SaveChanges(); BuildID = b.BuildingID; } CurPage.UpdateGrid(BuildID, -1); } catch (Exception e) { MessageBox.Show($"Ошибка при сохранении \n {e.Message}"); return(false); } return(true); }
public void UpdateGridBuildings(int selectID) { // Обновление таблицы данных 'Корпуса' DataGrid dg = dgBuildings; HelperClass.SaveSortDataGrid(dg); // В using происходит обращение к БД и выборка значений из таблицы 'Корпуса' if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { h.Buildings.Load(); var BuildingDB = from i in h.Buildings.Local select new { id = i.BuildingID, Name = i.Name, Address = i.Address }; dg.SelectedValuePath = "id"; dg.ItemsSource = BuildingDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
private void FillFields() { using (HOSTELEntities db = new HOSTELEntities()) { switch (CurMode) { case mode.Add: Title = "Добавление"; break; case mode.Copy: Title = "Добавление на основе существующего"; goto fill; case mode.Update: Title = "Изменение"; fill: Buildings b = db.Buildings.Find(ID); TbName.Text = b.Name; TbAddress.Text = b.Address; break; } } }