public BookController(ICreateBook view, ReadOnlyContext context)
 {
     _context = context;
     _bookRepository = context.GetRepository<DataInterface.Entities.Book>();
     _copyRepository = context.GetRepository<Copy>();
     _tagsRepository = context.GetRepository<Tag>();
     _settingsRepository = context.GetRepository<CategorySettings>();
     _view = view;
     _view.AddBook += AddBook;
     _view.AddCopies += AddCopies;
     _view.UpdateTagsAutocompleteFieldValues(TagsToStringArray());
     _view.UpdateBorrowCategoriesComboBox(CategoriesToStringArray());
     _view.Show();
 }
示例#2
0
        public bool SaveBook(ICreateBook book, out string errormsg)
        {
            if (book.Id > 0)
            {
                try
                {
                    var record = db.Books.Find(book.Id);
                    record.Title       = book.Title;
                    record.GenreId     = book.GenreId;
                    record.AuthorId    = book.AuthorId;
                    record.Description = book.Description;

                    db.SaveChanges();

                    errormsg = null;
                    return(true);
                }
                catch (InvalidOperationException)
                {
                    errormsg = "Ошибка при сохранении. Запись не найдена.";
                    return(false);
                }
            }
            else
            {
                try
                {
                    var record = new DAL.Entities.Auth.Books.Book();
                    record.Title       = book.Title;
                    record.GenreId     = book.GenreId;
                    record.AuthorId    = book.AuthorId;
                    record.Description = book.Description;

                    db.Books.Add(record);
                    db.SaveChanges();

                    errormsg = null;
                    return(true);
                }
                catch (InvalidOperationException)
                {
                    errormsg = "Ошибка при сохранении. Запись не может быть добавлена.";
                    return(false);
                }
            }
        }
示例#3
0
        public ActionResult Edit(ICreateBook book)
        {
            book.Validate(ModelState);

            string errorMsg;

            SetViewBags();

            if (!ModelState.IsValid)
            {
                return(View(book));
            }

            if (!repo.SaveBook(book, out errorMsg))
            {
                TempData["Error"] = errorMsg;
                return(View(book));
            }

            return(RedirectToAction("Index"));
        }
 public IActionResult Post([FromBody] CreateModifyBookDto dto, [FromServices] ICreateBook command)
 {
     _executor.ExecuteCommand(command, dto);
     return(StatusCode(StatusCodes.Status201Created));
 }
示例#5
0
 public MainController(IEditBook libraryDaoDB, IGetBook readBookFromDaoDB, ICreateBook createBookFromDaoDB)
 {
     editBook   = libraryDaoDB;
     readBook   = readBookFromDaoDB;
     createBook = createBookFromDaoDB;
 }