public async Task <IActionResult> GetAudience(string audienceId) { return(await Task.Factory.StartNew <IActionResult>(() => { try { using (this.unitOfWork = new UniversityNavigatorUnitOfWork()) { var rootPath = Directory.GetParent(this.webHostEnvironment.ContentRootPath).FullName; var resultData = this.unitOfWork.AudienceRepository.Get().Where(aud => aud.AudienceId == audienceId) .Select(aud => new AudienceViewModel { AudienceId = aud.AudienceId, Floor = aud.Floor, Building = aud.Building, ImageBytes = System.IO.File.ReadAllBytes(Path.Combine(rootPath, aud.AudienceImage.ImagePath)) }).ToList(); return Ok(resultData); } } catch (Exception ex) { return StatusCode(500, ex.Message); } })); }
public async Task <IActionResult> GetAudienceImage(string audienceId) { return(await Task.Factory.StartNew <IActionResult>(() => { using (this.unitOfWork = new UniversityNavigatorUnitOfWork()) { var rootPath = Directory.GetParent(this.webHostEnvironment.ContentRootPath).FullName; var imagePath = this.unitOfWork.AudienceRepository.GetByID(audienceId)?.AudienceImage?.ImagePath; if (imagePath == null) { return this.NotFound($"Image of audience with (Identifier={audienceId}) not found"); } var imageStream = System.IO.File.OpenRead(Path.Combine(rootPath, imagePath)); return this.File(imageStream, "image/jpg"); } })); }