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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 5
0
        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
            }
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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());
        }
Exemplo n.º 17
0
        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));
        }
Exemplo n.º 19
0
        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; }
        }
Exemplo n.º 22
0
 public CompanyClient GetCompanyClient()
 {
     return(_companyClient ?? (_companyClient = new CompanyClient(_authClient.SessionId)));
 }
Exemplo n.º 23
0
 public async Task <ICollection <GeneratedService.ResponseCompany> > GetCompaniesAsync(
     [Service] CompanyClient service, CancellationToken cancellationToken)
 {
     return(await service.GetAllAsync(cancellationToken));
 }
Exemplo n.º 24
0
        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));
 }
Exemplo n.º 26
0
 public static void ClassInit(TestContext context)
 {
     client = new CompanyClient(Name, Password);
 }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
        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;
            }
        }
Exemplo n.º 29
0
        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);
        }
Exemplo n.º 30
0
        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; }
        }