Ejemplo n.º 1
0
        public async Task GetAccountsInfoAddresses()
        {
            var expected1 = "SCEYFB35CYFF2U7UZ32RYXXZ5JTPCSKU4P6BRXZR";

            var accounts = new AddressesDTO()
            {
                Addresses = new[]
                {
                    "SCEYFB35CYFF2U7UZ32RYXXZ5JTPCSKU4P6BRXZR"
                }
            };

            var response = await new AccountHttp(host).GetAccountsInfo(accounts);

            Assert.AreEqual(expected1, response[0].Address.Plain);
        }
Ejemplo n.º 2
0
        public async Task <int?> SaveAddress(AddressesDTO address)
        {
            ResponseModel model = await _rc.PostDataAsync(PostActionMethods.SaveAddress, address);

            if (model.IsSuccessStatusCode)
            {
                if (address.Id.HasValue)
                {
                    DataBase.Instance.Update(address);
                    return(address.Id.Value);
                }
                else
                {
                    address.Id = int.Parse(model.ResponseContent);
                    DataBase.Instance.Add(address);
                    return(address.Id);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get account information.
        /// </summary>
        /// <param name="accountIds">The account ids for which account information should be returned.</param>
        /// <returns>An IObservable of a List of AccountInfoDTO</returns>
        /// <exception cref="ArgumentNullException">accountIds</exception>
        public IObservable <List <AccountInfo> > GetAccountsInfo(AddressesDTO accountIds)
        {
            if (accountIds == null)
            {
                throw new ArgumentNullException(nameof(accountIds));
            }

            return(Observable.FromAsync(async ar => await AccountRoutesApi.GetAccountsInfoAsync(accountIds)).Select(e =>
                                                                                                                    e.Select(accountInfo =>
            {
                return new AccountInfo(
                    Address.CreateFromEncoded(accountInfo.Account.Address),
                    accountInfo.Account.AddressHeight,
                    accountInfo.Account.PublicKey,
                    accountInfo.Account.PublicKeyHeight,
                    accountInfo.Account.Importance,
                    accountInfo.Account.ImportanceHeight,
                    accountInfo.Account.Mosaics.Select(
                        mosaic => new Mosaic(new MosaicId(
                                                 BitConverter.ToUInt64(mosaic.MosaicId.FromHex().Reverse().ToArray(), 0)),
                                             mosaic.Amount)
                        ).ToList());
            }).ToList()));
        }
Ejemplo n.º 4
0
        public async Task <ObservableCollection <SingleOrderViewModel> > GetOrders()
        {
            var list = new ObservableCollection <SingleOrderViewModel>();

            ResponseModel model = await _rc.PostDataAsync(PostActionMethods.Orders, string.Empty);

            if (model.IsSuccessStatusCode)
            {
                var data = JsonConvert.DeserializeObject <List <OrderDTO> >(model.ResponseContent);
                foreach (var item in data)
                {
                    AddressesDTO address;
                    if (item.AddressID.HasValue)
                    {
                        address = DataBase.Instance.Query <AddressesDTO>().Single(x => x.Id == item.AddressID.Value);
                    }
                    else
                    {
                        address = new AddressesDTO()
                        {
                            AddressName = item.AddressName, City = item.City, Neighborhood = item.Neighborhood, Street = item.Street
                        }
                    };

                    var vm = new SingleOrderViewModel()
                    {
                        ID               = item.ID,
                        AddressID        = item.AddressID,
                        AddressName      = address.AddressName,
                        Address          = string.Format("{0},{1},{2}", address.City, address.Neighborhood, address.Street),
                        City             = address.City,
                        CookerID         = item.CookerID,
                        Neighborhood     = address.Neighborhood,
                        ProductsIncluded = item.ProductsIncluded,
                        Street           = address.Street,
                        CookerName       = item.CookerName,
                        Date             = item.Date,
                        FromTime         = item.FromTime.ToString(),
                        ToTime           = item.ToTime.ToString(),
                        Rating           = item.Rating.HasValue ? item.Rating.Value : 0,
                        Status           = item.Status
                    };

                    if (vm.Status == OrdersEnum.Accepted)
                    {
                        vm.OrderColor      = Color.LightGreen;
                        vm.IsRatingVisible = item.Date < DateTime.Now ? item.Rating.HasValue : false;
                        vm.IsRatеVisible   = item.Date < DateTime.Now ? !item.Rating.HasValue : false;
                    }
                    else if (vm.Status == OrdersEnum.Rejected)
                    {
                        vm.OrderColor = Color.Red;
                    }
                    else if (vm.Status == OrdersEnum.Waiting)
                    {
                        vm.OrderColor = Color.Yellow;
                    }

                    list.Add(vm);
                }
            }

            return(list);
        }