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