示例#1
0
        public JsonResult Download(string id)
        {
            try
            {
                BuildersCapitalDataProvider BuildersCapitalDataProvider = new BuildersCapitalDataProvider();
                Document    foundDocument = BuildersCapitalDataProvider.RetrieveDocuments().ToList().Find(x => x.Id == new Guid(id));
                ZipProvider ZipProvider   = new ZipProvider();
                string      fileName      = $"{id}.zip";
                string      folderName    = "/Output/";
                string      serverPath    = Path.Combine(Server.MapPath("~" + folderName), fileName);
                ZipProvider.WriteByteArrayToFile(serverPath, foundDocument.DocBlob);

                var result = new
                {
                    error   = 0,
                    data    = folderName + fileName,
                    message = ""
                };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            catch (Exception ex)
            {
                var result = new
                {
                    error   = 1,
                    data    = "",
                    message = ex.Message
                };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
示例#2
0
        public async Task <JsonResult> DownloadAsync(string id)
        {
            try
            {
                BuildersCapitalDataProvider BuildersCapitalDataProvider = new BuildersCapitalDataProvider();
                Document    foundDocument = BuildersCapitalDataProvider.RetrieveDocuments().ToList().Find(x => x.Id == new Guid(id));
                ZipProvider ZipProvider   = new ZipProvider();
                string      path          = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads/" + id + ".zip");
                await ZipProvider.DownloadZipFile(path, foundDocument.DocBlob);

                var result = new
                {
                    error   = 0,
                    data    = path,
                    message = ""
                };
                return(await Task.FromResult(Json(result, JsonRequestBehavior.AllowGet)));
            }

            catch (Exception ex)
            {
                var result = new
                {
                    error   = 1,
                    data    = "",
                    message = ex.Message
                };
                return(await Task.FromResult(Json(result, JsonRequestBehavior.AllowGet)));
            }
        }
示例#3
0
        public void Should_create_zip_file()
        {
            //Arrange
            _mockTaskRepository = MockRepository.GenerateStub <ITaskRepository>();
            var task = new TaskEntity()
            {
                Status       = "done",
                DownloadPath = _testDirectoryPath
            };

            _mockTaskRepository.Stub(t => t.GetTaskById(1)).Return(task);
            _mockTaskRepository.Stub(t => t.UpdateTask(task));
            ZipProvider zp = new ZipProvider(_mockTaskRepository);

            //Act
            zp.Zip(_testDirectoryPath, 1);

            //Assert
            _mockTaskRepository.AssertWasCalled(t => t.GetTaskById(1));
            _mockTaskRepository.AssertWasCalled(t => t.UpdateTask(task));
            fi = new FileInfo(Path.Combine(Path.GetTempPath(), "Test.zip"));
            Assert.AreEqual(fi.Exists, true);
        }