public async Task AddAssetConditionAsync(string layerId, IAssetCondition assetCondition)
        {
            await _assetConditionRepository.InsertOrReplaceAsync(layerId, assetCondition);

            await _cacheManager.ClearCacheAsync("Added asset condition");

            var list = (await GetConditionsAsync(layerId)).ToList();

            var item = list.FirstOrDefault(x => x.Asset == assetCondition.Asset);

            if (item != null)
            {
                list.Remove(item);
            }

            list.Add(new AssetConditionDto
            {
                Asset                   = assetCondition.Asset,
                Regulation              = assetCondition.Regulation,
                AvailableToClient       = assetCondition.AvailableToClient,
                IsTradable              = assetCondition.IsTradable,
                BankCardsDepositEnabled = assetCondition.BankCardsDepositEnabled,
                SwiftDepositEnabled     = assetCondition.SwiftDepositEnabled
            });

            await _assetConditionCache.CacheDataAsync($"{layerId}", list);
        }
        /// <summary>
        /// Adds or entirely replaces an asset condition.
        /// </summary>
        /// <param name="layerId">The id of the layer that contains asset condition.</param>
        /// <param name="assetCondition">The asset conditons.</param>
        /// <returns></returns>
        public async Task InsertOrReplaceAsync(string layerId, IAssetCondition assetCondition)
        {
            var entity = new AssetConditionEntity(GetPartitionKey(layerId), GetRowKey(assetCondition.Asset), layerId);

            Mapper.Map(assetCondition, entity);

            await _storage.InsertOrReplaceAsync(entity);
        }
Ejemplo n.º 3
0
 public static AssetConditionModel Create(IAssetCondition assetCondition)
 {
     return(new AssetConditionModel()
     {
         IsTradable = assetCondition.IsTradable,
         Asset = assetCondition.Asset,
         BankCardsDepositEnabled = assetCondition.BankCardsDepositEnabled,
         SwiftDepositEnabled = assetCondition.SwiftDepositEnabled,
         AvailableToClient = assetCondition.AvailableToClient,
         Regulation = assetCondition.Regulation
     });
 }
Ejemplo n.º 4
0
        private bool AreEqual(AssetConditionModel a, IAssetCondition b)
        {
            if (a == null && b == null)
            {
                return(true);
            }

            if (a != null && b == null || a == null)
            {
                return(false);
            }

            return(a.Asset == b.Asset && a.Regulation == b.Regulation && a.AvailableToClient == b.AvailableToClient);
        }
        public async Task UpdateAssetConditionAsync(string layerId, IAssetCondition assetCondition)
        {
            await _myNoSqlWriter.Clear();

            await _cachedAssetConditionsService.AddAssetConditionAsync(layerId, assetCondition);
        }
Ejemplo n.º 6
0
 public Task UpdateAssetConditionAsync(string layerId, IAssetCondition assetCondition)
 {
     return(_cachedAssetConditionsService.AddAssetConditionAsync(layerId, assetCondition));
 }