Пример #1
0
        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));
        }
Пример #2
0
        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());
        }
Пример #5
0
        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));
        }
Пример #6
0
        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);
        }
Пример #7
0
 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);
     }
 }
Пример #8
0
        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));
        }
Пример #10
0
        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);
        }
Пример #11
0
        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());
        }
Пример #12
0
        // [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);
        }
Пример #13
0
        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 }));
        }
Пример #14
0
//        [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);
        }