コード例 #1
0
 public Image GetAsset(EStyle style, EAsset asset, EAssetModifier modifier)
 {
     lock (assets)
     {
         return(assets.Where(x => x.style == style && asset == x.asset && x.modifier == modifier).First()?.image);
     }
 }
コード例 #2
0
 public Image GetAsset(EStyle style, EAsset asset)
 {
     lock (assets)
     {
         return(assets.Where(x => x.style == style && asset == x.asset && x.modifier == EAssetModifier.All).FirstOrDefault()?.image);
     }
 }
コード例 #3
0
 public void RegisterAsset(EStyle style, EAsset asset, Image Image)
 {
     lock (assets)
     {
         if (!HasAsset(style, asset))
         {
             assets.Add(new MusixAssetItem()
             {
                 asset = asset, style = style, image = Image
             });
         }
     }
 }
コード例 #4
0
 public Image GetAsset(EStyle style, EAsset asset)
 {
     if (!AssetCache.HasAsset(style, asset))
     {
         Image newAsset = MenuItem.GetIcon(style);
         AssetCache.RegisterAsset(style, EAsset.MenuIcon, newAsset);
         return(newAsset);
     }
     else
     {
         return(AssetCache.GetAsset(style, asset));
     }
 }
コード例 #5
0
ファイル: FAsset.cs プロジェクト: sayAsoneELF/AndersonCrm
        private void CreateAssetHistory(int createdBy, EAsset eAsset)
        {
            EAssetHistory eAssetHistory = new EAssetHistory
            {
                CreatedDate  = DateTime.Now,
                DateAssigned = DateTime.Now,

                CreatedBy  = createdBy,
                EmployeeId = eAsset.EmployeeId,
                AssetId    = eAsset.AssetId
            };

            _iDAsset.Create(eAssetHistory);
        }
コード例 #6
0
ファイル: FAsset.cs プロジェクト: sayAsoneELF/AndersonCrm
        public Asset Create(int createdBy, Asset asset)
        {
            EAsset eAsset = EAsset(asset);

            eAsset.CreatedDate = DateTime.Now;
            eAsset.CreatedBy   = createdBy;


            eAsset = _iDAsset.Create(eAsset);

            CreateAssetHistory(createdBy, eAsset);

            return(Asset(eAsset));
        }
コード例 #7
0
        private async Task Stake(Player player, EAsset asset, ulong amount)
        {
            var balance = await GetBalanceByAssetAsync(player, asset);

            // check for value underflow
            if (balance.Amount >= amount)
            {
                balance.Amount -= amount;
            }
            else
            {
                throw new InsufficientPlayersBalanceException($"Cannot stake {amount} {asset} from player balance {balance.Amount} {balance.Asset}");
            }
        }
コード例 #8
0
        private async Task Deposit(Player player, EAsset asset, ulong amount)
        {
            var balance = await GetBalanceByAssetAsync(player, asset);

            // check for value overflow
            if (ulong.MaxValue - balance.Amount >= amount)
            {
                balance.Amount += amount;
            }
            else
            {
                throw new PlayersBalanceOverflowException($"Cannot add {amount} {asset} to player balance {balance.Amount} {balance.Asset}");
            }
        }
コード例 #9
0
 public void DeregisterAsset(EStyle style, EAsset asset, EAssetModifier modifier, bool Dispose)
 {
     lock (assets)
     {
         MusixAssetItem item = assets.Where(x => x.asset == asset && x.style == style && x.modifier == modifier).First();
         if (item != null)
         {
             if (Dispose)
             {
                 item.image.Dispose();
             }
             assets.Remove(item);
         }
     }
 }
コード例 #10
0
        private async Task <Balance> GetBalanceByAssetAsync(Player player, EAsset asset)
        {
            var balance = player.Balances.FirstOrDefault(p => p.Asset == asset);

            if (balance == null)
            {
                balance = new Balance()
                {
                    PlayerId = player.Id,
                    Asset    = asset
                };
                await _balanceRepository.AddAsync(balance);
            }

            return(balance);
        }
コード例 #11
0
ファイル: FAsset.cs プロジェクト: sayAsoneELF/AndersonCrm
        public Asset Update(int updatedBy, Asset asset)
        {
            EAsset currentAsset = _iDAsset.Read <EAsset>(a => a.AssetId == asset.AssetId);

            var eAsset = EAsset(asset);

            eAsset.UpdatedDate = DateTime.Now;
            eAsset.UpdatedBy   = updatedBy;
            eAsset             = _iDAsset.Update(EAsset(asset));

            if (asset.EmployeeId != currentAsset.EmployeeId)
            {
                CreateAssetHistory(updatedBy, eAsset);
            }

            return(Asset(eAsset));
        }
コード例 #12
0
ファイル: FAsset.cs プロジェクト: sayAsoneELF/AndersonCrm
        private Asset Asset(EAsset eAsset)
        {
            return(new Asset
            {
                CreatedDate = eAsset.CreatedDate,
                UpdatedDate = eAsset.UpdatedDate,

                CreatedBy = eAsset.CreatedBy,
                EmployeeId = eAsset.EmployeeId,
                AssetId = eAsset.AssetId,
                AssetTypeId = eAsset.AssetTypeId,
                UpdatedBy = eAsset.UpdatedBy,

                AssetTag = eAsset.AssetTag,
                Description = eAsset.Description,
                Name = eAsset.Name,
                SerialNumber = eAsset.SerialNumber
            });
        }
コード例 #13
0
ファイル: FAsset.cs プロジェクト: sayAsoneELF/AndersonCrm
        public Asset Read(int assetId)
        {
            EAsset eAsset = _iDAsset.Read <EAsset>(a => a.AssetId == assetId);

            return(Asset(eAsset));
        }
コード例 #14
0
 public bool HasAsset(EStyle style, EAsset asset, EAssetModifier modifier)
 {
     return(GetAsset(style, asset, modifier) != null);
 }
コード例 #15
0
 public bool HasAsset(EStyle style, EAsset asset)
 {
     return(GetAsset(style, asset) != null);
 }
コード例 #16
0
 private async Task Win(Player player, EAsset asset, ulong amount)
 {
     await Deposit(player, asset, amount);
 }