public HttpResponseMessage Add(HttpRequestMessage request, EbookViewModel entityVM) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { Ebook newEntity = new Ebook(); newEntity.UpdateEbook(entityVM); ebookService.Create(newEntity); ebookService.Save(); // Update view model entityVM = Mapper.Map <Ebook, EbookViewModel>(newEntity); response = request.CreateResponse <EbookViewModel>(HttpStatusCode.Created, entityVM); } return response; })); }
public static async Task <bool> TryShowWindowAsync(EbookViewModel ebookViewModel) { if (App.ReadingWindows.Keys.Any(rw => rw.Isbn == ebookViewModel.Isbn)) { return(await App.ReadingWindows[App.ReadingWindows.Keys.First(evm => evm.Isbn == ebookViewModel.Isbn)].TryShowAsync()); } AppWindow readingWindow = await AppWindow.TryCreateAsync(); App.ReadingWindows.Add(ebookViewModel, readingWindow); readingWindow.Title = ebookViewModel.Title; readingWindow.Closed += (sender, e) => { App.ReadingWindows.Remove(App.ReadingWindows.First(_ => _.Value == sender).Key); }; Frame readingWindowContentFrame = new Frame(); readingWindowContentFrame.Navigate(typeof(ReadingPage), ebookViewModel); ElementCompositionPreview.SetAppWindowContent(readingWindow, readingWindowContentFrame); return(await readingWindow.TryShowAsync()); }
public HttpResponseMessage Update(HttpRequestMessage request, EbookViewModel entity) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { var pageDb = ebookService.GetEbook(entity.ID); if (pageDb == null) { response = request.CreateErrorResponse(HttpStatusCode.NotFound, "Invalid."); } else { pageDb.UpdateEbook(entity); ebookService.Save(); response = request.CreateResponse <EbookViewModel>(HttpStatusCode.OK, entity); } } return response; })); }
public async Task <ActionResult> Index() { using (var db = new EbookManagerDbContext()) { var catalogRepository = new CatalogRepository(db); var ebooks = await catalogRepository.LoadCatalogAsync(); var model = new AdminCatalogModel(); model.Ebooks = ebooks.Select(e => EbookViewModel.FromEbook(e)).ToList(); return(View(model)); } }
public async Task <ActionResult> Index() { using (var db = new EbookManagerDbContext()) { var catalogRepository = new CatalogRepository(db); var ebooks = await catalogRepository.LoadCatalogWithoutPartsAsync(); var model = new CatalogViewModel(); model.Ebooks.AddRange(ebooks.Select(e => EbookViewModel.FromEbook(e))); return(View(model)); } }
public async Task <ActionResult> Index() { using (var db = new EbookManagerDbContext()) { var userName = User.Identity.Name; var catalogRepository = new CatalogRepository(db); var ebooks = await catalogRepository.LoadUserCatalog(userName); var model = new CatalogViewModel(); model.Ebooks.AddRange(ebooks.Select(e => EbookViewModel.FromEbook(e))); return(View(model)); } }
public async Task <ActionResult> DeleteBook(Guid ebookId) { using (var db = new EbookManagerDbContext()) { var catalogRepository = new CatalogRepository(db); var ebook = await catalogRepository.GetEbookAsync(ebookId); if (ebook == null) { throw new HttpException(404, "not found"); } var model = EbookViewModel.FromEbook(ebook); return(View(model)); } }
public async Task <ActionResult> Details(Guid ebookId) { using (var db = new EbookManagerDbContext()) { var catalogRepository = new CatalogRepository(db); var ebook = await catalogRepository.GetEbookAsync(ebookId); var model = EbookViewModel.FromEbook(ebook); var userId = ClaimsPrincipal.Current.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value; ViewBag.UserOwnsBook = await catalogRepository.UserOwnsBookAsync(userId, ebookId); return(View(model)); } }
public static void UpdateEbook(this Ebook ebook, EbookViewModel ebookVm) { ebook.Name = ebookVm.Name; ebook.Alias = string.IsNullOrEmpty(ebookVm.Alias) ? StringHelper.ToUnsignString(ebookVm.Name) : ebookVm.Alias; ebook.Image = ebookVm.Image; ebook.CreatedDate = ebookVm.CreatedDate; ebook.CreatedBy = ebookVm.CreatedBy; ebook.Description = ebookVm.Description; ebook.Content = ebookVm.Content; ebook.Status = ebookVm.Status; ebook.DownloadLink = ebookVm.DownloadLink; ebook.DisplayOrder = ebookVm.DisplayOrder; ebook.Status = ebookVm.Status; ebook.MetaKeyword = ebookVm.MetaKeyword; ebook.MetaDescription = ebookVm.MetaDescription; }