public IActionResult EditBook( [Bind(nameof(EditBookModel.Id), nameof(EditBookModel.Title), nameof(CreateBookModel.imageFile), nameof(EditBookModel.Description), nameof(EditBookModel.Edition))] EditBookModel model) { if (ModelState.IsValid) { try { model.Edit(); model.Response = new ResponseModel("Book creation successful.", ResponseType.Success); return(RedirectToAction("Index")); } catch (DuplicationException ex) { model.Response = new ResponseModel(ex.Message, ResponseType.Failure); // error logger code } catch (Exception ex) { model.Response = new ResponseModel("Book creation failued.", ResponseType.Failure); // error logger code } } return(View(model)); }
public IActionResult EditBook(int id) { var model = new EditBookModel(); model.Load(id); return(View(model)); }
public DataTable UpdateBook(EditBookModel editBookModel) { SqlParameter[] sqlParameter = new SqlParameter[6]; sqlParameter[0] = new SqlParameter("@BookName", SqlDbType.VarChar); sqlParameter[0].Value = Convert.ToString(editBookModel.BookName); sqlParameter[1] = new SqlParameter("@ReleaseDate", SqlDbType.DateTime); sqlParameter[1].Value = editBookModel.ReleaseDate; sqlParameter[2] = new SqlParameter("@Author", SqlDbType.VarChar); sqlParameter[2].Value = Convert.ToString(editBookModel.Author); sqlParameter[3] = new SqlParameter("@Genre", SqlDbType.VarChar); sqlParameter[3].Value = Convert.ToString(editBookModel.Genre); sqlParameter[4] = new SqlParameter("@Price", SqlDbType.Decimal); sqlParameter[4].Value = Convert.ToDecimal(editBookModel.Price); sqlParameter[5] = new SqlParameter("@Id", SqlDbType.Int); sqlParameter[5].Value = Convert.ToInt32(editBookModel.Id); return(dBConnection.executeStoredProcedure("EditBookDetail", sqlParameter)); }
public ActionResult EditBook(int Id) { DataTable dt = libraryService.BookList(Id); List <EditBookModel> _editBookModel = CommonService.ConvertToList <EditBookModel>(dt); EditBookModel editBookModel = _editBookModel.Find(uid => uid.Id == Id); return(View(editBookModel)); }
public ActionResult EditBook(int bookId) { var context = new AppDbContext(); Book book = context.Books.Find(bookId); var errMsg = TempData["ErrorMessage"] as string; List <string> bookImages = new List <string>(); foreach (BookImage b in book.ImagesForBook) { string imageSrc = "/Images/noFoto.png"; var firstImage = b; string imageBase64 = Convert.ToBase64String(firstImage.Image); imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64); Debug.WriteLine(imageSrc); bookImages.Add(imageSrc); } List <float> deliveryPrices = new List <float>(); List <string> deliveryNames = new List <string>(); Dictionary <string, float> deliveryDict = new Dictionary <string, float>(); foreach (var d in book.DeliveryforBook) { deliveryPrices.Add(d.Price); deliveryNames.Add(d.Name); } deliveryDict.Add("Odbiór osobisty", 0.0f); deliveryDict.Add("Przesyłka pocztowa - priorytetowa", 12.0f); deliveryDict.Add("Przesyłka pocztowa - ekonomiczna", 10.0f); deliveryDict.Add("Przesyłka kurierska", 15.0f); var editBook = new EditBookModel { Id = bookId, Author = book.Author, Title = book.Title, Genre = book.Genre, Description = book.Description, Price = book.Price, Publisher = book.Publisher, Changeable = book.Changeable, PublicationDate = book.PublicationDate, BookImages = bookImages, Seller = book.Seller, DeliveryName = deliveryNames, DeliveryPrice = deliveryPrices, DeliveryDict = deliveryDict, }; if (errMsg != null) { ModelState.AddModelError("", errMsg); } return(View(editBook)); }
public void Will_Add_New_Stories_With_Title_Into_Entity() { var book = new Book(); var model = new EditBookModel(); model.NewStories.First().Title = "Great story!"; mapper.MergeEntityWithModel(book, model); Assert.That(book.Stories.Single().Value.Title, Is.EqualTo("Great story!")); }
public void Will_Throw_Mapping_Exception_If_Model_Refers_To_Nonexistent_Translator() { var book = new Book(); var model = new EditBookModel { TranslatorIds = new[] { 1234 } }; Assert.Throws <MappingException>(() => mapper.MergeEntityWithModel(book, model)); }
public void Can_Merge_ReviewText_Into_Entity() { var book = new Book(); var model = new EditBookModel { ReviewText = "Terrible book." }; mapper.MergeEntityWithModel(book, model); Assert.That(book.ReviewText, Is.EqualTo(model.ReviewText)); }
public void Will_Throw_When_Provided_With_NonExisting_Editor_Id() { var model = new EditBookModel { EditorIds = new[] { -42 } }; var book = new Book(); Assert.Throws <MappingException>(() => mapper.MergeEntityWithModel(book, model)); }
// GET: AddBook // 新增 Book 的表單 Controller public ActionResult AddBook() { AddBookFactory factory = new AddBookFactory(); EditBookModel ab = new EditBookModel(); ab.出版社編號加名稱 = factory.傳回出版社編號名稱(); ab.作者編號加名稱 = factory.傳回作者編號名稱(); return(View(ab)); }
public IActionResult NewBook() { var model = new EditBookModel() { AvailableLanguages = LanguagesService.GetAll().ToArray(), BookLanguageID = AccountService.GetLogonAccount().LearningLanguageID ?? 0, }; return(View(model)); }
public void Will_Create_New_Story_If_It_Did_Not_Exist_Yet() { var book = new Book(); var model = new EditBookModel() { Stories = new[] { new EditStoryModel() }.ToList() }; mapper.MergeEntityWithModel(book, model); Assert.That(book.Stories.Count(), Is.EqualTo(1)); }
public void Will_Default_Have_Empty_EditorIds_List() { // This test is here because MVC will instantiate a default model upon // posting a form to an action, and the mapper needs an empty list instead // of a null value. var model = new EditBookModel(); var book = new Book(); mapper.MergeEntityWithModel(book, model); Assert.That(book.Editors.Count(), Is.EqualTo(0)); }
public void Will_Set_Null_Publisher_If_Model_Contains_NonExistent_PublisherId() { var model = new EditBookModel { PublisherId = -1 }; var entity = new Book(); mapper.MergeEntityWithModel(entity, model); Assert.That(entity.Publisher, Is.Null); }
public void Save_Will_Return_Edit_View_If_State_Invalid() { controller.ModelState.AddModelError("", ""); var model = new EditBookModel { Id = 13 }; var result = (ViewResult)controller.Save(model); Assert.That(result.ViewName, Is.EqualTo("Edit")); Assert.That(result.Model, Is.EqualTo(model)); }
public void Can_Create_New_Item() { var newBookModel = new EditBookModel(); var result = controller.Create(newBookModel); Assert.That(result, Is.InstanceOf <RedirectToRouteResult>()); var redirectResult = (RedirectToRouteResult)result; Assert.That(redirectResult.RouteValues.ContainsKey("id")); }
public IActionResult CompleteNewBook(EditBookModel model) { if (!HandleErrorsBeforeCompletingBook(model)) { return(View("NewBook", model)); } // Add book var book = new Book(model.BookName, LanguagesService.Get(model.BookLanguageID), model.BookDescription); book = BooksService.Add(book); return(RedirectToAction("Book", new { id = book.ID })); }
public void Save_Action_Will_Redirect_To_Details_For_New_Item() { var model = new EditBookModel { Id = 0 }; var result = controller.Save(model); Assert.That(result, Is.InstanceOf <RedirectToRouteResult>()); var redirectResult = (RedirectToRouteResult)result; Assert.That(redirectResult.RouteValues["action"], Is.EqualTo("Details")); }
public IActionResult Update(Guid id, [FromBody] EditBookModel editBookModel) { if (!this.ModelState.IsValid) { return(BadRequest(this.ModelState.AsResource())); } var mappedBook = this._mapper.Map <Book>(editBookModel); this._books.Update(id, mappedBook); return(NoContent()); }
//--------------------------------------------------------EDIT-------------------------------------------------------- public ActionResult Edit(string id) { if (Session["user"] == null) { return(RedirectToAction("Index")); } EditBookModel obj = new EditBookModel(); obj.Book = Book.getBook(id); obj.Authors = Author.getAuthorList(); return(View(obj)); }
// 修改章節 public ActionResult EditChapters(int?bc_id) { EditBookFactory factory = new EditBookFactory(); if (bc_id != null) { EditBookModel eb = factory.帶出要修改的章節資訊((int)bc_id); return(View(eb)); } else { return(RedirectToAction("EditChaptersList")); } }
public async Task EditAsync(int id, EditBookModel bookModel) { var book = this.dbContext.Books.Find(id); book.Title = bookModel.Title; book.Description = bookModel.Description; book.Price = bookModel.Price; book.Copies = bookModel.Copies; book.Edition = bookModel.Edition; book.AgeRestriction = bookModel.AgeRestriction; book.ReleaseDate = bookModel.ReleaseDate; book.AuthorId = bookModel.AuthorId; await this.dbContext.SaveChangesAsync(); }
public void Will_Set_Publisher_If_Model_Contains_Some_PublisherId() { var model = new EditBookModel() { PublisherId = somePublisher.Id }; var entity = new Book(); publishers.Add(somePublisher); mapper.MergeEntityWithModel(entity, model); Assert.That(entity.Publisher, Is.Not.Null); Assert.That(entity.Publisher.Id, Is.EqualTo(somePublisher.Id)); }
public async Task <string> Upload(IFileListEntry file, EditBookModel model) { string uniqueName = Guid.NewGuid().ToString() + "_" + file.Name; var path = Path.Combine(hostEnvironment.WebRootPath, "images", uniqueName); var memorystream = new MemoryStream(); await file.Data.CopyToAsync(memorystream); using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write)) { memorystream.WriteTo(fileStream); } uniqueName = "images/" + uniqueName; return(uniqueName); }
// 要編輯的書籍的 <form> 表單 public ActionResult EditBookData(string b_id) { if (b_id != null) { EditBookFactory factory = new EditBookFactory(); EditBookModel eb = factory.帶出要修改的書籍資訊(b_id); eb.Tags字串 = factory.列出書籍Tags(b_id); eb.出版社編號加名稱列表 = factory.傳回出版社編號名稱列表(); eb.作者編號加名稱列表 = factory.傳回作者編號名稱列表(); eb.列出本書的作者 = factory.回傳該本書籍的作者List(b_id); return(View(eb)); } return(RedirectToAction("List")); }
public void Domain_Book_Will_Get_Editors_From_Model() { people.Add(asimov); people.Add(wyndham); var model = new EditBookModel() { EditorIds = people.Items.Select(p => p.Id).ToArray() }; var book = new Book(); mapper.MergeEntityWithModel(book, model); Assert.That(book.Editors, Contains.Item(asimov)); Assert.That(book.Editors, Contains.Item(wyndham)); }
public IActionResult Edit(int id) { var book = BooksService.Get(id); if (book == default) { ShowErrorViewForNotFoundBook(id); } var model = new EditBookModel() { AvailableLanguages = LanguagesService.GetAll().ToArray(), BookID = id, BookName = book.Name, BookDescription = book.Description, BookLanguageID = book.Language.ID, }; return(View(model)); }
private bool HandleErrorsBeforeCompletingBook(EditBookModel model) { if (model.BookLanguageID == 0) { model.AlertType = AlertType.Error; model.AlertMessage = "Language must be set"; } if (string.IsNullOrEmpty(model.BookName)) { model.AlertType = AlertType.Error; model.AlertMessage = "Book name cannot be empty"; } if (model.AlertType == AlertType.Error) { model.AvailableLanguages = LanguagesService.GetAll().ToArray(); return(false); } return(true); }
public async Task <IActionResult> Edit(BookKeyModel key, EditBookModel model) { var book = await GetBookAsync(key); if (book == null) { return(NotFound()); } if (!ModelState.IsValid) { return(View(model)); } if (book.Name != model.Name) { await _dataService.RenameBookAsync(book.BookId, model.Name); } return(RedirectToAction("Index")); }
public IActionResult Edit(int?id, [FromBody] EditBookModel editBookModel) { if (id.HasValue && this.bookService.BookExists(id.Value)) { if (this.ModelState.IsValid) { var result = this.bookService.Edit(id.Value, editBookModel.Title, editBookModel.Description, editBookModel.Price, editBookModel.Copies, editBookModel.Edition, editBookModel.AgeRestriction, editBookModel.ReleaseDate, editBookModel.AuthorId); if (result is null) { return(BadRequest()); } return(Ok(result)); } return(BadRequest(this.ModelState)); } return(NotFound(InvalidBookRequestError)); }