public BinaryDataDTO DownloadById(int requestId, int fileId) { //var test = from i in ApplicationContext.Requests // where i.Id == idReq // select new // { // item = from o in i.Files // where o.Id == idFile // select new // { // o.FileName // } // }; var request = ApplicationContext.Requests.First(x => x.Id == requestId); var file = ApplicationContext.Files.Single(x => x.Id == fileId && x.RequestFormToken == request.UserId); var binary = ApplicationContext.BinaryFilesData.Single(x => x.Id == file.Id); //var item = ApplicationContext.Requests.Where(x => x.Id == idReq).Select(y => y.Files); //foreach (var collection in item) //{ // var i = collection; //} //var item = ApplicationContext.Files.Where(x => x.Id == id).Select(x=>x.BinaryData.Content).LastOrDefault(); BinaryDataDTO fileDto = new BinaryDataDTO { Content = binary.Content }; return(fileDto); }
public async Task <IActionResult> RequestFromClientFormDoc() { FullRequestForm fullRequestForm = new FullRequestForm(Request); if (ModelState.IsValid) { int?count = 1; if (fullRequestForm.Files.Count > 5) { return(null); } foreach (var items in fullRequestForm.Files) { if (items != null && items.Length > 0) { using (var reader = new System.IO.BinaryReader(items.OpenReadStream())) { var binData = new BinaryDataDTO { Content = reader.ReadBytes(Convert.ToInt32(items.Length)) }; var fileVm = new FileDTO { BinaryData = binData, FileName = Path.GetFileName(items.FileName), ContentType = items.ContentType, RequestFormToken = fullRequestForm.Token, FileIndex = count++ }; fileService.AddFile(fileVm); } } } } return(Ok(new { count = fullRequestForm.Files.Count })); }