Ejemplo n.º 1
0
        /// <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]);
            });
        }
Ejemplo n.º 2
0
        public void Post([FromBody] Book book)
        {
            if (book is null)
            {
                throw new Exception("Input is null");
            }

            _dataService.AddBook(book);
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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]));
            });
        }