Beispiel #1
0
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            var httpClient = new HttpClient();

            httpClient.BaseAddress = new Uri("https://fastreport.cloud");
            httpClient.DefaultRequestHeaders.Authorization = new FastReportCloudApiKeyHeader(ApiKey);
            var subscriptions = new SubscriptionsClient(httpClient);

            var rpClientTemplates = new TemplatesClient(httpClient);
            var rpClientExports   = new ExportsClient(httpClient);
            var downloadClient    = new DownloadClient(httpClient);

            var subscription = (await subscriptions.GetSubscriptionsAsync(0, 10)).Subscriptions.First();

            var templateFolder = subscription.TemplatesFolder.FolderId;
            var exportFolder   = subscription.ExportsFolder.FolderId;

            TemplateCreateVM templateCreateVM = new TemplateCreateVM()
            {
                Name    = "box.frx",
                Content = TestData.BoxReport
            };

            TemplateVM uploadedFile = await rpClientTemplates.UploadFileAsync(templateFolder, templateCreateVM);

            ExportTemplateTaskVM export = new ExportTemplateTaskVM()
            {
                FileName = "box.pdf",
                FolderId = exportFolder,
                Format   = ExportTemplateTaskVMFormat.Pdf
            };
            ExportVM exportedFile = await rpClientTemplates.ExportAsync(uploadedFile.Id, export) as ExportVM;

            string fileId   = exportedFile.Id;
            int    attempts = 3;

            exportedFile = rpClientExports.GetFile(fileId);
            while (exportedFile.Status != ExportVMStatus.Success && attempts >= 0)
            {
                await Task.Delay(1000);

                exportedFile = rpClientExports.GetFile(fileId);
                attempts--;
            }



            using (var file = await downloadClient.GetExportAsync(fileId))
            {
                using (var pdf = File.Open("report.pdf", FileMode.Create))
                {
                    file.Stream.CopyTo(pdf);
                }
            }
        }
Beispiel #2
0
        public async Task DOCX(string filepath, long?userId)
        {
            var rpClientTemplates = new TemplatesClient(httpClient);
            var rpClientExports   = new ExportsClient(httpClient);
            var downloadClient    = new DownloadClient(httpClient);


            var templateFolder = subscription.TemplatesFolder.FolderId;
            var exportFolder   = subscription.ExportsFolder.FolderId;

            TemplateCreateVM templateCreateVM = new TemplateCreateVM()
            {
                Name    = "box.frx",
                Content = Convert.ToBase64String(File.ReadAllBytes(filepath))
            };

            TemplateVM uploadedFile = await rpClientTemplates.UploadFileAsync(templateFolder, templateCreateVM);

            ExportTemplateTaskVM export = new ExportTemplateTaskVM()
            {
                FileName = "box.docx",
                FolderId = exportFolder,
                Format   = ExportTemplateTaskVMFormat.Docx
            };
            ExportVM exportedFile = await rpClientTemplates.ExportAsync(uploadedFile.Id, export) as ExportVM;

            string fileId   = exportedFile.Id;
            int    attempts = 3;

            exportedFile = rpClientExports.GetFile(fileId);
            while (exportedFile.Status != ExportVMStatus.Success && attempts >= 0)
            {
                await Task.Delay(1000);

                exportedFile = rpClientExports.GetFile(fileId);
                attempts--;
            }


            using (var file = await downloadClient.GetExportAsync(fileId))
            {
                using (var pdf = File.Open("report.docx", FileMode.Create))
                {
                    file.Stream.CopyTo(pdf);
                }
                using (var stream = File.Open("report.docx", FileMode.Open))
                {
                    await Program.tgBot.SendDocumentAsync(userId, new InputOnlineFile(stream, "report.docx"));
                }
            }
            //await Program.tgBot.SendDocumentAsync(userId, name);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="forSale"></param>
        /// <param name="sellOrderId"></param>
        /// <param name="storeId"></param>
        /// <param name="toStoreId"></param>
        /// <returns></returns>
        public dynamic postExportMain(ExportVM e)
        {
            var export = db.ExportMains.Add(new ExportMain
            {
                ForSale      = e.ForSale,
                SellOrder_ID = e.SellOrder_ID,
                StoreID      = e.StoreID,
                ToStoreID    = e.ToStoreID
            });
            var result = db.SaveChanges() > 0 ? true : false;

            return(new
            {
                result = result,
                exportDetailsId = export.ExportMainID
            });
        }
Beispiel #4
0
        public static async Task <string> ExportReportCSV(HttpClient httpClient,
                                                          string folderId,
                                                          string reportId,
                                                          string fileName)
        {
            IReportsClient reportsClient = new ReportsClient(httpClient);

            ExportReportTaskVM task = new ExportReportTaskVM()
            {
                FileName = Path.ChangeExtension(fileName, ".csv"),
                FolderId = folderId,
                Format   = ExportReportTaskVMFormat.Csv
            };

            ExportVM result = await reportsClient.ExportAsync(reportId, task);

            return(result.Id);
        }
        public ActionResult Create(ExportVM v)
        {
            if (ModelState.IsValid)
            {
                Import a   = new Import();
                int    max = (from c in db.Imports orderby c.ImportID descending select c.ImportID).FirstOrDefault();

                a.ImportID   = max + 1;
                a.ExportNo   = v.ExportNo;
                a.ExportDate = v.ExportDate;



                db.Imports.Add(a);
                db.SaveChanges();


                TempData["SuccessMsg"] = "You have successfully added Export Data.";
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Beispiel #6
0
 public ExportView(ExportVM exportVM)
 {
     DataContext = exportVM; //or take it out of the parameters and make new one
     InitializeComponent();
 }