public SlideResponseDto UpdateSlide(int id, SlideDto slide) { DbContextTransaction transaction = db.Database.BeginTransaction(); try { var slideFromDb = db.Slides.FirstOrDefault(n => !n.DelFlag && n.Id == id); if (slide == null) { return(null); } slideFromDb.Title = slide.Title; slideFromDb.Path = slide.Path; slideFromDb.ImageUrl = slide.ImageUrl; slideFromDb.IsShown = slide.IsShown; db.SaveChanges(); transaction.Commit(); return(new SlideResponseDto(slideFromDb)); } catch (Exception) { transaction.Rollback(); return(null); } }
public async Task <IActionResult> GetSlide(string presenter, string slug, int number, CancellationToken ct) { var slide = await _context.Slides .SingleOrDefaultAsync(s => s.Show.Presenter == presenter && s.Show.Slug == slug && s.Number == number, ct) .ConfigureAwait(false); return(slide == null?NotFound() : Ok(SlideDto.FromSlide(presenter, slug, slide))); }
public async Task <IActionResult> GetLatestSlide(string presenter, string slug, CancellationToken ct) { var slide = await _context.Slides .Where(s => s.Show.Presenter == presenter && s.Show.Slug == slug && s.HasBeenShown) .OrderByDescending(s => s.Number) .Take(1) .SingleOrDefaultAsync(ct) .ConfigureAwait(false); return(slide == null?NotFound() : Ok(SlideDto.FromSlide(presenter, slug, slide))); }
public static SlideDto ToSlideDto(this Slide slide) { var s = new SlideDto { _id = slide._id, Title = slide.Title, Hidden = (slide.Hidden == false) ? "Hidden" : "Visible", ChapterId = slide.ChapterId.ToString(), CDate = slide.CDate.ToString("MM/dd/yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture) }; return(s); }
public void CanListSlides() { // Establish Context IList <SlideDto> slideSummariesToExpect = new List <SlideDto>(); SlideDto slideDto = new SlideDto(); slideSummariesToExpect.Add(slideDto); slideManagementService.Expect(r => r.GetSlideSummaries()) .Return(slideSummariesToExpect); // Act ViewResult result = slidesController.Index().AssertViewRendered(); // Assert result.ViewData.Model.ShouldNotBeNull(); (result.ViewData.Model as IList <SlideDto>).ShouldNotBeNull(); (result.ViewData.Model as IList <SlideDto>).Count.ShouldEqual(1); }
public IHttpActionResult UpdateSlide(int id, [FromBody] SlideDto slideDto) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = _slideService.UpdateSlide(id, slideDto); if (result == null) { return(BadRequest("An error occurred when updating slide. Please try again.")); } return(Ok(result)); } catch (System.Exception e) { return(InternalServerError(e)); } }
public void CanGetSlideSummaries() { // Establish Context IList <SlideDto> slideSummariesToExpect = new List <SlideDto>(); SlideDto slideDto = new SlideDto(); slideSummariesToExpect.Add(slideDto); slideRepository.Expect(r => r.GetSlideSummaries()) .Return(slideSummariesToExpect); // Act IList <SlideDto> slideSummariesRetrieved = slideManagementService.GetSlideSummaries(); // Assert slideSummariesRetrieved.ShouldNotBeNull(); slideSummariesRetrieved.Count.ShouldEqual(1); slideSummariesRetrieved[0].ShouldNotBeNull(); slideSummariesRetrieved[0].ShouldEqual(slideDto); }
public async Task <IActionResult> PhotoUpload(int id, [FromForm] SlideDto slideDto) { // Slide slide = new Slide(); // var file = slideDto.File; // if (file.Length > 0) // { // MemoryStream ms = new MemoryStream(); // file.CopyTo(ms); // slide.Image = ms.ToArray(); // var result = await _repo.InsertAsync(slide); // } // return Ok(slide); var slideFromRepo = await _repo.GetByIDAsync(id); var file = slideDto.File; if (file.Length > 0) { string ImageName = id.ToString() + Path.GetExtension(file.FileName); string SavePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/assets/slide", ImageName); //string RelatedPath = Path.Combine("../wwwroot/img", ImageName); string RelatedPath = Path.Combine("~/wwwroot/assets/slide", ImageName); slideFromRepo.ImageUrl = "/assets/slide" + "/" + ImageName; MemoryStream ms = new MemoryStream(); file.CopyTo(ms); //slideFromRepo.Image = ms.ToArray(); var result = await _repo.UpdateAsync(slideFromRepo); using (var stream = new FileStream(SavePath, FileMode.Create)) { file.CopyTo(stream); } } return(Ok(slideFromRepo)); }
public SlideResponseDto AddSlide(SlideDto slide) { DbContextTransaction transaction = db.Database.BeginTransaction(); try { var newslide = db.Slides.Add(new EM.Database.Schema.Slide { Title = slide.Title, ImageUrl = slide.ImageUrl, Path = slide.Path, IsShown = slide.IsShown }); db.SaveChanges(); transaction.Commit(); return(new SlideResponseDto(newslide)); } catch (Exception) { transaction.Rollback(); return(null); } }