public IHttpActionResult GetContent(string id) { Report report = _reportsRepository.GetWithContent(id); if (report == null) { return(NotFound()); } RangeContentInfo rangeContentInfo = GetRangeContentInfo(); return(FileResult(report.MapToViewModel(), rangeContentInfo)); }
protected RangeContentInfo GetRangeContentInfo() { RangeContentInfo rangeContentInfo = new RangeContentInfo { IsPartial = false }; RangeHeaderValue rangeHeaderValue = Request.Headers.Range; if (rangeHeaderValue != null) { if (rangeHeaderValue.Ranges.Count > 1 || !string.Equals(rangeHeaderValue.Unit, ActionResults.FileResult.RangeUnit, StringComparison.InvariantCultureIgnoreCase)) { throw new HttpResponseException(HttpStatusCode.RequestedRangeNotSatisfiable); } rangeContentInfo.IsPartial = true; rangeContentInfo.RangeHeaderValue = rangeHeaderValue; } return(rangeContentInfo); }
public FileResult(IFileViewModel fileViewModel, RangeContentInfo rangeContentInfo) { _fileViewModel = fileViewModel; _rangeContentInfo = rangeContentInfo; }
protected IHttpActionResult FileResult(IFileViewModel fileViewModel, RangeContentInfo rangeContentInfo) { return(new FileResult(fileViewModel, rangeContentInfo)); }