public void Put(PutPublicationHouseView publicationHouse) { PublicationHouse publicationHouseModel = _publicationHouseRepository.Get(publicationHouse.Id); publicationHouseModel.Name = publicationHouse.Name; publicationHouseModel.Adress = publicationHouse.Adress; _publicationHouseRepository.Update(publicationHouseModel); IEnumerable <int> selectedBooks = publicationHouse.Books.Select(id => id.Id); List <BookPublicationHouse> oldPublicationHouseBooks = _bookInPublicationHouseRepository.GetAllByPublicationHouseId(publicationHouse.Id); var oldPublicationHouseBooksWithRelation = oldPublicationHouseBooks.Where(x => x.BookId != 0).ToList(); var intersectBooks = oldPublicationHouseBooksWithRelation.Select(x => x.BookId).Intersect(selectedBooks).ToList(); var exceptBooks = oldPublicationHouseBooksWithRelation.Select(x => x.BookId).Except(selectedBooks).ToList(); _bookInPublicationHouseRepository.Delete(oldPublicationHouseBooks.Where(x => exceptBooks.Contains(x.BookId)).ToList()); var currentPublicationHouseBooks = new List <BookPublicationHouse>(); foreach (var newBookId in selectedBooks) { if (intersectBooks.FirstOrDefault(x => x == newBookId) == 0) { currentPublicationHouseBooks.Add(new BookPublicationHouse() { PublicationHouseId = publicationHouseModel.Id, BookId = newBookId }); } } _bookInPublicationHouseRepository.Insert(currentPublicationHouseBooks); }
public void Update(PublicationHouseViewModel publicationHouse) { PublicationHouse publicationHouseModel = _unitOfWork.PublicationHouses.Get(publicationHouse.PublicationHouseId); publicationHouseModel.Name = publicationHouse.Name; publicationHouseModel.Adress = publicationHouse.Adress; _unitOfWork.PublicationHouses.Update(publicationHouseModel); List <BookPublicationHouse> oldBookPublicationHouse = _unitOfWork.BookPublicationHouses.GetAllByPublicationHouseId(publicationHouse.PublicationHouseId); var oldBookpublicationHousesWithRelation = oldBookPublicationHouse.Where(x => x.BookId != 0).ToList(); var BooksHas = oldBookpublicationHousesWithRelation.Where(x => publicationHouse.SelectedBooks.Contains(x.BookId)).ToList(); var BooksNothas = oldBookpublicationHousesWithRelation.Where(x => !publicationHouse.SelectedBooks.Contains(x.BookId)).ToList(); _unitOfWork.BookPublicationHouses.Delete(BooksNothas); if (publicationHouse.SelectedBooks != null) { List <BookPublicationHouse> currentBookPublicationHouses = new List <BookPublicationHouse>(); foreach (var newBookId in publicationHouse.SelectedBooks) { if (BooksHas.FirstOrDefault(x => x.BookId == newBookId) == null) { currentBookPublicationHouses.Add(new BookPublicationHouse() { BookId = newBookId, PublicationHouseId = publicationHouseModel.PublicationHouseId }); } } _unitOfWork.BookPublicationHouses.Insert(currentBookPublicationHouses); } }
public PublicationHouseViewModel GetPublicationHouse(int?id) { PublicationHouse publicationHouse = _publicationServiceRepository.Get(id.Value); if (publicationHouse == null) { throw new ValidationException("Publication House not found", ""); } return(Mapper.Map <PublicationHouse, PublicationHouseViewModel>(publicationHouse)); }
public void Create(CreatePublicationHouseViewModel publicationHouseViewModel) { var publicationHouse = new PublicationHouse() { Id = publicationHouseViewModel.Id, Name = publicationHouseViewModel.Name, Adress = publicationHouseViewModel.Adress }; _publicationHouseRepo.Create(publicationHouse); }
public void Delete(int id) { try { PublicationHouse house = _houseRepository.Get(id); _houseRepository.DeleteAsync(house); } catch (Exception exception) { throw exception; } }
public bool EditPublicationHouse(PublicationHouseViewModel publicationHouseViewModel) { try { PublicationHouse publicationHouse = Mapper.Map <PublicationHouseViewModel, PublicationHouse>(publicationHouseViewModel); _publicationHouseRepository.Edit(publicationHouse); return(true); } catch { return(false); } }
public bool DeletePublicationHouse(int id) { try { PublicationHouse publicationHouse = _houseRepository.FindById(id); _houseRepository.Remove(publicationHouse); return(true); } catch { return(false); } }
public bool CreatePublicationHouse(PublicationHouseViewModel publicationHouseViewModel) { try { PublicationHouse publicationHouse = Mapper.Map <PublicationHouseViewModel, PublicationHouse>(publicationHouseViewModel); _houseRepository.Create(publicationHouse); return(true); } catch { return(false); } }
public bool AddPublicationHouse(PublicationHouseViewModel publicationHouseViewModel) { try { PublicationHouse publicationHouse = Mapper.Map <PublicationHouseViewModel, PublicationHouse>(publicationHouseViewModel); Save.AddItem(publicationHouse, "../PublicationHouses"); _publicationHouseRepository.Add(publicationHouse); return(true); } catch { return(false); } }
public void Update(UpdatePublicationHouseViewModel publicationHouseViewModel) { if (_publicationHouseRepo.Get(publicationHouseViewModel.Id) == null) { throw new BusinessLogicException("Publication House not found"); } var publicationHouse = new PublicationHouse() { Id = publicationHouseViewModel.Id, Name = publicationHouseViewModel.Name, Adress = publicationHouseViewModel.Adress }; _publicationHouseRepo.Update(publicationHouse); }
public void SaveToJSON(int id) { PublicationHouse publicationHouseModel = _unitOfWork.PublicationHouses.Get(id); string json = JsonConvert.SerializeObject( publicationHouseModel, Formatting.None, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); var path = HttpContext.Current.Server.MapPath("~/App_Data/PublicationHouse.json"); System.IO.File.WriteAllText(path, json); }
public async Task <bool> DeleteAsync(int id) { try { PublicationHouse house = _houseRepository.Get(id); bool success = await _houseRepository.DeleteAsync(house); if (success == true) { return(true); } return(false); } catch (Exception exception) { throw exception; } }
public PublicationHouseBooksViewModel GetPublicationHouseBooks(int id) { PublicationHouse publicationHouseModel = _unitOfWork.PublicationHouses.Get(id); List <BookPublicationHouse> allBookPublicationHouses = _unitOfWork.BookPublicationHouses.GetAllByPublicationHouseId(id); List <Book> allBooksModel = _unitOfWork.Books.GetAll(); var bookPublicationHouseRelationViewModel = Mapper.Map <List <BookPublicationHouse>, List <BookPublicationHousesRelationViewModel> >(allBookPublicationHouses); var bookViewModel = Mapper.Map <List <Book>, List <BookViewModel> >(allBooksModel); var publicationHouseViewModel = Mapper.Map <PublicationHouse, PublicationHouseViewModel>(publicationHouseModel); var publicationHouseBooksViewModel = new PublicationHouseBooksViewModel { Books = bookViewModel, PublicationHouse = publicationHouseViewModel, BookPublicationHouses = bookPublicationHouseRelationViewModel }; return(publicationHouseBooksViewModel); }
public PublicationHouseViewModel Get(int id) { List <BookPublicationHouse> bookPublicationHouse = _unitOfWork.BookPublicationHouses.GetAllByPublicationHouseId(id); var publicationHouse = new PublicationHouse() { PublicationHouseId = bookPublicationHouse.ElementAt(0).PublicationHouse.PublicationHouseId, Name = bookPublicationHouse.ElementAt(0).PublicationHouse.Name, Adress = bookPublicationHouse.ElementAt(0).PublicationHouse.Adress }; var books = new List <Book>(); foreach (var book in bookPublicationHouse) { if (book.Book != null) { books.Add(book.Book); } } var publicationHouseViewModel = Mapper.Map <PublicationHouse, PublicationHouseViewModel>(publicationHouse); publicationHouseViewModel.Books = Mapper.Map <List <Book>, List <BookViewModel> >(books); return(publicationHouseViewModel); }
public void Delete(int id) { PublicationHouse publicationHouseModel = _publicationHouseRepository.Get(id); _publicationHouseRepository.Delete(publicationHouseModel); }
protected override void Seed(ApplicationContext context) { Book book = new Book { Name = "Война и мир", Author = "Л. Толстой", YearOfPublishing = 1998 }; PublicationHouse house = new PublicationHouse { Name = "qwerty", Adress = "Tales-Street" }; house.Books.Add(book); book.PublicationHouses.Add(house); context.Books.Add(new Book { Name = "Отцы и дети", Author = "И. Тургенев", YearOfPublishing = 2016, PublicationHouses = new List <PublicationHouse> { house } }); context.Books.Add(new Book { Name = "Чайка", Author = "А. Чехов", YearOfPublishing = 2015, PublicationHouses = new List <PublicationHouse> { house } }); context.Books.Add(book); context.Magazines.Add(new Magazine { Name = "Forbes", Number = 20, YearOfPublishing = 2012 }); context.Magazines.Add(new Magazine { Name = "Biography", Number = 10, YearOfPublishing = 1960 }); context.Magazines.Add(new Magazine { Name = "Times", Number = 9, YearOfPublishing = 1880 }); context.Brochures.Add(new Brochure { Name = "asd", TypeOfCover = TypeOfCover.Soft, NumberOfPages = 123 }); context.PublicationHouses.Add(house); context.PublicationHouses.Add(new PublicationHouse { Name = "asd", Adress = "asd", Books = new List <Book> { book } }); var passwordHasher = new PasswordHasher(); var user = new ApplicationUser { Email = "*****@*****.**", UserName = "******" }; user.PasswordHash = passwordHasher.HashPassword("14921875"); user.SecurityStamp = Guid.NewGuid().ToString(); var adminRole = new ApplicationRole { Name = LibraryRoles.Admin.ToString() }; context.Roles.Add(adminRole); var userRole = new ApplicationRole { Name = LibraryRoles.User.ToString() }; context.Roles.Add(userRole); var role = new IdentityUserRole { RoleId = adminRole.Id, UserId = user.Id }; ClientProfile clientProfile = new ClientProfile { Id = user.Id, Address = "ул. Спортивная, д.30, кв.75", Name = "Будько Александр Алексеевич" }; context.ClientProfiles.Add(clientProfile); user.Roles.Add(role); context.Users.Add(user); base.Seed(context); }