Пример #1
0
        public async Task <ActionResult <BalanceRecord> > PostBalanceRecord(BalanceRecord balanceRecord)
        {
            _context.BalanceRecord.Add(balanceRecord);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBalanceRecord", new { id = balanceRecord.Id }, balanceRecord));
        }
Пример #2
0
        public async Task <IActionResult> PutBalanceRecord(long id, BalanceRecord balanceRecord)
        {
            if (id != balanceRecord.Id)
            {
                return(BadRequest());
            }

            _context.Entry(balanceRecord).State = EntityState.Modified;

            try {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException) {
                if (!BalanceRecordExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #3
0
        public async Task Is_Single_FillBaseAssetData_Correct()
        {
            var balance = new BalanceRecord {
                AssetId = "BTC", Balance = 1
            };

            var balanceWithBaseAsset = await _service.FillBaseAssetData(balance, "USD");

            Assert.NotNull(balanceWithBaseAsset);
            Assert.Equal(2652, balanceWithBaseAsset.AmountInBase);
        }
Пример #4
0
            public static BalanceRecord FromRecord(Record r)
            {
                var record = new BalanceRecord()
                {
                    Name = r.Name,
                    MonthToDateAmount = r.MtdValue,
                    YearToDateAmount  = r.YtdValue,
                };

                return(record);
            }
        public async Task <BalanceRecordWithBase> FillBaseAssetDataAsync(BalanceRecord balanceRecord, string baseAssetId)
        {
            try
            {
                return(await _service.ApiRateCalculatorFillBaseAssetDataByBaseAssetIdPostAsync(baseAssetId, balanceRecord));
            }
            catch (Exception ex)
            {
                await _log.WriteErrorAsync(nameof(RateCalculatorClient), nameof(FillBaseAssetDataAsync), $"baseAssetId = {baseAssetId}, balanceRecord = {balanceRecord.ToJson()}", ex);
            }

            return(null);
        }
Пример #6
0
        private List <BalanceGroup> Parse()
        {
            var groups = new List <BalanceGroup>();
            var row    = 0;

            using (var excel = new ExcelPackage(new System.IO.FileInfo(_appArgs.InFileName)))
            {
                var ws = excel.Workbook.Worksheets.First();

                BalanceGroup group = null !;

                //parse records
                for (row = 2; row <= ws.Dimension.End.Row; row++)
                {
                    var r = Record.FromExcel(ws.Cells, row);

                    if (r.IsEmpty)
                    {
                        continue;
                    }

                    if (r.IsGroupHeader)
                    {
                        group = BalanceGroup.FromRecord(r);
                        groups.Add(group);
                        continue;
                    }

                    if (r.IsBalanceRow)
                    {
                        group.Records.Add(BalanceRecord.FromRecord(r));
                        continue;
                    }

                    if (r.IsTotalRow)
                    {
                        group.Total = BalanceRecord.FromRecord(r);
                        continue;
                    }
                }
            }
            return(groups);
        }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='baseAssetId'>
 /// </param>
 /// <param name='balanceRecord'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <BalanceRecordWithBase> ApiRateCalculatorFillBaseAssetDataByBaseAssetIdPostAsync(this IRateCalculatorAPI operations, string baseAssetId, BalanceRecord balanceRecord = default(BalanceRecord), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ApiRateCalculatorFillBaseAssetDataByBaseAssetIdPostWithHttpMessagesAsync(baseAssetId, balanceRecord, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='baseAssetId'>
 /// </param>
 /// <param name='balanceRecord'>
 /// </param>
 public static BalanceRecordWithBase ApiRateCalculatorFillBaseAssetDataByBaseAssetIdPost(this IRateCalculatorAPI operations, string baseAssetId, BalanceRecord balanceRecord = default(BalanceRecord))
 {
     return(operations.ApiRateCalculatorFillBaseAssetDataByBaseAssetIdPostAsync(baseAssetId, balanceRecord).GetAwaiter().GetResult());
 }
 public async Task <BalanceRecordWithBase> FillBaseAssetData(string baseAssetId, [FromBody] BalanceRecord balanceRecord)
 {
     return(await _rateCalculatorService.FillBaseAssetData(balanceRecord, baseAssetId));
 }