Ejemplo n.º 1
0
        public ServiceResult <TokenListModel> VratiTokenePoKorisnickomImenu(String korisnickoIme, ListaTokenaRequestModel model)
        {
            // vrati tokene za datog korisnika koji nisu istekli
            var datumIsteka = DateTime.Now;
            var query       = context.Tokeni
                              .Where(t =>
                                     t.VlasnikKorisnickoIme == korisnickoIme &&
                                     t.DatumIsteka > datumIsteka);

            // uradi stranicenje
            var total  = query.Count();
            var tokeni = query
                         .OrderByDescending(t => t.DatumPosljednjeAkcije)
                         .Skip(model.Page * model.Count - model.Count)
                         .Take(model.Count)
                         .ToTokenListModelItem()
                         .ToList();

            var result = new TokenListModel
            {
                Items = tokeni,
                Page  = model.Page,
                Total = total
            };

            return(Ok(result));
        }
Ejemplo n.º 2
0
        public TokenListModel ListToken()
        {
            var result = new TokenListModel();

            var list = GetAllTokenCodes();

            if (!list.Any())
            {
                return(result);
            }

            var codes    = list.Select(m => m.Code).Distinct().ToList();
            var accounts = DbContext.GetDbSet <Account>()
                           .Where(m => codes.Contains(m.Name))
                           .ToList();

            var abiSerializationProvider = new AbiSerializationProvider();

            list.ForEach(item =>
            {
                var account = accounts
                              .Where(m => m.Name == item.Code && m.BlockNum <= item.BlockNum)
                              .OrderByDescending(m => m.BlockNum)
                              .First();
                var abi      = abiSerializationProvider.DeserializePackedAbi(account.Abi);
                var abiTable = abi.tables.First(t => t.name == item.Table);

                var data  = abiSerializationProvider.DeserializeStructData(abiTable.type, item.Value, abi);
                var model = new TokenInfoModel
                {
                    Contract = item.Code,
                    Data     = data
                };
                if (!ConfigDataKey.FilterTokenSymbol.Contains(model.TokenName))
                {
                    result.Lists.Add(model);
                }
            });

            result.TotalTokenCount = result.Lists.Count;
            return(result);
        }