/// <summary> /// Initializes a new instance of the MainViewModel class. Initializes DataFields /// </summary> public MainViewModel(IDataService <TEntity> dataService) { _book = new TEntity(); Books = dataService.GetBooks(); _index = 0; _dataService = dataService; Add = new RelayCommand(() => { var add = GetClone(_book); Books.Add(add); _dataService.AddBook(add); }); Remove = new RelayCommand(() => { if (_index < Books.Count && _index >= 0) { _dataService.RemoveBook(Books[Index]); Books.RemoveAt(Index); } }); Modify = new RelayCommand(() => { GetClone(Book, Books[Index]); _dataService.ModifyBook(Books[Index]); }); }
public void Post([FromBody] Book book) { if (book is null) { throw new Exception("Input is null"); } _dataService.AddBook(book); }
public async Task <IActionResult> Create([Bind("Id,Title,PublishedYear,PageNumber,ISBN,AgeLimit,AuthorId,IsActive")] Book book) { if (ModelState.IsValid) { await _dataService.AddBook(book); return(RedirectToAction(nameof(Index))); } ViewData["AuthorId"] = new SelectList(await _dataService.GetAllAuthors(), "Id", "Name", book.AuthorId); return(View(book)); }
public MainViewModel(IDataService dataService) { Mapper.CreateMap <DataBooks, ViewBooks>().ReverseMap(); _book = new ViewBooks(); Books = new ObservableCollection <ViewBooks>(); foreach (var book in dataService.GetBooks()) { //Null reference Exception! Books.Add(_dataService.Set <ViewBooks>(book)); } _index = 0; _dataService = dataService; Add = new RelayCommand(() => { var add = GetClone(_book); Books.Add(add); var toService = _dataService.Reverse(add); _dataService.AddBook(toService); add.Id = toService.Id; }); Remove = new RelayCommand(() => { if (_index < Books.Count && _index >= 0) { _dataService.RemoveBook(_dataService.Reverse(Books[Index])); Books.RemoveAt(Index); } }); Modify = new RelayCommand(() => { GetClone(Book, Books[Index]); _dataService.ModifyBook(Mapper.Map <DataBooks>(Books[Index])); }); }