public static RestServiceClientBase GetRestClient(string type) { RestServiceClientBase restClient = null; switch (type) { case "OrganizationRestClient": restClient = new OrganizationRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "PaymentReportsRestClient": restClient = new PaymentReportsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "OrdersRestClient": restClient = new OrdersRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "ReportsRestClient": restClient = new ReportsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "ContractsRestClient": restClient = new ContractsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "PaymentsRestClient": restClient = new PaymentsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "UserRestClient": restClient = new UserRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "ReferencesRestClient": restClient = new ReferencesRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "SiteRestClient": restClient = new SiteRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "OrdersDocumentsRestClient": restClient = new OrdersDocumentsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "FlightsRestClient": restClient = new FlightsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; case "SystemRestClient": restClient = new SystemRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); break; default: throw new Exception("RestClient type was set incorrectly."); } restClient.ImpersonationToken = new ImpersonationToken(Config.UserLogin, Config.UserPassword); return(restClient); }
private ReportsRestClient CreateRestClient() { var restClient = new ReportsRestClient(Config.Url, Config.SiteSlug, Config.ApiKey); restClient.ImpersonationToken = new ImpersonationToken(Config.UserLogin, Config.UserPassword); return(restClient); }
public void GetReportTypes() { ReportsRestClient restClient = CreateRestClient(); IList <ReportType> reportTypes = restClient.GetReportTypes(); Assert.NotNull(reportTypes); Assert.Greater(reportTypes.Count, 0); }
public void GetReportTemplate() { ReportsRestClient restClient = CreateRestClient(); IList <ReportTemplateInfo> reportTemplates = restClient.GetReportTemplatesInfo(); string firstTypeCode = reportTemplates.First().TypeCodes.First(); //Если в качестве второго праметра передан null, вернется базовый шаблон general. ReportTemplate reportType = restClient.GetReportTemplate(firstTypeCode, null /*reportTemplateCode*/); Assert.NotNull(reportType); Assert.NotNull(reportType.TemplateContent); //В этом массиве байтов содержится шаблон XtraReport (см. http://help.devexpress.com/#XtraReports/CustomDocument2162) }
public void CreateOutInvoice() { ReportsRestClient restClient = CreateRestClient(); Report report = restClient.CreateOutInvoice("73FC6" /*Номер заявки*/, null /*Стандартный шаблон отчета*/, ReportFormat.Pdf /*формат файла*/); //Сохраняем присланные байты в файл string filePath = Path.Combine(Path.GetTempPath(), report.Name /*Это имя вполне подойдет для названия файла*/); File.WriteAllBytes(filePath, report.Content); //Запускаем файл в связанном приложении Process.Start(new ProcessStartInfo { FileName = filePath, UseShellExecute = true }); }
public void CreateIssuedOrderReport() { ReportsRestClient restClient = CreateRestClient(); var reportRequest = new IssuedOrdersReportRequest(); reportRequest.BeginDate = DateTime.Parse("2012.05.01"); reportRequest.EndDate = DateTime.Parse("2012.06.01"); reportRequest.ServiceType = "flights"; Report report = restClient.CreateIssuedOrdersReport(reportRequest, null /*Стандартный шаблон отчета*/, ReportFormat.Pdf /*формат файла*/); //Сохраняем присланные байты в файл string filePath = Path.Combine(Path.GetTempPath(), report.Name /*Это имя вполне подойдет для названия файла*/); File.WriteAllBytes(filePath, report.Content); //Запускаем файл в связанном приложении Process.Start(new ProcessStartInfo { FileName = filePath, UseShellExecute = true }); }
public void GetReportTemplates() { ReportsRestClient restClient = CreateRestClient(); IList <ReportTemplateInfo> reportTemplates = restClient.GetReportTemplatesInfo(); Assert.NotNull(reportTemplates); Assert.Greater(reportTemplates.Count, 0); //Создаем словарь шаблонов по их типам Dictionary <string, List <ReportTemplateInfo> > templatesByType = (from reportTemplate in reportTemplates from typeCode in reportTemplate.TypeCodes select new { reportTemplate, typeCode }) .GroupBy(item => item.typeCode) .ToDictionary(group => group.Key, group => group.Select(item => item.reportTemplate).ToList()); //Теперь очень просто получить все шаблоны по заданному типу. List <ReportTemplateInfo> templatesForInInvoice = templatesByType["ininvoice"]; Assert.Greater(templatesForInInvoice.Count, 0); }
public void CreateNewReportTemplate() { ReportsRestClient restClient = CreateRestClient(); //Получаем общий шаблон var generalTemplate = restClient.GetReportTemplate("ininvoice", null /*reportTemplateCode*/); var reportTemplate = new ReportTemplate(); reportTemplate.Code = Guid.NewGuid().ToString(); reportTemplate.Name = "Тестовый шаблон, скопированный с общего"; reportTemplate.TypeCodes = new List <string> { "ininvoice" }; reportTemplate.TemplateContent = generalTemplate.TemplateContent.Clone() as byte[]; //Тут редактируем reportTemplate.TemplateContent в XtraReport. restClient.SaveReportTemplate(reportTemplate); //Если не возникло исключения и мы оказались тут — значит все сохранилось. }