コード例 #1
0
ファイル: BalanceService.cs プロジェクト: Shchack/Pocket
        public async Task <BalanceViewModel> AddBalanceAsync(Guid userId, BalanceCreateModel createModel)
        {
            Balance balance = await _balanceRepository.CreateAsync(userId, createModel.AssetId, createModel.EffectiveDate, createModel.Value);

            await _unitOfWork.SaveChangesAsync();

            BalanceViewModel result = new BalanceViewModel(balance);

            return(result);
        }
コード例 #2
0
        public async Task ImportJsonAsync(Guid userId, string jsonData)
        {
            List <BalanceExportModel> items = JsonConvert.DeserializeObject <List <BalanceExportModel> >(jsonData);
            IEnumerable <IGrouping <DateTime, BalanceExportModel> > efeectiveDateGroup = items.GroupBy(i => i.EffectiveDate);

            foreach (IGrouping <DateTime, BalanceExportModel> group in efeectiveDateGroup)
            {
                bool exists = await _balanceRepository.ExistsEffectiveDateBalancesAsync(userId, group.Key);

                if (!exists)
                {
                    foreach (BalanceExportModel item in group)
                    {
                        Asset asset = await _assetRepository.GetByNameAsync(userId, item.AssetName);

                        if (asset != null)
                        {
                            Balance balance = await _balanceRepository.CreateAsync(userId, asset.Id, item.EffectiveDate, item.BalanceValue);
                        }
                    }
                }
            }

            await _unitOfWork.SaveChangesAsync();
        }