public IActionResult AddBook() { //AddEditBookViewModel model = new AddEditBookViewModel //{ // Authors = _context.Authors.Select(a => new SelectListItem // { // Text = a.AuthorName, // //the value accepts the string data type as a result we should convert data type to string // Value = a.AuthorId.ToString() // }).ToList(), // BookGroups = _context.BookGroups.Select(bg => new SelectListItem // { // Text = bg.BookGroupName, // Value = bg.BookGroupId.ToString() // }).ToList() //}; AddEditBookViewModel model = new AddEditBookViewModel(); model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, //the value accepts the string data type as a result we should convert data type to string Value = a.AuthorId.ToString() }).ToList(); model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupId.ToString() }).ToList(); return(PartialView("_AddEditBookPartial", model)); }
public IActionResult EditBook(int id) { AddEditBookViewModel model = new AddEditBookViewModel(); model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupID.ToString() }).ToList(); model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorID.ToString() }).ToList(); if (id != 0) { using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>()) { Book book = _context.Books.SingleOrDefault(b => b.BookID == id); if (book != null) { model.BookID = book.BookID; model.BookName = book.BookName; model.BookDescription = book.BookDescription; model.BookPageCount = book.BookPageCount; model.AuthorID = book.AuthorID; model.BookGroupID = book.BookGroupID; model.BookImage = book.BookImage; } } } return(PartialView("_AddEditBook", model)); }
public ActionResult Add() { var authors = _dbContext.Authors; AddEditBookViewModel model = new AddEditBookViewModel() { Authors = GetSelectListItem(authors) }; return(View(model)); }
public async Task <ActionResult> Edit(AddEditBookViewModel bookModel) { if (ModelState.IsValid) { Book book = await _dbContext.Books.FindAsync(bookModel.Id); book.Title = bookModel.Title; await _dbContext.SaveChangesAsync(); return(RedirectToAction("index")); } return(View()); }
public IActionResult AddBook() { AddEditBookViewModel model = new AddEditBookViewModel(); model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupID.ToString() }).ToList(); model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorID.ToString() }).ToList(); return(PartialView("_AddEditBook", model)); }
public AddEditBookViewModel AddBook() { AddEditBookViewModel model = new AddEditBookViewModel(); model.BookGroups = _db.bookGroups.Select(bg => new SelectListItem { Text = bg.GropuName, Value = bg.BookGroupId.ToString() }).ToList(); model.Authors = _db.authors.Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorId.ToString() }).ToList(); return(model); }
public void InsertBook(AddEditBookViewModel model) { using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>()) { Book book = new Book { BookName = model.BookName, Description = model.Description, Image = model.Image, AuthorID = model.AuthorID, BookGroupID = model.BookGroupID, PageNumber = model.PageNumber, Price = model.Price, BookStock = model.BookStock }; db.books.Add(book); } }
public IActionResult EditBook(int id) { AddEditBookViewModel model = new AddEditBookViewModel(); model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupId.ToString() }).ToList(); model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, //the value accepts the string data type as a result we should convert data type to string Value = a.AuthorId.ToString() }).ToList(); if (id != 0) { using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>()) { Book book = _context.Books.Where(b => b.BookId == id).SingleOrDefault(); if (book != null) { model.BookName = book.BookName; model.BookDescription = book.BookDescription; model.BookPageCount = book.BookPageCount; //مقدار کمبو باکس انتخاب شده توسط کاربر انتخابی برای ویرایش را برمیگرداند model.AuthorId = book.AuthorId; //مقدار کمبو باکس انتخاب شده توسط کاربر انتخابی برای ویرایش را برمیگرداند model.BookGroupId = book.BookGroupId; model.BookId = book.BookId; //برای دریافت نام عکس در مودال و نمایش ان به کمک ویوبگ model.BookImage = book.BookImage; } } } //برای ارسال مسیر عکس ها برای نمایش در مودال ویرایش کتاب و پیش نمایش ان ViewBag.imgRoot = "/upload/thumbnailimage/"; return(PartialView("_AddEditBookPartial", model)); }
public async Task <ActionResult> Edit(int bookID) { Book bookToEdit = await _dbContext .Books .Where(b => !b.Deleted && b.ID == bookID) .Include(b => b.BookAuthors) .ThenInclude(b => b.Author) .SingleAsync(); AddEditBookViewModel model = new AddEditBookViewModel() { Id = bookID, Title = bookToEdit.Title, AuthorID = bookToEdit.BookAuthors .Where(b => b.BookID == bookID) .Select(ba => ba.Author).Single().ID, Authors = GetSelectListItem(_dbContext.Authors), }; return(View(model)); }
public AddEditBookViewModel EditBook(int id) { AddEditBookViewModel model = new AddEditBookViewModel(); model.BookGroups = _db.bookGroups.Select(bg => new SelectListItem { Text = bg.GropuName, Value = bg.BookGroupId.ToString() }).ToList(); model.Authors = _db.authors.Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorId.ToString() }).ToList(); if (id != 0) { using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>()) { Book book = db.books.Where(b => b.BookId == id).SingleOrDefault(); if (book != null) { model.BookId = book.BookId; model.BookName = book.BookName; model.Description = book.Description; model.PageNumber = book.PageNumber; model.Image = book.Image; model.AuthorID = book.AuthorID; model.BookGroupID = book.BookGroupID; model.Price = book.Price; model.BookStock = book.BookStock; } } } return(model); }
public async Task <ActionResult> Add(AddEditBookViewModel model) { if (ModelState.IsValid) { Book book = new Book() { Title = model.Title, }; BookAuthors bookAuthors = new BookAuthors() { Book = book, Author = await _dbContext.Authors.FindAsync(model.AuthorID) }; await _dbContext.BookAuthors.AddAsync(bookAuthors); await _dbContext.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View()); }
// [ValidateAntiForgeryToken] // this statement does'nt allow run ajax-jquery public async Task <IActionResult> AddEditBook(int bookId, AddEditBookViewModel model, IEnumerable <IFormFile> files, string imgName) { if (ModelState.IsValid) { //------################### *** Upload Image *** ------################### var uploads = Path.Combine(_appEnvironment.WebRootPath, "upload\\normalimage\\"); foreach (var item in files) { if (item != null && item.Length > 0) { //creating a unique name for each file and then atach the format of each file to the unique name var filename = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(item.FileName); //for saving path of file in data base and saving file in root project(wwwroot) using (var fs = new FileStream(Path.Combine(uploads, filename), FileMode.Create)) { await item.CopyToAsync(fs); model.BookImage = filename; } //---------------------------resize Image --------------------------------- //for creating a smaller size copying of uploading photo InsertShowImage.ImageResizer img = new InsertShowImage.ImageResizer(); img.Resize(uploads + filename, _appEnvironment.WebRootPath + "\\upload\\thumbnailimage\\" + filename); } } //------####################------ End Uploadin Images -------######################### //Inserting if (bookId == 0) { //اگر کاربر تصویری برای کتاب مشخص نکرد نصویر پیش فرض ما ذخیره شود if (model.BookImage == null) { model.BookImage = "defaultpic.png"; } using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>()) { //برای گفتن صریح اینکه ویو مدل ما همان کلاس بوک مااست به ام وی سی و بتواند ان را روی جدول بوک ذخیره کند //Book bookModel = _mapper.Map<AddEditBookViewModel, Book>(model); Book bookModel = Mapper.Map <AddEditBookViewModel, Book>(model); db.Books.Add(bookModel); db.SaveChanges(); } return(Json(new { status = "success", message = "کتاب با موفقیت اضافه شد" })); } //Updating else { //اگر کاربر درحالت ویرایش تصویری وارد نکرد تصویر قبلی ذخیره شده ان دوباره به ان منتصب شود if (model.BookImage == null) { model.BookImage = imgName; } using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>()) { //برای گفتن صریح اینکه ویو مدل ما همان کلاس بوک مااست به ام وی سی و بتواند ان را روی جدول بوک ذخیره کند Book bookModel = Mapper.Map <AddEditBookViewModel, Book>(model); db.Books.Update(bookModel); db.SaveChanges(); } return(Json(new { status = "success", message = "اطلاعات کتاب با موفقیت ویرایش شد" })); } }//end model state // برای نایش کمبو باکس ها بعد خطا در ولیدیشن ها model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, //the value accepts the string data type as a result we should convert data type to string Value = a.AuthorId.ToString() }).ToList(); model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupId.ToString() }).ToList(); //display validation with jquery ajax var list = new List <string>(); foreach (var validation in ViewData.ModelState.Values) { list.AddRange(validation.Errors.Select(error => error.ErrorMessage)); } return(Json(new { status = "error", error = list })); // // آی دی ورودی حتما باید همنام اتریبیوت // //تگ باشد که درپارشال asp-for="BookId" // // دادیم_AddEditBookPartial // if (ModelState.IsValid ) // { // if (bookId == 0) // { // //Insert // using (var db = _iServiceProvider.GetRequiredService<ApplicationDbContext>()) // { // //برای گفتن صریح اینکه ویو مدل ما همان کلاس بوک مااست به ام وی سی و بتواند ان را روی جدول بوک ذخیره کند // //Book bookModel = _mapper.Map<AddEditBookViewModel, Book>(model); // Book bookModel = Mapper.Map<AddEditBookViewModel, Book>(model); // db.Books.Add(bookModel); // db.SaveChanges(); // } // } // else // { // //Update // using (var db = _iServiceProvider.GetRequiredService<ApplicationDbContext>()) // { // //برای گفتن صریح اینکه ویو مدل ما همان کلاس بوک مااست به ام وی سی و بتواند ان را روی جدول بوک ذخیره کند // Book bookModel = Mapper.Map<AddEditBookViewModel, Book>(model); // db.Books.Update(bookModel); // db.SaveChanges(); // } // } // return PartialView("_SuccessfullyResponsePartial", redirectUrl); // } // //برای نایش کمبو باکس ها بعد خطا در ولیدیشن ها // model.Authors = _context.Authors.Select(a => new SelectListItem // { // Text = a.AuthorName, // //the value accepts the string data type as a result we should convert data type to string // Value = a.AuthorId.ToString() // }).ToList(); // model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem // { // Text = bg.BookGroupName, // Value = bg.BookGroupId.ToString() // }).ToList(); // return PartialView("_AddEditBookPartial", model); }
public async Task <IActionResult> AddEditBook(int BookId, AddEditBookViewModel model, IEnumerable <IFormFile> files, string ImgName) { if (ModelState.IsValid) { #region Begin: upload image var uploads = Path.Combine(_appEnvironment.WebRootPath, "upload\\normalimage\\"); var uploadsThubnail = Path.Combine(_appEnvironment.WebRootPath, "upload\\thumbnailimage\\"); foreach (var file in files) { if (file != null && file.Length > 0) { var filename = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName); using (var fs = new FileStream(Path.Combine(uploads, filename), FileMode.Create)) { await file.CopyToAsync(fs); model.Image = filename; } // resize image InsertShowImage.ImageResizer img = new InsertShowImage.ImageResizer(); img.Resize(uploads + filename, uploadsThubnail + filename); } } #endregion // insert if (BookId == 0) { _ibs.InsertBook(model); _ibs.Save(); return(Json(new { status = "success", message = "کتاب با موفقیت ثبت شد" })); } // update else { if (model.Image == null) { model.Image = ImgName; } _ibs.EditBook(model); _ibs.Save(); return(Json(new { status = "success", message = "کتاب با موفقیت بروز رسانی شد" })); } } #region Display validation with jquery ajax var list = new List <string>(); foreach (var validation in ViewData.ModelState.Values) { list.AddRange(validation.Errors.Select(error => error.ErrorMessage)); } #endregion #region reload select model.BookGroups = _ibs.GetAllBookGroup().Select(bg => new SelectListItem { Text = bg.GropuName, Value = bg.BookGroupId.ToString() }).ToList(); model.Authors = _ibs.GetAllAuthor().Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorId.ToString() }).ToList(); #endregion return(Json(new { status = "error", error = list })); }
// [ValidateAntiForgeryToken] // public IActionResult AddEditBook(int BookID, AddEditBookViewModel model, string redirectURL) public async Task <IActionResult> AddEditBook(int BookID, AddEditBookViewModel model, IEnumerable <IFormFile> files, string imgName) { if (ModelState.IsValid) { //upload image var uploads = Path.Combine(_appEnvironment.ContentRootPath, "upload\\normalImage\\"); foreach (var file in files) { if (file != null && file.Length > 0) { var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName); using (var fs = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) { await file.CopyToAsync(fs); model.BookImage = fileName; } ImageResizer img = new ImageResizer(); img.Resize(uploads + fileName, Path.Combine(_appEnvironment.ContentRootPath, "upload\\thumbnailImage\\" + fileName)); } } //upload image if (BookID == 0) { if (model.BookImage == null) { model.BookImage = "defaultPic.png"; } using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>()) { Book bookModel = Mapper.Map <AddEditBookViewModel, Book>(model); db.Books.Add(bookModel); db.SaveChanges(); } return(Json(new { status = "success", message = "کتاب با موفقیت ایجاد شد" })); } else { if (model.BookImage == null) { model.BookImage = imgName; } using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>()) { Book bookModel = Mapper.Map <AddEditBookViewModel, Book>(model); db.Books.Update(bookModel); db.SaveChanges(); } return(Json(new { status = "success", message = "کتاب با موفقیت ویرایش شد" })); } } model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem { Text = bg.BookGroupName, Value = bg.BookGroupID.ToString() }).ToList(); model.Authors = _context.Authors.Select(a => new SelectListItem { Text = a.AuthorName, Value = a.AuthorID.ToString() }).ToList(); var list = new List <string>(); foreach (var validation in ViewData.ModelState.Values) { list.AddRange(validation.Errors.Select(error => error.ErrorMessage)); } return(Json(new { status = "error", error = list })); // if (ModelState.IsValid) // { // if (BookID == 0) // { // using (var db = _serviceProvider.GetRequiredService<ApplicationDbContext>()) // { // Book bookModel = AutoMapper.Mapper.Map<AddEditBookViewModel, Book>(model); // db.Books.Add(bookModel); // db.SaveChanges(); // } // // return PartialView("_successfulResponse", redirectURL); // } // else // { // using (var db=_serviceProvider.GetRequiredService<ApplicationDbContext>()) // { // Book bookModel = AutoMapper.Mapper.Map<AddEditBookViewModel, Book>(model); // db.Books.Update(bookModel); // db.SaveChanges(); // } // } // } // model.BookGroups = _context.BookGroups.Select(bg => new SelectListItem // { // Text = bg.BookGroupName, // Value = bg.BookGroupID.ToString() // }).ToList(); // // model.Authors = _context.Authors.Select(a => new SelectListItem // { // Text = a.AuthorName, // Value = a.AuthorID.ToString() // }).ToList(); // return PartialView("_AddEditBook", model); }