Пример #1
0
        public ApiResponse GenerateZipSelect(datosFileDow d)
        {
            ApiResponse apiResponse = new ApiResponse("OK", "");

            try
            {
                string folder = Settings.GetKey(Settings.KEY.templateGen);
                folder = Path.Combine(folder, TypeFolder.generated.ToString());
                string FolderId = Path.Combine(folder, d.id.ToString());

                List <string> data = new List <string>();


                foreach (string item in Directory.GetDirectories(FolderId))
                {
                    foreach (itemDetail i in d.idsDetail)
                    {
                        if (i.idItem == Convert.ToInt32(item.Split('\\')[item.Split('\\').Length - 1]))
                        {
                            data.Add(item);
                        }
                    }
                }



                string outString = FolderId + "\\" + d.id + "_Files.zip";

                if (File.Exists(outString))
                {
                    File.Delete(outString);
                }

                using (var archive = ZipFile.Open(outString, ZipArchiveMode.Create, Encoding.UTF8))
                {
                    foreach (string item in data)
                    {
                        var    iddetail   = item.Split('\\')[(item.Split('\\').Count() - 1)];
                        string FolderItem = Path.Combine(FolderId, item.ToString());
                        string route      = Path.Combine(FolderItem, $"{d.id}_{iddetail}.pdf");
                        if (System.IO.File.Exists(route))
                        {
                            archive.CreateEntryFromFile(route, Path.GetFileName(route), CompressionLevel.Optimal);
                        }
                    }
                }

                byte[] bytes = System.IO.File.ReadAllBytes(outString);
                apiResponse.data = Convert.ToBase64String(bytes);
            }

            catch (Exception ex)
            {
                apiResponse.msg    = ex.Message;
                apiResponse.status = "FAIL";
            }
            return(apiResponse);
        }
Пример #2
0
        public ActionResult GenerateZipSelect(datosFileDow data)
        {
            ApiResponse apiResponse = _IWorkIntegrity.GenerateZipSelect(data);

            return(Json(new
            {
                apiResponse
            }, JsonRequestBehavior.AllowGet));
        }