public BankAccountsViewModel(INavigation navigation) : base(navigation)
        {
            CustomerAccounts = new ObservableRangeCollection <CustomerAccount>();
            CustomerAccounts.CollectionChanged += CustomerAccounts_CollectionChanged;


            CustomerCards          = new ObservableRangeCollection <MyCards>();
            CustomerTransactions   = new ObservableRangeCollection <RefinedTransactions>();
            WalletDetails          = new WalletDetails();
            WalletTransacttions    = new ObservableRangeCollection <WalletTransacttion>();
            AllTransactionsCommand = new Command(() =>
            {
                var vm              = new AllTransactionsViewModel(Navigation);
                vm.SelectedAccount  = SelectedAccount;
                var page            = new AllTransactionsView();
                page.BindingContext = vm;

                Navigation.PushAsync(page);
            });
            AllWalletTransactionsCommand = new Command(() =>
            {
                var vm              = new WalletAllTransactionPageViewModel(Navigation);
                vm.WalletNuban      = WalletNuban;
                var page            = new WalletAllTransactionPage();
                page.BindingContext = vm;

                Navigation.PushAsync(page);
            });


            SelectedAccount = new CustomerAccount();
            ReloadWallet    = new Command(async() => await GetCustomerWalletbyPhoneNumber(GlobalStaticFields.Customer.PhoneNumber));
            ReloadAccounts  = new Command(async() => await GetCustomerAccountsbyPhoneNumber(GlobalStaticFields.Customer.PhoneNumber));
        }
예제 #2
0
        public static void Seed(ApplicationDbContext context)
        {
            if (!context.WalletDetails.Any())
            {
                using (StreamReader r = new StreamReader(".\\json1.json"))
                {
                    var json   = r.ReadToEnd();
                    var ethers = JsonConvert.DeserializeObject <dynamic>(json);
                    foreach (var ether in ethers.ether)
                    {
                        Console.WriteLine("{0}", ether);
                        var wallet1 = new WalletDetails()
                        {
                            etherAddress = ether
                        };

                        context.Add(wallet1);
                    }
                }



                context.SaveChanges();
            }
        }
예제 #3
0
        protected WalletDetails GetWalletDetailsCore()
        {
            var  defaultCsAddress = this.GetAllColdStakingAddressesCore(0, 1).FirstOrDefault()?.Address;
            long csTotal          = 0;
            long csSpendable      = 0;
            long csStakable       = 0;

            if (defaultCsAddress != null)
            {
                var balance = BalanceService.GetBalance(this.metadata.Blocks, this.metadata.SyncedHeight,
                                                        this.metadata.MemoryPool.Entries, GetOwnAddress, defaultCsAddress);

                csTotal     = balance.Total;
                csSpendable = balance.Spendable;
                csStakable  = balance.Stakable;
            }

            var  defaultMsAddress = this.GetAllMultiSigAddressesCore(0, 1).FirstOrDefault()?.Address;
            long msTotal          = 0;
            long msSpendable      = 0;
            long msStakable       = 0;

            if (defaultMsAddress != null)
            {
                var balance = BalanceService.GetBalance(this.metadata.Blocks, this.metadata.SyncedHeight,
                                                        this.metadata.MemoryPool.Entries, GetOwnAddress, defaultMsAddress);

                msTotal     = balance.Total;
                msSpendable = balance.Spendable;
                msStakable  = balance.Stakable;
            }

            var info = new WalletDetails
            {
                WalletName            = this.WalletName,
                WalletFilePath        = this.WalletPath,
                SyncedHeight          = this.metadata.SyncedHeight,
                SyncedHash            = this.metadata.SyncedHash,
                Adresses              = this.x1WalletFile.PubKeyHashAddresses.Count,
                MultiSigAddresses     = this.x1WalletFile.MultiSigAddresses.Count,
                ColdStakingAddresses  = this.x1WalletFile.ColdStakingAddresses.Count,
                MemoryPool            = this.metadata.MemoryPool,
                PassphraseChallenge   = this.x1WalletFile.PassphraseChallenge.ToHexString(),
                DefaultReceiveAddress = this.GetAllPubKeyHashReceiveAddressesCore(0, 1).FirstOrDefault()?.Address,

                DefaultCSAddress = defaultCsAddress,
                CSTotal          = csTotal,
                CSSpendable      = csSpendable,
                CSStakable       = csStakable,

                DefaultMSAddress = defaultMsAddress,
                MSTotal          = msTotal,
                MSSpendable      = msSpendable,
                MSStakable       = msStakable
            };

            info.Balance = GetBalanceCore();

            return(info);
        }
예제 #4
0
        public WalletDetails GetWalletDetails(WalletDetails walletDetails)
        {
            IUserDetails  _repository = new UserDetails();
            WalletDetails response    = new WalletDetails();

            response = _repository.GetWalletDetails(walletDetails.UserId);
            return(response);
        }
예제 #5
0
        public IHttpActionResult createWallet(WalletDetails wallwetdetail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            wallwetdetail.registerId = 1;
            _context.walletDetails.Add(wallwetdetail);
            _context.SaveChanges();
            return(Created(new Uri(Request.RequestUri + "/" + wallwetdetail.Id), wallwetdetail));
        }
예제 #6
0
        static void Main(string[] args)
        {
            string testEther = "0x9B497Cb396E5f28e4129e75F0B65F1aa6a244059";

            Controllers.Class1 etherScan = new Controllers.Class1();
            //Controllers.API etherScan = new Controllers.API();
            //etherScan.endPoint = "https://api.etherscan.io/api?module=account&action=balance&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&tag=latest&apikey=YourApiKeyToken";
            string        strResponse   = string.Empty;
            WalletDetails walletDetails = new WalletDetails()
            {
                etherAddress = testEther
            };

            using (var context = new ApplicationDbContext())
            {
                Seed(context);
                foreach (var wallet in context.WalletDetails.ToList())
                {
                    strResponse = etherScan.processWalletDetails(wallet);
                    context.Update(wallet);
                    context.SaveChanges();
                }
            }
            //ExchangeRateUpdater updater = new ExchangeRateUpdater();
            //updater.EtherExchangeRateUpdate();
            //CurrencyAPI currency = new CurrencyAPI();
            //currency.getLatestRates();
            //strResponse = etherScan.makeRequest();
            //Console.WriteLine(strResponse);
            //strResponse = etherScan.getCurrentBalance();

            Console.WriteLine("");
            Console.WriteLine(strResponse);
            //string json = etherScan.deserializeJSON(strResponse);
            // Console.WriteLine(json);


            //long longResponse = etherScan.convertToLong("10");
            Console.WriteLine("");
            //Console.WriteLine(longResponse);
            //longResponse = etherScan.convertToLong("1000000000000000000000000000");
            //Console.WriteLine("");
            //Console.WriteLine(longResponse);
            Console.ReadLine();
        }
예제 #7
0
        public string processWalletDetails(WalletDetails theWallet)
        {
            long bal = convertToLong(etherAPI.getCurrentBalance(theWallet.etherAddress));

            theWallet.etherBalance = convertToDouble(bal);
            Thread.Sleep(300);
            var listTrans = etherAPI.getEtherTransactions(theWallet.etherAddress);

            Thread.Sleep(200);

            theWallet.blockNumber = getLatestBlk(listTrans);
            if (listTrans.Count() != 0)
            {
                theWallet.highestBalance = convertToDouble(getHighestBalance(listTrans, theWallet.etherAddress, bal));
            }
            else
            {
                theWallet.highestBalance = 0;
            }

            return(" Successfully processed all data. ");
        }
예제 #8
0
        public WalletDetails GetWalletDetails(int UserId)
        {
            WalletDetails model = new WalletDetails();

            try
            {
                using (var conn = new SqlConnection(ContexDetails.Connectiondetails()))
                {
                    conn.Open();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "sp_GetWalletBalance";
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@UserId", UserId);

                        using (SqlDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                model.AccountId     = Convert.ToInt32(reader["AccountId"]);
                                model.AccountNumber = Convert.ToString(reader["AccountNumber"]);
                                model.BalanceAmount = Convert.ToDecimal(reader["BalanceAmount"]);
                                model.Points        = Convert.ToInt32(reader["Points"]);
                                model.UserId        = Convert.ToInt32(reader["UserId"]);
                            }
                        }
                    }
                    conn.Close();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(model);
        }
 public RegisterController(IOptions <WalletDetails> appSettings)
 {
     _walletDetails = appSettings.Value;
 }
예제 #10
0
 public LoginController(IOptions <WalletDetails> appSettings)
 {
     _walletDetails = appSettings.Value;
 }