Beispiel #1
0
        public TemplateDataItems(BalanceClient blc, HeaderData hdrData, GLReportLine line)
        {
            this.blc = blc;

            var hide   = line._Hide;
            var asize  = hdrData.AmountSize;
            var header = (blc.Acc == null || blc.AccountTypeEnum == GLAccountTypes.Header);

            this.Col1  = new CustomColumn(blc.Col1, hdrData.ShowDCCol1, hide, asize, header);
            this.Col2  = new CustomColumn(blc.Col2, hdrData.ShowDCCol2, hide, asize, header);
            this.Col3  = new CustomColumn(blc.Col3, hdrData.ShowDCCol3, hide, asize, header);
            this.Col4  = new CustomColumn(blc.Col4, hdrData.ShowDCCol4, hide, asize, header);
            this.Col5  = new CustomColumn(blc.Col5, hdrData.ShowDCCol5, hide, asize, header);
            this.Col6  = new CustomColumn(blc.Col6, hdrData.ShowDCCol6, hide, asize, header);
            this.Col7  = new CustomColumn(blc.Col7, hdrData.ShowDCCol7, hide, asize, header);
            this.Col8  = new CustomColumn(blc.Col8, hdrData.ShowDCCol8, hide, asize, header);
            this.Col9  = new CustomColumn(blc.Col9, hdrData.ShowDCCol9, hide, asize, header);
            this.Col10 = new CustomColumn(blc.Col10, hdrData.ShowDCCol10, hide, asize, header);
            this.Col11 = new CustomColumn(blc.Col11, hdrData.ShowDCCol11, hide, asize, header);
            this.Col12 = new CustomColumn(blc.Col12, hdrData.ShowDCCol12, hide, asize, header);
            this.Col13 = new CustomColumn(blc.Col13, hdrData.ShowDCCol13, hide, asize, header);
            Columns    = new List <CustomColumn>();
            foreach (var col in blc.Columns)
            {
                Columns.Add(new CustomColumn(col, col.ShowDebitCredit, hide, asize, header));
            }
            this.hdrData = hdrData;
            this.line    = line;
        }
Beispiel #2
0
        public void CorrectRequestForGet()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new BalanceClient(factory);

            client.Get();

            factory.Received().ExecuteRequest <Balance>("customers/my/balance", null, null, null);
        }
Beispiel #3
0
        public BalanceReportdata(BalanceClient blc, HeaderData hdrData)
        {
            this.blc     = blc;
            this.hdrData = hdrData;
            var header = (blc.Acc == null || blc.AccountTypeEnum == GLAccountTypes.Header);

            this.Col1  = new CustomColumn(blc.Col1, hdrData.ShowDCCol1, header);
            this.Col2  = new CustomColumn(blc.Col2, hdrData.ShowDCCol2, header);
            this.Col3  = new CustomColumn(blc.Col3, hdrData.ShowDCCol3, header);
            this.Col4  = new CustomColumn(blc.Col4, hdrData.ShowDCCol4, header);
            this.Col5  = new CustomColumn(blc.Col5, hdrData.ShowDCCol5, header);
            this.Col6  = new CustomColumn(blc.Col6, hdrData.ShowDCCol6, header);
            this.Col7  = new CustomColumn(blc.Col7, hdrData.ShowDCCol7, header);
            this.Col8  = new CustomColumn(blc.Col8, hdrData.ShowDCCol8, header);
            this.Col9  = new CustomColumn(blc.Col9, hdrData.ShowDCCol9, header);
            this.Col10 = new CustomColumn(blc.Col10, hdrData.ShowDCCol10, header);
            this.Col11 = new CustomColumn(blc.Col11, hdrData.ShowDCCol11, header);
            this.Col12 = new CustomColumn(blc.Col12, hdrData.ShowDCCol12, header);
            this.Col13 = new CustomColumn(blc.Col13, hdrData.ShowDCCol13, header);
        }
Beispiel #4
0
        public DigitalOceanClient(string token)
        {
            var client = new RestClient(DigitalOceanApiUrl)
            {
                UserAgent = "digitalocean-api-dotnet"
            };

            client.AddDefaultHeader("Authorization", string.Format("Bearer {0}", token));

            _connection = new Connection(client);

            Account           = new AccountClient(_connection);
            Actions           = new ActionsClient(_connection);
            CdnEndpoints      = new CdnEndpointsClient(_connection);
            Certificates      = new CertificatesClient(_connection);
            ContainerRegistry = new ContainerRegistryClient(_connection);
            Databases         = new DatabasesClient(_connection);
            DomainRecords     = new DomainRecordsClient(_connection);
            Domains           = new DomainsClient(_connection);
            DropletActions    = new DropletActionsClient(_connection);
            Droplets          = new DropletsClient(_connection);
            Firewalls         = new FirewallsClient(_connection);
            FloatingIpActions = new FloatingIpActionsClient(_connection);
            FloatingIps       = new FloatingIpsClient(_connection);
            ImageActions      = new ImageActionsClient(_connection);
            Images            = new ImagesClient(_connection);
            LoadBalancers     = new LoadBalancerClient(_connection);
            Projects          = new ProjectsClient(_connection);
            ProjectResources  = new ProjectResourcesClient(_connection);
            Keys          = new KeysClient(_connection);
            Kubernetes    = new KubernetesClient(_connection);
            Regions       = new RegionsClient(_connection);
            Sizes         = new SizesClient(_connection);
            Snapshots     = new SnapshotsClient(_connection);
            Tags          = new TagsClient(_connection);
            Volumes       = new VolumesClient(_connection);
            VolumeActions = new VolumeActionsClient(_connection);
            BalanceClient = new BalanceClient(_connection);
            Vpc           = new VpcClient(_connection);
        }
        async Task <List <BalanceClient> > GenerateTemplateGrid(int Cols)
        {
            GLReportTemplate template;
            var templateCache = api.GetCache(typeof(GLReportTemplate));

            if (templateCache != null)
            {
                template = (GLReportTemplate)templateCache.Get(AppliedTemplate);
            }
            else
            {
                template = new GLReportTemplate()
                {
                    _Name = AppliedTemplate
                };
                await api.Read(template);
            }
            if (template == null || template.RowId == 0)
            {
                return(null);
            }

            var reportline = await api.Query <GLReportLine>(template);

            var items = new TemplateDataContext();
            var TemplateReportlist = items.TemplateReportlist;

            TemplateReportlist.Capacity = reportline.Length;

            var newBalance = new List <BalanceClient>(reportline.Length);

            var  SumContext = new TemplateSumContext(Cols);
            var  colCount = PassedCriteria.selectedCriteria.Count;
            bool AnyHidden = false;
            int  i, j;

            for (j = 0; (j < reportline.Length); j++)
            {
                var line    = reportline[j];
                var amounts = new long[colCount];
                if (line._Accounts != null && !line._ExpressionSum)
                {
                    var SumAccounts = PropValuePair.GenereteWhereElements("Account", typeof(string), line._Accounts);
                    foreach (var balSum in balanceClient)
                    {
                        if (balSum.AccountTypeEnum > GLAccountTypes.CalculationExpression && AccountSum.IsIncluded(SumAccounts, balSum.AccountNo))
                        {
                            balSum.SumUpAmount(amounts);
                        }
                    }
                    if (Skip0Account)
                    {
                        bool found = false;
                        for (i = 0; (i < Cols); i++)
                        {
                            if (amounts[i] != 0)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            continue;
                        }
                    }
                }
                if (line._InvertSign)
                {
                    for (i = 0; (i < Cols); i++)
                    {
                        amounts[i] = -amounts[i];
                    }
                }
                if (line._SaveTotal != 0)
                {
                    SumContext.CalcMethod.AddSum(line._SaveTotal, amounts);
                }
                if (line._Hide)
                {
                    AnyHidden = true;
                }

                var newBalanceCol = new BalanceClient(amounts);
                newBalanceCol.Acc._Name = line._Text;
                newBalance.Add(newBalanceCol);
                TemplateReportlist.Add(new TemplateDataItems(newBalanceCol, hdrData, line)
                {
                    Masterfontsize = template._FontSize
                });
            }

            // Now we will take all expressions and update.
            var pars = new parser(SumContext);

            for (j = 0; (j < TemplateReportlist.Count); j++)
            {
                var item = TemplateReportlist[j];
                var line = item.line;
                if (line._ExpressionSum)
                {
                    var InvertSign = line._InvertSign;
                    var e          = pars.parse(line._Accounts, Uniconta.Script.ValueType.Double);
                    if (e != null)
                    {
                        var amounts = item.blc.amount;
                        for (i = 0; (i < Cols); i++)
                        {
                            SumContext.CurIndex = i;
                            var val = NumberConvert.ToLong(e.Value());
                            amounts[i] = !InvertSign ? val : -val;
                        }
                        if (line._SaveTotal != 0)
                        {
                            SumContext.CalcMethod.AddSum(line._SaveTotal, amounts);
                        }
                    }
                }
            }

            if (AnyHidden)
            {
                for (i = TemplateReportlist.Count; (--i >= 0);)
                {
                    if (TemplateReportlist[i].line._Hide)
                    {
                        TemplateReportlist.RemoveAt(i);
                    }
                }
            }

            AccountName.Visible         = AccountNo.Visible = false;
            Text.Visible                = true;
            dgBalanceReport.ItemsSource = TemplateReportlist;
            templateReportData          = new object[] { items, hdrData, PassedCriteria.ObjBalance, null };
            return(newBalance);
        }