private Entities.Announce AddAnnounce() { var announceName = announceNameTextBox.Text; if (announceName.Length == 0) { MessageBox.Show(@"Поле ""Название"" не должно быть пустым"); return(null); } var announceLink = announceLinkTextBox.Text; if (announceLink.Length == 0) { MessageBox.Show(@"Поле ""Ссылка"" не должно быть пустым"); return(null); } var announcePrice = announcePriceTextBox.Text; if (announcePrice.Length == 0) { MessageBox.Show(@"Поле ""Цена"" не должно быть пустым"); return(null); } var announceCategory = categoriesComboBox.SelectedItem as Entities.Category; if (announceCategory == null) { MessageBox.Show("Выберите категорию объявления"); return(null); } var announceOwner = ownersComboBox.SelectedItem as Entities.Owner; if (announceOwner == null) { MessageBox.Show("Выберите продавца объявления"); return(null); } var announce = new Entities.Announce() { Name = announceName, Url = announceLink, Price = announcePrice, Category = announceCategory, Owner = announceOwner, }; var createdAnnounce = db.Announces.Add(announce); db.SaveChanges(); return(createdAnnounce.Entity); }
private Owner OwnerAddition() { var ownerName = ownerNameTextBox.Text; if (ownerName.Length == 0) { MessageBox.Show("Введите название продавца"); return(null); } var ownerLink = ownerUrlTextBox.Text; if (ownerLink.Length == 0) { MessageBox.Show("Введите ссылку на страницу продавца"); return(null); } var owner = new Owner() { Name = ownerName, Url = ownerLink, ProfileGuid = Entities.Owner.GenerateSellerGuid(ownerName).ToString(), }; var existingSeller = db.Owners.FirstOrDefault(o => o.ProfileGuid == owner.ProfileGuid); if (existingSeller != null) { MessageBox.Show("Продавец с таким именем уже добавлен в БД"); return(null); } else { try { db.Owners.Add(owner); db.SaveChanges(); MessageBox.Show("Продавец успешно добавлен"); return(owner); } catch (Exception e) { MessageBox.Show(e.Message); return(null); } } }
private Entities.Category AddCategory() { var categoryName = categoryNameTextBox.Text; if (categoryName.Length == 0) { MessageBox.Show("Название категории должно быть заполнено"); return(null); } var categorySlug = categorySlugTextBox.Text; if (categorySlug.Length == 0) { MessageBox.Show("Маркер должен быть заполнен"); return(null); } var category = new Entities.Category() { Name = categoryName, Slug = categorySlug, }; var categoryWithSameSlug = db.Categories.FirstOrDefault(c => c.Slug == categorySlug); if (categoryWithSameSlug == null) { var cat = db.Categories.Add(category); db.SaveChanges(); return(cat.Entity); } else { MessageBox.Show("Категория с таким маркером уже существует"); return(null); } }
private bool AddParsingResultsToDatabase(Collection <Announce> announcesToAdd) { /// Берем для товаров заранее добавленную категорию - Ноутубки, из БД и отбираем её по слагу foreach (var announce in announcesToAdd) { if (announce.Owner != null) { announce.OwnerGuid = announce.Owner.ProfileGuid; /// Проверяем на наличие владельца объявлений в БД, если есть - берем для связки запись оттуда var existingOwner = db.Owners.FirstOrDefault(o => o.ProfileGuid == announce.OwnerGuid); /// Если владельца нет ещё в базе if (existingOwner == null) { /// То сохраняем его в БД db.Owners.Add(announce.Owner); db.SaveChanges(); } else { /// Если уже есть владелец, присваиваем его запись в БД навигационному свойству объявления announce.Owner = existingOwner; } } } try { /// После того как прошли по всем записям и разобрались со связанными сущностями - добавляем пачкой объявления в БД db.Announces.AddRange(announcesToAdd); /// Сохраняем данные в БД db.SaveChanges(); return(true); } catch { return(false); } }