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); }
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(); }