Example #1
0
        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);
        }
Example #2
0
        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 }));
        }