public static CompanyClient getCompany(Company company) { CompanyClient companyClient = new CompanyClient(); StreamingManager.Copy(company, companyClient); return(companyClient); }
public CompanyClientTest() { var auth = new Authentication(AppId, AppKey); var restClientFactory = new RestClientFactory(auth); companyClient = new CompanyClient(restClientFactory); }
async private Task PrintDebtorPaymentStatementPage(CompanyClient companyClient, byte[] logo, DebtorPaymentStatementList selectedItem, string emailType) { int indexDebtorEmailType = AppEnums.DebtorEmailType.IndexOf(emailType); var debtorEmailType = (DebtorEmailType)indexDebtorEmailType; var dbClientTotal = selectedItem.ChildRecords.FirstOrDefault(); if (dbClientTotal != null) { var debtorClient = new DebtorClient(); StreamingManager.Copy(dbClientTotal.Debtor, debtorClient); var debtorMessageClient = await Utility.GetDebtorMessageClient(api, debtorClient._Language, debtorEmailType); string messageText = debtorMessageClient?.Text; var dbStatementCustomPrint = new DebtorPaymentStatementCustPrint(api, selectedItem, companyClient, debtorClient, txtDateFrm.DateTime, txtDateTo.DateTime, logo, debtorEmailType.ToString(), this.AddInterest, messageText); object[] obj = new object[1]; obj[0] = dbStatementCustomPrint as CustomPrintTemplateData; AddDockItem(TabControls.DebtorPaymentStatementPrintPage, obj, true, string.Format("{0} : {1},{2}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), selectedItem.Name, selectedItem.AccountNumber)); } }
private void Init() { InitializeComponent(); layoutStDate.Label = Uniconta.ClientTools.Localization.lookup("FromDate"); layoutEndDate.Label = Uniconta.ClientTools.Localization.lookup("ToDate"); layoutControl = layoutItems; editrow = CreateNew() as CompanyClient; var defaultCompany = UtilDisplay.GetDefaultCompany(); if (defaultCompany != null) { editrow.Country = defaultCompany._CountryId; layoutItems.DataContext = editrow; int year = BasePage.GetSystemDefaultDate().Year; dateFrm.DateTime = new DateTime(year, 1, 1); dateTo.DateTime = new DateTime(year, 12, 31); frmRibbon.OnItemClicked += frmRibbon_OnItemClicked; SetOwnCompany(); CompanySetupPage.SetCountry(cmbCountry, cmbStandardCompany, editrow, true); browseTopLogo.FileSelected += BrowseTopLogo_FileSelected; #if !SILVERLIGHT lblImportInvoice.Label = string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Invoice")); BindSetupType(); grpImportSetup.Header = string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Company")); cmbImportFrom.ItemsSource = Enum.GetNames(typeof(ImportFrom)); cmbImportFrom.SelectedIndexChanged += cmbImportFrom_SelectionChanged; cmbImportDimension.ItemsSource = new List <string>() { "Ingen", "Kun Afdeling", "Afdeling, Bærer", "Afdeling, Bærer, Formål" }; cmbImportDimension.SelectedIndex = 3; lblDim1.Label = string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Dimension")), " 1"); lblDim2.Label = string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Dimension")), " 2"); lblDim3.Label = string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Dimension")), " 3"); lblDim4.Label = string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Dimension")), " 4"); lblDim5.Label = string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"), Uniconta.ClientTools.Localization.lookup("Dimension")), " 5"); txtNavDim1.Text = Uniconta.ClientTools.Localization.lookup("Optional"); txtNavDim2.Text = Uniconta.ClientTools.Localization.lookup("Optional"); txtNavDim3.Text = Uniconta.ClientTools.Localization.lookup("Optional"); txtNavDim4.Text = Uniconta.ClientTools.Localization.lookup("Optional"); txtNavDim5.Text = Uniconta.ClientTools.Localization.lookup("Optional"); txtNavErrorAccount.Text = Uniconta.ClientTools.Localization.lookup("Required"); txtAccountForPrimo.Text = Uniconta.ClientTools.Localization.lookup("Required"); var navEmailType = new List <string>() { Uniconta.ClientTools.Localization.lookup("InvoiceEmail"), Uniconta.ClientTools.Localization.lookup("ContactEmail") }; cmbInvoiceOrContactMail.ItemsSource = navEmailType; #endif } else { UtilDisplay.ShowErrorCode(ErrorCodes.NoRights); } }
void localMenu_OnItemClicked(string type) { switch (type) { case "AddRow": if (NumberOfDimensions > 0) { dgDimension.AddRow(); } else { UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("OneDimensionNeeded"), Uniconta.ClientTools.Localization.lookup("Error")); } break; case "DeleteRow": dgDimension.DeleteRow(); break; case "SaveGrid": Save(0); break; case "SetupDimension": var compClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, compClient); AddDockItem(TabControls.GL_SetupDimension, compClient, Uniconta.ClientTools.Localization.lookup("SetupDimension"), "Add_16x16.png"); break; case "JoinDimensions": var cwJoinTwoDimension = new CWJoinTwoDimensions(api, cmbDimensions.SelectedItem as string); cwJoinTwoDimension.Closed += async delegate { if (cwJoinTwoDimension.DialogResult == true) { var ret = await cwJoinTwoDimension.JoinResult; UtilDisplay.ShowErrorCode(ret); if (ret == ErrorCodes.Succes) { dgDimension.Refresh(); } } }; cwJoinTwoDimension.Show(); break; #if !SILVERLIGHT case "ReorganizeDim": ReOrganizeDimensions(); break; #endif } }
public InvVaraintSetupPage(UnicontaBaseEntity sourceData) : base(sourceData, true) { InitializeComponent(); layoutControl = layoutItems; CompanyClient companyClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, companyClient); editrow = companyClient; layoutItems.DataContext = editrow; SetVariants(editrow.NumberOfVariants); frmRibbon.OnItemClicked += FrmRibbon_OnItemClicked; }
public CompanyClientIntegrationTests() { _settingsApp = new GetAppSettings(); _companyIdSP = _settingsApp.Configuration["Authentication:CompanyId"]; var apiKey = _settingsApp.Configuration["Authentication:ApiKey"]; _client = new CompanyClient(apiKey); _companyReturn = File.ReadAllText(@"..\..\..\..\UnitTests\FileToTest\companySP_example.json"); _company = GenerateObjectToTest.Company(); }
public GL_SetupDimension(UnicontaBaseEntity sourceData) : base(sourceData, true) { InitializeComponent(); layoutControl = layoutItems; CompanyClient compClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, compClient); editrow = compClient as CompanyClient; layoutItems.DataContext = editrow; SetDimensions(editrow.NumberOfDimensions); frmRibbon.OnItemClicked += frmRibbon_OnItemClicked; }
public async Task DeleteAsync_WhenSendValidJson_ReturnsOk() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Get, _companyReturn); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp); // Act var result = await companyClient.DeleteAsync(TestHelper.companyId, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.OK, result.Status); }
public async Task PostAsync_WhenInternalServerError_ReturnsError() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: HttpStatusCode.InternalServerError); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp); // Act var result = await companyClient.PostAsync(_company, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); }
public async Task DeleteAsync_WhenSendInvalidApiKey_ReturnsUnauthorized() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: HttpStatusCode.Unauthorized); var companyClient = new CompanyClient("InvalidApiKey", mockHttp); // Act var result = await companyClient.DeleteAsync(TestHelper.apiKey, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Unauthorized, result.Status); }
public async Task DeleteAsync_WhenRequestTimeout_ReturnsTimeout() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: HttpStatusCode.RequestTimeout); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp); // Act var result = await companyClient.DeleteAsync(TestHelper.apiKey, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.TimedOut, result.Status); }
public async Task PostAsync_WhenSendInvalidInvoice_ReturnsBadRequest() { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: HttpStatusCode.BadRequest); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp); // Act var result = await companyClient.PostAsync(_company, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.BadRequest, result.Status); }
public async Task DeleteAsync_WhenHttpStatusCodeIsUnexpected_ReturnsError(HttpStatusCode status) { // Arrange var mockHttp = TestHelper.CreateMockHttp(HttpMethod.Post, httpStatusCode: status); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp); // Act var result = await companyClient.DeleteAsync(TestHelper.apiKey, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); }
public async Task DeleteAsync_WhenRequestResponseReturnNull_ReturnsError() { // Arrange var mockHttp = TestHelper.CreateMockHttpGet("testToException"); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp.Object); // Act var result = await companyClient.DeleteAsync(TestHelper.apiKey, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); }
public async Task PostAsync_WhenRequestResponseReturnNull_ReturnsError() { // Arrange var mockHttp = TestHelper.CreateMockHttpGet("testToException"); var companyClient = new CompanyClient(TestHelper.apiKey, mockHttp.Object); // Act var result = await companyClient.PostAsync(_company, CancellationToken.None); // Assert Assert.NotNull(result); Assert.Equal(ResultStatusCode.Error, result.Status); Assert.Equal("Object reference not set to an instance of an object.", result.Value.ToString()); }
async public Task InstantiateUserFields() { var Comp = crudApi.CompanyEntity; if (debtorOrder != null) { // Debtor var debtorUserType = Global.GetTableWithUserFields(Comp, typeof(DebtorClient), true); var debtorInstance = Activator.CreateInstance(debtorUserType) as UnicontaBaseEntity; var debtor = await crudApi.Query(debtorInstance, new UnicontaBaseEntity[] { debtorOrder.Debtor }, null); Debtor = debtor[0] as DebtorClient; //DebtorOrder var debtorOrderUserType = Global.GetTableWithUserFields(Comp, typeof(DebtorOrderClient), true); var debtorOrderInstance = Activator.CreateInstance(debtorOrderUserType) as UnicontaBaseEntity; var debtOrders = (DebtorOrderClient[])await crudApi.Query(debtorOrderInstance, new UnicontaBaseEntity[] { debtorOrder }, null); DebtorOrders = debtOrders; //DebtorOrderLines var debtorOrderLineUserType = Global.GetTableWithUserFields(Comp, typeof(DebtorOrderLineClient), true); var debtorOrderLineInstance = Activator.CreateInstance(debtorOrderLineUserType) as UnicontaBaseEntity; var listDebtorOrderlines = new List <DebtorOrderLineClient>(); foreach (var debtOrder in debtOrders) { var debtororderLines = (DebtorOrderLineClient[])await crudApi.Query(debtorOrderLineInstance, new UnicontaBaseEntity[] { debtOrder }, null); listDebtorOrderlines.AddRange(debtororderLines); } DebtorOrderLines = listDebtorOrderlines.ToArray(); } Company = Comp as CompanyClient; if (Company == null) { Company = new CompanyClient(); StreamingManager.Copy(Comp, Company); } CompanyLogo = await Uniconta.ClientTools.Util.UtilDisplay.GetLogo(crudApi); }
async private Task <IDebtorStandardReport> GenerateStandardStatementReport(CompanyClient companyClient, DateTime defaultFromDate, DateTime defaultToDate, DebtorStatementList selectedItem, byte[] logo) { var debtorType = Uniconta.Reports.Utilities.ReportUtil.GetUserType(typeof(DebtorClient), api.CompanyEntity); var debt = Activator.CreateInstance(debtorType) as DebtorClient; StreamingManager.Copy(selectedItem.deb, debt); debt.Transactions = selectedItem.ChildRecords; //Setting the Localization for the debtor var debtLocalize = Uniconta.ClientTools.Localization.GetLocalization(Uniconta.Reports.Utilities.ReportGenUtil.GetLanguage(debt, api.CompanyEntity)); foreach (var rec in debt.Transactions) { rec.LocOb = debtLocalize; } var debtorMessageClient = await Utility.GetDebtorMessageClient(api, debt._Language, DebtorEmailType.AccountStatement); return(new DebtorStatementReportClient(companyClient, debt, defaultFromDate, defaultToDate, "Statement", logo, debtorMessageClient)); }
private void LocalMenu_OnItemClicked(string ActionType) { var selectedVariants = cmbVariants.SelectedItem as string; switch (ActionType) { case "AddRow": if (string.IsNullOrEmpty(selectedVariants)) { return; } dgInvVariant.AddRow(); break; case "DeleteRow": if (string.IsNullOrEmpty(selectedVariants)) { return; } dgInvVariant.DeleteRow(); break; case "SaveGrid": if (string.IsNullOrEmpty(selectedVariants)) { return; } dgInvVariant.SaveData(); break; case "SetupVariants": var compnClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, compnClient); AddDockItem(TabControls.InvVaraintSetupPage, compnClient, string.Format(Uniconta.ClientTools.Localization.lookup("SetupOBJ"), Uniconta.ClientTools.Localization.lookup("Variants")), "Add_16x16.png"); break; default: gridRibbon_BaseActions(ActionType); break; } }
private async void GetCompanies(bool OnGridRefresh = false) { busyIndicator.IsBusy = true; dgUserCompaniesGridClient.Visibility = Visibility.Visible; dgUserCompaniesGridClient.ItemsSource = null; Company[] loadedCompanies; if (OnGridRefresh) { loadedCompanies = await BasePage.session.GetCompanies(); UnicontaClient.Controls.CWDefaultCompany.loadedCompanies = loadedCompanies; } else { loadedCompanies = CWDefaultCompany.loadedCompanies; } var companies = new CompanyClient[loadedCompanies.Length]; int i = 0; foreach (var comp in CWDefaultCompany.loadedCompanies) { var cmp = comp as CompanyClient; if (cmp == null) { cmp = new CompanyClient(); StreamingManager.Copy(comp, cmp); } companies[i] = cmp; i++; } dgUserCompaniesGridClient.SetSource(companies); dgUserCompaniesGridClient.SelectedItem = selectedCompany; busyIndicator.IsBusy = false; }
async private void PrintData() { busyIndicator.IsBusy = true; busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("GeneratingPage"); try { //Get Company related details var companyClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, companyClient); byte[] getLogoBytes = await UtilDisplay.GetLogo(api); #if SILVERLIGHT if (dgDebtorTrans.SelectedItem != null) { var selectedItem = dgDebtorTrans.SelectedItem as DebtorStatementList; if (selectedItem.ChildRecords.Count == 0) { return; } var debt = new DebtorClient(); StreamingManager.Copy(selectedItem.deb, debt); if (debt != null) { debt.Transactions = selectedItem.ChildRecords; //Setting the Localization for the debtor var debtLocalize = Uniconta.ClientTools.Localization.GetLocalization(UtilDisplay.GetLanguage(debt, api.CompanyEntity)); foreach (var rec in debt.Transactions) { rec.LocOb = debtLocalize; } var debtorMessageClient = await Utility.GetDebtorMessageClient(api, debt._Language, DebtorEmailType.AccountStatement); string messageText = debtorMessageClient?._Text; DebtorStatementCustomPrint dbStatementCustomPrint = new DebtorStatementCustomPrint(api, selectedItem, companyClient, debt, txtDateFrm.DateTime, txtDateTo.DateTime, getLogoBytes, messageText); object[] obj = new object[1]; obj[0] = dbStatementCustomPrint as Controls.CustomPrintTemplateData; if (chkShowCurrency.IsChecked == true) { AddDockItem(TabControls.DebtorStatementCurrencyCustomPrintPage, obj, true, string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), selectedItem.AccountNumber, selectedItem.Name)); } else { AddDockItem(TabControls.DebtorStatementCustomPrintPage, obj, true, string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), selectedItem.AccountNumber, selectedItem.Name)); } } } #else IEnumerable <DebtorStatementList> debtorStatementList = (IEnumerable <DebtorStatementList>)dgDebtorTrans.ItemsSource; var layoutSelectedDebtorStatementList = new Dictionary <string, List <DebtorStatementList> >(); var Comp = api.CompanyEntity; var layoutgrpCache = Comp.GetCache(typeof(Uniconta.DataModel.DebtorLayoutGroup)); if (layoutgrpCache == null) { layoutgrpCache = await Comp.LoadCache(typeof(Uniconta.DataModel.DebtorLayoutGroup), api); } var xtraReports = new List <DevExpress.XtraReports.UI.XtraReport>(); var iReports = new List <IPrintReport>(); var marked = debtorStatementList.Any(m => m.Mark == true); foreach (var db in debtorStatementList) { if (db.ChildRecords.Count == 0 || (marked && !db.Mark)) { continue; } var statementPrint = await GenerateStandardStatementReport(companyClient, txtDateFrm.DateTime, txtDateTo.DateTime, db, getLogoBytes); if (statementPrint == null) { continue; } var standardReports = new IDebtorStandardReport[1] { statementPrint }; IPrintReport standardPrint; if (chkShowCurrency.IsChecked == true) { standardPrint = new StandardPrintReport(api, standardReports, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.StatementCurrency); } else { standardPrint = new StandardPrintReport(api, standardReports, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.Statement); } await standardPrint.InitializePrint(); if (standardPrint.Report != null) { iReports.Add(standardPrint); } } if (iReports.Count > 0) { var dockJName = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Preview"), Uniconta.ClientTools.Localization.lookup("Statement")); AddDockItem(UnicontaTabs.StandardPrintReportPage, new object[] { iReports, Uniconta.ClientTools.Localization.lookup("Statement") }, dockJName); } #endif } catch (Exception ex) { busyIndicator.IsBusy = false; api.ReportException(ex, string.Format("DebtorStatement.PrintData(), CompanyId={0}", api.CompanyId)); UnicontaMessageBox.Show(ex.Message, Uniconta.ClientTools.Localization.lookup("Exception"), MessageBoxButton.OK); } finally { busyIndicator.IsBusy = false; } }
public CompanyClient GetCompanyClient() { return(_companyClient ?? (_companyClient = new CompanyClient(_authClient.SessionId))); }
public async Task <ICollection <GeneratedService.ResponseCompany> > GetCompaniesAsync( [Service] CompanyClient service, CancellationToken cancellationToken) { return(await service.GetAllAsync(cancellationToken)); }
async private Task <DebtorCollectionReportClient> GenerateStandardCollectionReport(CompanyClient companyClient, DateTime dueDate, DebtorPaymentStatementList selectedItem, byte[] logo, DebtorEmailType debtorEmailType) { var dbClientTotal = selectedItem.ChildRecords.FirstOrDefault(); var debtorType = Uniconta.Reports.Utilities.ReportUtil.GetUserType(typeof(DebtorClient), api.CompanyEntity); var debtorClient = Activator.CreateInstance(debtorType) as DebtorClient; StreamingManager.Copy(dbClientTotal.Debtor, debtorClient); var lan = UtilDisplay.GetLanguage(debtorClient, companyClient); if (lastMessage == null || messageLanguage != lan) { messageLanguage = lan; var res = await Utility.GetDebtorMessageClient(api, lan, debtorEmailType); if (res != null) { lastMessage = res._Text; } else { lastMessage = string.Empty; } } debtorClient.OpenTransactions = selectedItem.ChildRecords.ToArray(); string _reportName = StandardReportUtility.GetLocalizedReportName(debtorClient, companyClient, debtorEmailType.ToString()); return(new DebtorCollectionReportClient(companyClient, debtorClient, dueDate, logo, this.AddInterest, _reportName, lastMessage)); }
public CompanyClientTest() { this.companyClient = new CompanyClient(new Authentication(AppId, AppKey)); }
public static void ClassInit(TestContext context) { client = new CompanyClient(Name, Password); }
async private Task <IEnumerable <IPrintReport> > GeneratePrintReport(IEnumerable <DebtorPaymentStatementList> paymentStatementList, CompanyClient companyClient, DateTime date, byte[] logo, DebtorEmailType debtorEmailType) { var iprintReportList = new List <IPrintReport>(); foreach (var debt in paymentStatementList.ToList()) { var selectedItem = debt as DebtorPaymentStatementList; var collectionPrint = await GenerateStandardCollectionReport(companyClient, date, selectedItem, logo, debtorEmailType); if (collectionPrint == null) { continue; } var standardReports = new[] { collectionPrint }; var standardPrint = new StandardPrintReport(api, standardReports, this.AddInterest ? chkShowCurrency.IsChecked == true ? (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.InterestNoteCurrency : (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.InterestNote : chkShowCurrency.IsChecked == true ? (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.CollectionLetterCurrency : (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.CollectionLetter); await standardPrint.InitializePrint(); if (standardPrint.Report != null) { iprintReportList.Add(standardPrint); } } return(iprintReportList); }
async private void PrintData() { busyIndicator.IsBusy = true; busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("GeneratingPage"); try { //Get Company related details byte[] logo = await UtilDisplay.GetLogo(api); var Comp = api.CompanyEntity; var companyClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, companyClient); LoadDataForReport(); #if SILVERLIGHT if (dgDebtorTranOpenGrid.SelectedItem != null) { var selectedAccount = ((DebtorTransPayment)dgDebtorTranOpenGrid.SelectedItem).Account; var selectedItem = statementList.Where(p => p.AccountNumber == selectedAccount).First() as DebtorPaymentStatementList; if (selectedItem.ChildRecords.Count == 0) { return; } if (string.IsNullOrEmpty(collectionType)) { CWCollectionLetter cwCollectionLetter = new CWCollectionLetter(); cwCollectionLetter.Closed += async delegate { if (cwCollectionLetter.DialogResult == true) { await PrintDebtorPaymentStatementPage(companyClient, logo, selectedItem, cwCollectionLetter.Result); } }; cwCollectionLetter.Show(); } else { await PrintDebtorPaymentStatementPage(companyClient, logo, selectedItem, collectionType); } } #else var layoutSelectedDebtorCollectionList = new Dictionary <string, List <IDebtorStandardReport> >(); var comp = api.CompanyEntity; var layoutgrpCache = comp.GetCache(typeof(DebtorLayoutGroup)) ?? await comp.LoadCache(typeof(DebtorLayoutGroup), api); var xtraReports = new List <IPrintReport>(); int indexDebtorEmailType = 0; if (string.IsNullOrEmpty(collectionType)) { indexDebtorEmailType = SelectCollectionType(); } else { indexDebtorEmailType = AppEnums.DebtorEmailType.IndexOf(collectionType); } if (indexDebtorEmailType == -1) { return; } var debtorEmailType = (DebtorEmailType)indexDebtorEmailType; foreach (var debt in statementList.ToList()) { var selectedItem = debt as DebtorPaymentStatementList; if (selectedItem.ChildRecords.Count == 0) { continue; } var collectionPrint = await GenerateStandardCollectionReport(companyClient, BasePage.GetSystemDefaultDate(), selectedItem, logo, debtorEmailType); if (collectionPrint == null) { continue; } var standardReports = new IDebtorStandardReport[1] { collectionPrint }; IPrintReport standardPrint; if (this.AddInterest) { standardPrint = new StandardPrintReport(api, standardReports, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.InterestNote); } else { standardPrint = new StandardPrintReport(api, standardReports, (byte)Uniconta.ClientTools.Controls.Reporting.StandardReports.CollectionLetter); } await standardPrint.InitializePrint(); if (standardPrint.Report != null) { xtraReports.Add(standardPrint); } } if (xtraReports.Count > 0) { var reportName = AddInterest ? Uniconta.ClientTools.Localization.lookup("InterestNote") : Uniconta.ClientTools.Localization.lookup("CollectionLetter"); var dockName = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Preview"), reportName); AddDockItem(UnicontaTabs.StandardPrintReportPage, new object[] { xtraReports, reportName }, dockName); } #endif } catch (Exception ex) { busyIndicator.IsBusy = false; api.ReportException(ex, string.Format("DebtorPayment.PrintData(), CompanyId={0}", api.CompanyId)); UnicontaMessageBox.Show(ex.Message, Uniconta.ClientTools.Localization.lookup("Exception"), MessageBoxButton.OK); } finally { busyIndicator.IsBusy = false; } }
async private Task <DebtorCollectionReportClient> GenerateStandardCollectionReport(CompanyClient companyClient, DateTime dueDate, DebtorPaymentStatementList selectedItem, byte[] logo, DebtorEmailType debtorEmailType) { DebtorCollectionReportClient debtorCollectionReportClient = null; var dbClientTotal = selectedItem.ChildRecords.FirstOrDefault(); var debtorType = Uniconta.Reports.Utilities.ReportUtil.GetUserType(typeof(DebtorClient), api.CompanyEntity); var debtorClient = Activator.CreateInstance(debtorType) as DebtorClient; StreamingManager.Copy(dbClientTotal.Debtor, debtorClient); var debtorMessageClient = await Utility.GetDebtorMessageClient(api, debtorClient._Language, debtorEmailType); var debtorTransOpen = selectedItem.ChildRecords.Cast <DebtorTransOpenClient>().ToList(); debtorClient.OpenTransactions = debtorTransOpen; string _reportName = StandardReportUtility.GetLocalizedReportName(debtorClient, companyClient, debtorEmailType.ToString()); debtorCollectionReportClient = new DebtorCollectionReportClient(companyClient, debtorClient, dueDate, logo, this.AddInterest, _reportName, debtorMessageClient); return(debtorCollectionReportClient); }
async private void PrintData() { busyIndicator.IsBusy = true; busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("GeneratingPage"); try { #if SILVERLIGHT //Get Company related details var companyClient = new CompanyClient(); StreamingManager.Copy(api.CompanyEntity, companyClient); byte[] getLogoBytes = await UtilDisplay.GetLogo(api); if (dgDebtorTrans.SelectedItem != null) { var selectedItem = dgDebtorTrans.SelectedItem as DebtorStatementList; if (selectedItem.ChildRecords.Length == 0) { return; } var debt = new DebtorClient(); StreamingManager.Copy(selectedItem.deb, debt); debt.Transactions = selectedItem.ChildRecords; //Setting the Localization for the debtor var lan = UtilDisplay.GetLanguage(debt, companyClient); var debtLocalize = Uniconta.ClientTools.Localization.GetLocalization(lan); foreach (var rec in debt.Transactions) { rec.LocOb = debtLocalize; if (rec._Primo) { rec._Text = debtLocalize.Lookup("Primo"); } } if (lastMessage == null || messageLanguage != lan) { messageLanguage = lan; var msg = await Utility.GetDebtorMessageClient(api, lan, DebtorEmailType.AccountStatement); if (msg != null) { lastMessage = msg._Text; } else { lastMessage = string.Empty; } } DebtorStatementCustomPrint dbStatementCustomPrint = new DebtorStatementCustomPrint(api, selectedItem, companyClient, debt, txtDateFrm.DateTime, txtDateTo.DateTime, getLogoBytes, lastMessage); object[] obj = new object[1]; obj[0] = dbStatementCustomPrint as Controls.CustomPrintTemplateData; if (chkShowCurrency.IsChecked == true) { AddDockItem(TabControls.DebtorStatementCurrencyCustomPrintPage, obj, true, string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), selectedItem.AccountNumber, selectedItem.Name)); } else { AddDockItem(TabControls.DebtorStatementCustomPrintPage, obj, true, string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("PrintPreview"), selectedItem.AccountNumber, selectedItem.Name)); } } #else var debtorStatementList = dgDebtorTrans.VisibleItems.Cast <DebtorStatementList>(); var marked = debtorStatementList.Any(m => m.Mark == true); var iReports = await GeneratePrintReport(debtorStatementList.ToList(), marked, chkShowCurrency.IsChecked == true, true); if (iReports.Count() > 0) { var dockJName = string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Preview"), Uniconta.ClientTools.Localization.lookup("Statement")); AddDockItem(UnicontaTabs.StandardPrintReportPage, new object[] { iReports, Uniconta.ClientTools.Localization.lookup("Statement") }, dockJName); } #endif } catch (Exception ex) { busyIndicator.IsBusy = false; api.ReportException(ex, string.Format("DebtorStatement.PrintData(), CompanyId={0}", api.CompanyId)); UnicontaMessageBox.Show(ex); } finally { busyIndicator.IsBusy = false; } }