public ActionResult BooksList(string SearchText = "", int bpageno = 1, int pagesize = 0, string selectedSubSectionIds = "", string selectedLanguageIds = "", string selectedBookTypeIds = "", bool HasActivity = false, bool HasAnimation = false, bool HasReadAloud = false) { if (pagesize <= 0) { pagesize = _pageSize; } if (Request.IsAjaxRequest()) { var model = _webClient.DownloadData <APIPagedList <Book> >("getbookslistbyfilter", new { PageIndex = bpageno, PageSize = pagesize, SearchText = "", SubSection = selectedSubSectionIds, Language = selectedLanguageIds, BookType = selectedBookTypeIds, HasActivity, HasAnimation, HasReadAloud }); var pmodel = new PagedList <Book>(model.Items, bpageno, pagesize, model.TotalItems); return(PartialView("_BooksListPost", pmodel)); } else { var model = _webClient.DownloadData <BooksListAPIResult>("getbookslistwithfilter", new { PageIndex = bpageno, PageSize = pagesize, SearchText = "" }); var pmodel = new PagedList <Book>(model.Books.Items, bpageno, pagesize, model.Books.TotalItems); var viewmodel = new BooksListResult(); viewmodel.Books = pmodel; viewmodel.BookType = model.BookType; viewmodel.Language = model.Language; //viewmodel.Genre = model.Genre; viewmodel.SubSection = model.SubSection; return(View(viewmodel)); } }
public ActionResult BooksList(int pageno = 1, int pagesize = 0) { if (pagesize <= 0) { pagesize = _pageSize; } var user = _authService.CurrentUser; var model = _webClient.DownloadData <BooksListAPIResult>("getbookslistwithfilter", new { PageIndex = pageno, PageSize = pagesize, SearchText = "" }); var pmodel = new PagedList <Book>(model.Books.Items, pageno, pagesize, model.Books.TotalItems); var viewmodel = new BooksListResult(); viewmodel.Books = pmodel; viewmodel.BookType = model.BookType; viewmodel.Language = model.Language; //viewmodel.Genre = model.Genre; viewmodel.SubSection = model.SubSection; return(View(viewmodel)); }
public ActionResult EditBooksMetadata(BooksListResult model) { model.Book.Language = string.Join(",", model.SelectedLanguageIds.Select(x => x).ToList()); model.Book.Genre = string.Join(",", model.SelectedGenreIds.Select(x => x).ToList()); model.Book.SubSection = string.Join(",", model.SelectedSubSectionIds.Select(x => x).ToList()); model.Book.Type = string.Join(",", model.SelectedTypeIds.Select(x => x).ToList()); FluentValidation.IValidator <BooksListResult> validator = new EditBookValidator(); var validationResults = validator.Validate(model); foreach (var item in validationResults.Errors) { ModelState.AddModelError(item.PropertyName, item.ErrorMessage); } try { if (ModelState.IsValid) { var result = _webClient.UploadData <GenericStatus>("updatebookmetadata", model.Book); switch (result) { case GenericStatus.Sucess: return(RedirectToRoute("BookInfo", new { bookid = model.Book.BookId })); default: ModelState.AddModelError("", Resource.EditBook_error); break; } } else { var model1 = _webClient.DownloadData <BooksListResult>("getbookdetailsbyid", new { Bookid = model.Book.BookId }); model.Language = model1.Language; model.SubSection = model1.SubSection; model.BookType = model1.BookType; model.Genre = model1.Genre; model.Book.ViewMode = model1.Book.ViewMode; model.Book.Thumbnail1 = model1.Book.Thumbnail1; for (int i = 0; i < model.Language.Count; i++) { model.Language[i].IsSelected = model.SelectedLanguageIds.Contains(model.Language[i].Id); } for (int i = 0; i < model.Genre.Count; i++) { model.Genre[i].IsSelected = model.SelectedGenreIds.Contains(model.Genre[i].Id); } for (int i = 0; i < model.SubSection.Count; i++) { model.SubSection[i].IsSelected = model.SelectedSubSectionIds.Contains(model.SubSection[i].Id); } for (int i = 0; i < model.BookType.Count; i++) { model.BookType[i].IsSelected = model.SelectedTypeIds.Contains(model.BookType[i].Id); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } if (MvcSiteMapProvider.SiteMaps.Current.CurrentNode != null) { if (model.Book.Title != null && (model.Book.Title).Length > 20) { MvcSiteMapProvider.SiteMaps.Current.CurrentNode.ParentNode.Title = (model.Book.Title).Substring(0, 20) + "..."; } else { MvcSiteMapProvider.SiteMaps.Current.CurrentNode.ParentNode.Title = model.Book.Title != null? model.Book.Title:""; } } return(View(model)); }