Inheritance: IDepositable
示例#1
1
    // Main method begins execution of the app
    public static void Main( string[] args )
    {
        // constructors
        Account account1 = new Account(50.00M); //create Account object
        Account account2 = new Account(-7.53M);

        Console.WriteLine("Account1 balance: {0:C}\n", account1.Balance);
        Console.WriteLine("Account2 balance: {0:C}\n", account2.Balance);

        decimal depositAmount;

        Console.WriteLine("Enter deposit ammount for account1: ");
        depositAmount = Convert.ToDecimal(Console.ReadLine());
        Console.WriteLine("adding {0:C} to account1 balance\n", depositAmount);
        account1.Credit(depositAmount);

        Console.WriteLine("account1 balance: {0:C}\n", account1.Balance);
        Console.WriteLine("account2 balance: {0:C}", account2.Balance);

        Console.WriteLine("Enter deposit ammount for account2: ");
        depositAmount = Convert.ToDecimal(Console.ReadLine());
        Console.WriteLine("adding {0:C} to account2 balance\n", depositAmount);
        account2.Credit(depositAmount);

        Console.WriteLine("account1 balance: {0:C}\n", account1.Balance);
        Console.WriteLine("account2 balance: {0:C}", account2.Balance);
    }
	public void TestWithdraw()
	{
		Account acc = new Account();
		acc.Withdraw(138.56F);
		float balance = acc.Balance;
		Assert.AreEqual(balance, -138.56F);
	}
        public void Example()
        {
            #region Usage
            Account account = new Account
            {
                FullName = "Aaron Account",
                EmailAddress = "*****@*****.**",
                Deleted = true,
                DeletedDate = new DateTime(2013, 1, 25),
                UpdatedDate = new DateTime(2013, 1, 25),
                CreatedDate = new DateTime(2010, 10, 1)
            };

            string json = JsonConvert.SerializeObject(account, Formatting.Indented);

            Console.WriteLine(json);
            // {
            //   "FullName": "Aaron Account",
            //   "EmailAddress": "*****@*****.**",
            //   "CreatedDate": "2010-10-01T00:00:00",
            //   "UpdatedDate": "2013-01-25T00:00:00",
            //   "Deleted": true,
            //   "DeletedDate": "2013-01-25T00:00:00"
            // }
            #endregion
        }
        public void AccountRoundTrip()
        {
            string cardNumber = "4111-1111-1111-1111";
              var account = new Account()
              {
            Name = "John Smith",
            EMail = "*****@*****.**",
            CardNumber = cardNumber,
            ExpirationMonth = 2,
            ExpirationYear = 2013,
            ZipCode = "55555"
              };
              Guid accountId;

              using (var tx = Session.BeginTransaction())
              {
            accountId = (Guid) Session.Save(account);
            tx.Commit();
              };

              Session.Clear();

              using (var tx = Session.BeginTransaction())
              {
            account = Session.Get<Account>(accountId);
            tx.Commit();
              }

              Assert.AreEqual(cardNumber, account.CardNumber);
        }
	public void TestWithdrawNegative()
	{
		Account acc = new Account();
		acc.Withdraw(-3.14F);
		float balance = acc.Balance;
		Assert.AreEqual(balance, 1000F);
	}
示例#6
0
        public string Add(Account account)
        {
            account.Id = Regex.Replace(account.Name, @"\W+", string.Empty).ToLower();
            _accounts.Add(account);

            return account.Id;
        }
示例#7
0
 public static Account GetAccountByID(int id)
 {
     Account account = new Account();
     SqlAccountProvider sqlAccountProvider = new SqlAccountProvider();
     account = sqlAccountProvider.GetAccountByID(id);
     return account;
 }
示例#8
0
        public Account GetAccountByID(string sAccountID)
        {
            Account acct = new Account();
            acct.Id = new IdType { idDomain = idDomainEnum.QB, Value = sAccountID };

            return getDataService().FindById<Account>(acct) as Account;
        }
        public void Can_use_entity_property_for_metadata_with_listener()
        {
            using(var store = NewDocumentStore())
            {
                store.RegisterListener(new RavenDocumentRevisionMetadataToRevisionProperty());
                using(var session = store.OpenSession())
                {
                    var account = new Account
                    {
                        Name = "Hibernating Rhinos"
                    };
                    session.Store(account);
                    session.Advanced.GetMetadataFor(account)["Raven-Document-Revision"] = 1;
                    session.SaveChanges();
                }

                using (var session = store.OpenSession())
                {
                    var account = session.Load<Account>("accounts/1");
                    account.Name = "Rampaging Rhinos";
                    Assert.Equal(1, account.Revision);
                    session.SaveChanges();
                }

                var jsonDocument = store.DatabaseCommands.Get("accounts/1");
                Assert.Null(jsonDocument.DataAsJson["Revision"]);
            }
        }
 public RenameAccountDialogViewModel(ShellViewModel shell, Account account, string currentName)
     : base(shell)
 {
     _account = account;
     _rename = new DelegateCommand(RenameAction);
     CurrentAccountName = currentName;
 }
示例#11
0
 private void Init()
 {
     account = _userSession.CurrentUser;
     alert = new Alert();
     alert.AccountID = account.AccountID;
     alert.CreateDate = DateTime.Now;
 }
示例#12
0
 private void Init(Account modifiedAccount)
 {
     account = modifiedAccount;
     alert = new Alert();
     alert.AccountID = account.AccountID;
     alert.CreateDate = DateTime.Now;
 }
示例#13
0
 public static String GetBaseUrl(Account account)
 {
     if ((account != null) && (account.Type != AccountTypes.Regular)) {
         return string.Format(Uris.Base, Params.BaseApps + account.Domain);
     }
     return string.Format(Uris.Base, Params.Base);
 }
示例#14
0
        public void MakeTransfer(Account creditAccount, Account debitAccount, decimal amount)
        {
            if (creditAccount == null)
            {
                throw new AccountServiceException("creditAccount null");
            }

            if (debitAccount == null)
            {
                throw new AccountServiceException("debitAccount null");
            }

            if (debitAccount.Balance < amount && debitAccount.AutorizeOverdraft == false)
            {
                throw new AccountServiceException("not enough money");
            }

            Operation creditOperation = new Operation() { Amount = amount, Direction = Direction.Credit};
            Operation debitOperation = new Operation() { Amount = amount, Direction = Direction.Debit };

            creditAccount.Operations.Add(creditOperation);
            debitAccount.Operations.Add(debitOperation);

            creditAccount.Balance += amount;
            debitAccount.Balance -= amount;

            _operationRepository.CreateOperation(creditOperation);
            _operationRepository.CreateOperation(debitOperation);

            _accountRepository.UpdateAccount(creditAccount);
            _accountRepository.UpdateAccount(debitAccount);
        }
        public void When_Executing_Assign_Request_New_Owner_Should_Be_Assigned()
        {
            var oldOwner = new EntityReference("systemuser", Guid.NewGuid());
            var newOwner = new EntityReference("systemuser", Guid.NewGuid());

            var account = new Account
            {
                Id = Guid.NewGuid(),
                OwnerId = oldOwner
            };

            var context = new XrmFakedContext();
            var service = context.GetFakedOrganizationService();

            context.Initialize(new [] { account });

            var assignRequest = new AssignRequest
            {
                Target = account.ToEntityReference(),
                Assignee = newOwner
            };
            service.Execute(assignRequest);

            Assert.Equal(newOwner, account.OwnerId);
        }
示例#16
0
 public GoldState(Account account)
     : base(account)
 {
     this.Interest = 0.05;
     this.LowerLimit = 1000.0;
     this.UpperLimit = double.MaxValue;
 }
示例#17
0
		public JailReasonGump( Account account ) : base( 100, 100 )
		{
			m_Offender = null;
			m_Account = account;

			MakeGump();
		}
示例#18
0
 public void Initialize()
 {
     _Clock = new Mock<IClock>();
     _TransactionRepository = new Mock<ITransactionRepository>();
     _StatementPrinter = new Mock<IStatementPrinter>();
     _Account = new Account(_TransactionRepository.Object, _StatementPrinter.Object, _Clock.Object);
 }
示例#19
0
    public void Example()
    {
      #region Usage
      Account account = new Account
        {
          Email = "*****@*****.**",
          Active = true,
          CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
          Roles = new List<string>
            {
              "User",
              "Admin"
            }
        };

      string json = JsonConvert.SerializeObject(account, Formatting.Indented);
      // {
      //   "Email": "*****@*****.**",
      //   "Active": true,
      //   "CreatedDate": "2013-01-20T00:00:00Z",
      //   "Roles": [
      //     "User",
      //     "Admin"
      //   ]
      // }

      Console.WriteLine(json);
      #endregion
    }
        public void testAppWithTransfer()
        {
            Account checkingAccount = new Account(Account.CHECKING);
            Account savingsAccount = new Account(Account.SAVINGS);

            Customer henry = new Customer("Henry").openAccount(checkingAccount).openAccount(savingsAccount);

            checkingAccount.deposit(100.0, false);
            savingsAccount.deposit(4000.0, false);
            savingsAccount.withdraw(200.0, false);
            henry.transfer(savingsAccount, checkingAccount, 400);

            Assert.AreEqual("Statement for Henry\n" +
                    "\n" +
                    "Checking Account\n" +
                    "  deposit $100.00\n" +
                    "  transfer to $400.00\n" +
                    "Total $500.00\n" +
                    "\n" +
                    "Savings Account\n" +
                    "  deposit $4,000.00\n" +
                    "  withdrawal $200.00\n" +
                    "  transfer from $400.00\n" +
                    "Total $3,400.00\n" +
                    "\n" +
                    "Total In All Accounts $3,900.00", henry.getStatement());
        }
示例#21
0
        public void TestCrud()
        {
            Account acct = new Account();
            acct.Created = acct.LastLogin = acct.Modified = DateTime.UtcNow;
            acct.Name = "Test User";
            acct.Password = "******";
            acct.Birthday = new DateTime(1976, 9, 7);

            AccountEmail email = new AccountEmail();
            email.Account = acct;

            email.Address = "*****@*****.**";
            email.Verified = false;
            email.Failed = false;
            email.Created = email.Modified = DateTime.UtcNow;

            if (acct.AccountEmails == null) acct.AccountEmails = new List<AccountEmail>();
            acct.AccountEmails.Add(email);

            Session.Save(acct);
            Session.Save(email);
            Session.Flush();

            Assert.IsTrue(email.Id > 0);
            Assert.IsTrue(acct.Id > 0);

            Session.Delete(acct);
            Session.Flush();
        }
		public override Task ShareItemAsync (Item item, Account account, CancellationToken cancellationToken)
		{
			Request req;

			if (item.Images.Count > 0) {
				req = CreateRequest ("POST", new Uri ("https://graph.facebook.com/me/photos"), account);
				item.Images.First ().AddToRequest (req, "source");

				var message = new StringBuilder ();
				message.Append (item.Text);
				foreach (var l in item.Links) {
					message.AppendLine ();
					message.Append (l.AbsoluteUri);
				}
				req.AddMultipartData ("message", message.ToString ());
			}
			else {
				req = CreateRequest ("POST", new Uri ("https://graph.facebook.com/me/feed"), account);
				req.Parameters["message"] = item.Text;
				if (item.Links.Count > 0) {
					req.Parameters["link"] = item.Links.First ().AbsoluteUri;
				}
			}

			return req.GetResponseAsync (cancellationToken).ContinueWith (reqTask => {
				var content = reqTask.Result.GetResponseText ();
				if (!content.Contains ("\"id\"")) {
					throw new SocialException ("Facebook returned an unrecognized response.");
				}
			});
		}
示例#23
0
 public void AddRange(Account[] value)
 {
     for (int i = 0;	i < value.Length; i++)
     {
         Add(value[i]);
     }
 }
示例#24
0
	public void TestDeposit()
	{
		Account acc = new Account();
		acc.Deposit(200.00F);
		float balance = acc.Balance;
		Assert.AreEqual(balance, 200F);
	}
示例#25
0
	public void TestTransferFundsToNullAccount()
	{
		Account source = new Account();
		source.Deposit(200.00F);
		Account dest = null;
		source.TransferFunds(dest, 100.00F);
	}
示例#26
0
 public SilverState(Account account)
     : base(account)
 {
     this.Interest = 0.0;
     this.LowerLimit = 0.0;
     this.UpperLimit = 1000.0;
 }
示例#27
0
        public void NestedObjectTypeTest()
        {
            ClearConfig();
            var account = new Account();
            var settings = XmlSettings<Account>.Bind(account, CONFIG_FILE);
            var person = new Person();
            person.Age = 3;
            person.Name = "Sam";
            person.Happy = false;
            person.Birthdate = DateTime.Today;

            account.Person = person;
            account.Balance = 999;

            settings.Write();

            account = new Account();
            settings = XmlSettings<Account>.Bind(account, CONFIG_FILE);

            person = account.Person;
            Assert.AreEqual(account.Balance, 999);
            Assert.AreEqual(person.Age, 3);
            Assert.AreEqual(person.Name, "Sam");
            Assert.AreEqual(person.Happy, false);
            Assert.AreEqual(person.Birthdate, DateTime.Today);
        }
示例#28
0
	public void TestDepositNegative()
	{
		Account acc = new Account();
		acc.Deposit(-150.30F);
		float balance = acc.Balance;
		Assert.AreEqual(balance, -150.30F);
	}
示例#29
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="account"></param>
 /// <returns></returns>
 public bool CreateAccount(Account account)
 {
     int x = 0;
     var collection = MongoDb.Instance.GetCollection<Account>();
     var result = collection.Insert(account);
     return result.Ok;
 }
        public void CreateAccountWithParameters()
        {
            var acct = new Account(GetUniqueAccountCode())
            {
                Username = "******",
                Email = "*****@*****.**",
                FirstName = "Test",
                LastName = "User",
                CompanyName = "Test Company",
                AcceptLanguage = "en",
                VatNumber = "my-vat-number",
                TaxExempt = true
            };

            string address = "123 Faux Street";
            acct.Address.Address1 = address;

            acct.Create();

            acct.Username.Should().Be("testuser1");
            acct.Email.Should().Be("*****@*****.**");
            acct.FirstName.Should().Be("Test");
            acct.LastName.Should().Be("User");
            acct.CompanyName.Should().Be("Test Company");
            acct.AcceptLanguage.Should().Be("en");
            Assert.Equal("my-vat-number", acct.VatNumber);
            Assert.True(acct.TaxExempt.Value);
            Assert.Equal(address, acct.Address.Address1);
        }
示例#31
0
 public AccountList()
 {
     accounts = new Account[10];
 }
        public static double getPercentageChange(this Account a)
        {
            double percent = (a.startBal * 100) / a.currentBal;

            return(percent);
        }
示例#33
0
        public bool UpdateBalance(Account account, Transaction historyTransaction)
        {
            DbConnection.Instance().OpenConnection();
            // tao transaction
            var transaction = DbConnection.Instance().Connection.BeginTransaction();

            try
            {
                // Lay thong tin so du
                var          queryBalance        = "select balance from `account` where username = @username and status = @status";
                MySqlCommand queryBalanceCommand = new MySqlCommand(queryBalance, DbConnection.Instance().Connection);
                queryBalanceCommand.Parameters.AddWithValue("@username", account.Username);
                queryBalanceCommand.Parameters.AddWithValue("@status", account.Status);
                var balanceReader = queryBalanceCommand.ExecuteReader();
                // thow loi neu k ton tai ban ghi
                if (!balanceReader.Read())
                {
                    throw new BankError("Invalid username");
                }

                // dam bao luon co ban ghi
                var currentBalance = balanceReader.GetDecimal("balance");
                balanceReader.Close();
                //kiem tra kieu transaction chi chap nhan withdraw va deposit
                if (historyTransaction.Type != Transaction.TransactionType.DEPOSIT &&
                    historyTransaction.Type != Transaction.TransactionType.WITHDRAW)
                {
                    throw new BankError("Số dư không đủ");
                }

                if (historyTransaction.Type == Transaction.TransactionType.WITHDRAW &&
                    historyTransaction.Amount > currentBalance)
                {
                    throw new BankError("Số dư không đủ!");
                }

                // cong tien vao tai khoan
                if (historyTransaction.Type != Transaction.TransactionType.DEPOSIT)
                {
                    currentBalance -= historyTransaction.Amount;
                }
                else
                {
                    currentBalance += historyTransaction.Amount;
                }

                // update so du vao database

                var updateAccountResult       = 0;
                var queryUpdateAccountBalance =
                    "update `account` set balance = @balance where username = @username and status = 1";
                var cmdUpdateAccountBalance =
                    new MySqlCommand(queryUpdateAccountBalance, DbConnection.Instance().Connection);
                cmdUpdateAccountBalance.Parameters.AddWithValue("@username", account.Username);
                cmdUpdateAccountBalance.Parameters.AddWithValue("@balance", currentBalance);
                updateAccountResult = cmdUpdateAccountBalance.ExecuteNonQuery();
                // luu thong tin transaction
                var insertTransactionResult = 0;
                var queryInsertTransaction  = "insert into `transaction` " +
                                              "(id, type, amount, content, senderAccountNumber, receiverAccountNumber, status) " +
                                              "values (@id, @type, @amount, @content, @senderAccountNumber, @receiverAccountNumber, @status)";
                var cmdInsertTransaction =
                    new MySqlCommand(queryInsertTransaction, DbConnection.Instance().Connection);
                cmdInsertTransaction.Parameters.AddWithValue("@id", historyTransaction.Id);
                cmdInsertTransaction.Parameters.AddWithValue("@type", historyTransaction.Type);
                cmdInsertTransaction.Parameters.AddWithValue("@amount", historyTransaction.Amount);
                cmdInsertTransaction.Parameters.AddWithValue("@content", historyTransaction.Content);
                cmdInsertTransaction.Parameters.AddWithValue("@senderAccountNumber",
                                                             historyTransaction.SenderAccountNumber);
                cmdInsertTransaction.Parameters.AddWithValue("@receiverAccountNumber",
                                                             historyTransaction.ReceiverAccountNumber);
                cmdInsertTransaction.Parameters.AddWithValue("@status", historyTransaction.Status);
                insertTransactionResult = cmdInsertTransaction.ExecuteNonQuery();

                if (updateAccountResult == 1 && insertTransactionResult == 1)
                {
                    transaction.Commit();
                    return(true);
                }
            }
            catch (BankError e)
            {
                transaction.Rollback();
                return(false);
            }

            DbConnection.Instance().CloseConnection();
            return(false);
        }
示例#34
0
 public PROTOCOL_LOGIN_ACK(LoginState state, Account account)
 {
     _state   = state;
     _account = account;
 }
 /// <summary>
 /// Метод создания физ. лица
 /// </summary>
 /// <param name="passport">пасспортные данные</param>
 /// <param name="contact">контактные данные</param>
 /// <param name="account">аккаунт</param>
 /// <returns>физ. лицо</returns>
 public static Individual CreateIndividual(Passport passport, Contact contact, Account account) => new Individual(passport, contact, account);
示例#36
0
 public void CheckAction(Account user, DateTime lastCheck)
 {
     throw new NotImplementedException();
 }
 public void Init(Account account)
 {
     Username = account.UserName;
     Password = account.Password;
 }
示例#38
0
 private void Initialize(decimal balance, decimal frozenFund, Account account)
 {
     this._content = new FundContent(this, balance, frozenFund, account);
 }
示例#39
0
        public static void Initialize()
        {
            if (Accounts.Count == 0 && !Core.Service)
            {
                Utility.PushColor(ConsoleColor.Red);
                Console.WriteLine(new String('_', Console.BufferWidth));
                Console.WriteLine("                            Account Administration:");
                Utility.PushColor(ConsoleColor.White);
                Console.Write("               Do you want to create the owner account now? ");
                Utility.PushColor(ConsoleColor.Cyan);
                Console.Write("(y/n)");
                Utility.PopColor();

                if (Console.ReadKey(true).Key == ConsoleKey.Y)
                {
                    Console.WriteLine();

                    Console.Write("                             Username: "******"                             Password: "******"Shard: ");
                    Utility.PushColor(ConsoleColor.Gray);
                    Console.Write("Owner Account");
                    Utility.PushColor(ConsoleColor.DarkGray);
                    Console.Write("..................................................");
                    Utility.PushColor(ConsoleColor.Green);
                    Console.WriteLine("[Created]");
                    Utility.PopColor();
                }
                else
                {
                    Console.WriteLine();
                    Utility.PushColor(ConsoleColor.Magenta);
                    Console.Write("Shard: ");
                    Utility.PushColor(ConsoleColor.White);
                    Console.Write("Owner Account");
                    Utility.PushColor(ConsoleColor.DarkGray);
                    Console.Write("..................................................");
                    Utility.PushColor(ConsoleColor.DarkRed);
                    Console.WriteLine("[Skipped]");
                    Utility.PopColor();
                }

                Utility.PushColor(ConsoleColor.Red);
                Console.WriteLine(new String('_', Console.BufferWidth));
                Utility.PopColor();
            }
            else
            {
                Utility.PushColor(ConsoleColor.Magenta);
                Console.Write("Shard: ");
                Utility.PushColor(ConsoleColor.White);
                Console.Write("Owner Account");
                Utility.PushColor(ConsoleColor.DarkGray);
                Console.Write("...................................................");
                Utility.PushColor(ConsoleColor.DarkCyan);
                Console.WriteLine("[Loaded]");
                Utility.PopColor();
            }
        }
示例#40
0
 internal LogInResponse(Account account)
 {
     Account = account;
 }
示例#41
0
 public static AccountDto From(Account x) => new()
        public async Task Should_Link_Namespace_To_An_Account()
        {
            var company = Account.GenerateNewAccount(Fixture.NetworkType);

            await Fixture.SiriusWebSocketClient.Listener.Open();

            var tx = Fixture.SiriusWebSocketClient.Listener.ConfirmedTransactionsGiven(company.Address).Take(1);

            #region Create account and send some money to it
            Log.WriteLine($"Alice Account {company.Address.Plain} \r\n Private Key: {company.PrivateKey} \r\n Public Key {company.PublicKey}");

            const ulong amount           = (ulong)150;
            var         mosaicToTransfer = NetworkCurrencyMosaic.CreateRelative(amount);

            var transferTransaction = TransferTransaction.Create(
                Deadline.Create(),
                company.Address,
                new List <Mosaic>()
            {
                mosaicToTransfer
            },
                PlainMessage.Create("transferTest"),
                Fixture.NetworkType);

            var signedTransaction = Fixture.SeedAccount.Sign(transferTransaction, Fixture.GenerationHash);
            Log.WriteLine($"Going to send {amount} XPP to {company.Address.Pretty} with transaction {signedTransaction.Hash}");

            await Fixture.SiriusClient.TransactionHttp.Announce(signedTransaction);

            var result = await tx;

            Log.WriteLine($"Request confirmed with public key {result.Signer.PublicKey}");

            var companyAccountInfo = await Fixture.SiriusClient.AccountHttp.GetAccountInfo(company.Address);

            Log.WriteLine($"Account {companyAccountInfo.Address.Plain} with initial mosaic {companyAccountInfo.Mosaics[0]}");

            companyAccountInfo.Mosaics[0]?.Amount.Should().BeGreaterThan(0);
            #endregion

            #region register new namespace
            var namespaceName = "nsp" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, 6);
            var registerNamespaceTransaction = RegisterNamespaceTransaction.CreateRootNamespace(
                Deadline.Create(),
                namespaceName,
                100,
                Fixture.NetworkType
                );

            var registeredNsSignedTransaction = company.Sign(registerNamespaceTransaction, Fixture.GenerationHash);

            tx = Fixture.SiriusWebSocketClient.Listener.ConfirmedTransactionsGiven(company.Address).Take(1)
                 .Timeout(TimeSpan.FromSeconds(3000));

            await Fixture.SiriusClient.TransactionHttp.Announce(registeredNsSignedTransaction);

            Log.WriteLine(
                $"Registered namespace {namespaceName} for account {company.Address.Plain} with transaction {registeredNsSignedTransaction.Hash}");

            result = await tx;

            Log.WriteLine($"Request confirmed with transaction {result.TransactionInfo.Hash}");

            var expectedId = new NamespaceId(namespaceName);

            var nsInfo = await Fixture.SiriusClient.NamespaceHttp.GetNamespace(expectedId);

            Log.WriteLine(
                $"Retrieved namespace {namespaceName} successfully. The namespace HexId {nsInfo.Id.HexId}");
            nsInfo.Should().NotBeNull();

            companyAccountInfo = await Fixture.SiriusClient.AccountHttp.GetAccountInfo(company.Address);

            Log.WriteLine($"Account {companyAccountInfo.Address.Plain} with mosaic {companyAccountInfo.Mosaics[0]} after registered namespace");

            #endregion

            #region Link namespace to the address

            /*
             * var addressAliasTransaction = AliasTransaction.CreateForAddress(
             *  company.Address,
             *  nsInfo.Id,
             *  AliasActionType.LINK,
             *  Deadline.Create(),
             *  Fixture.NetworkType
             * );*/
            var builder = AliasTransactionBuilder.CreateForAddress();
            var addressAliasTransaction = builder
                                          .SetNamespaceId(nsInfo.Id)
                                          .SetDeadline(Deadline.Create())
                                          .SetNetworkType(Fixture.NetworkType)
                                          .SetFeeCalculationStrategy(FeeCalculationStrategyType.LOW)
                                          .Link(company.Address)
                                          .Build();

            tx = Fixture.SiriusWebSocketClient.Listener.ConfirmedTransactionsGiven(company.Address).Take(1);

            var aliasSignedTransaction = company.Sign(addressAliasTransaction, Fixture.GenerationHash);

            Fixture.WatchForFailure(aliasSignedTransaction);

            await Fixture.SiriusClient.TransactionHttp.Announce(aliasSignedTransaction);

            result = await tx;

            Log.WriteLine($"Request confirmed with transaction {result.TransactionInfo.Hash}");


            nsInfo = await Fixture.SiriusClient.NamespaceHttp.GetNamespace(expectedId);

            nsInfo.Should().NotBeNull();
            nsInfo.HasAlias.Should().BeTrue();
            nsInfo.Alias.Address.Plain.Should().BeEquivalentTo(company.Address.Plain);

            #endregion

            #region Send mosaic to namespace instead of address
            transferTransaction = TransferTransaction.Create(
                Deadline.Create(),
                nsInfo.Id,
                new List <Mosaic>()
            {
                NetworkCurrencyMosaic.CreateRelative(10)
            },
                PlainMessage.Create("Send to namespace"),
                Fixture.NetworkType);

            tx = Fixture.SiriusWebSocketClient.Listener.ConfirmedTransactionsGiven(Fixture.SeedAccount.Address).Take(1)
                 .Timeout(TimeSpan.FromSeconds(3000));

            var nsSignedTransferTransaction = Fixture.SeedAccount.Sign(transferTransaction, Fixture.GenerationHash);

            Fixture.WatchForFailure(nsSignedTransferTransaction);

            await Fixture.SiriusClient.TransactionHttp.Announce(nsSignedTransferTransaction);

            var result2 = await tx;

            Log.WriteLine($"Request confirmed with transaction {result2.TransactionInfo.Hash}");

            companyAccountInfo = await Fixture.SiriusClient.AccountHttp.GetAccountInfo(company.Address);

            Log.WriteLine($"Account {companyAccountInfo.Address.Plain} with mosaic {companyAccountInfo.Mosaics[0]} after transfer to the alias");

            //var expectedMosaicAmount = Convert.ToUInt64(Math.Pow(10, 6)) * (150 - 100 + 10);

            companyAccountInfo.Mosaics[0]?.Amount.Should().BeGreaterThan(0);

            #endregion
        }
 public void RefreshGroupsOfAccount(Account account)
 {
     account.LoadGroups();
 }
示例#44
0
 public InventarioApi(Account _cuenta, ManejadorAcciones _manejar_acciones)
 {
     cuenta           = _cuenta;
     manejar_acciones = _manejar_acciones;
 }
 public void RefreshPlaylistsOfAccount(Account account)
 {
     account.LoadPlaylists();
 }
示例#46
0
        /// <summary>
        /// 通过条件查找员工的请假,加班,外出情况,便于人事后台查看流程流转状态
        /// </summary>
        public List <Request> GetRequestRecordByCondition(string employeeName, int departmentID, int?gradeType,
                                                          DateTime from, DateTime to, ApplicationTypeEnum applicationType,
                                                          RequestStatus applicationStatus, Account loginUser)
        {
            List <Request> applicationList = new List <Request>();

            var list = EmployeeLogic.GetEmployeeBasicInfoByBasicCondition(employeeName, EmployeeTypeEnum.All, -1,
                                                                          gradeType, departmentID, true,
                                                                          HrmisPowers.A509, loginUser.Id, -1,
                                                                          new List <int>
            {
                (int)EmployeeTypeEnum.BorrowedEmployee
            });

            List <Employee> employeeList = new List <Employee>();

            foreach (var employeeEntity in list)
            {
                employeeList.Add(EmployeeEntity.Convert(employeeEntity));
            }
            //  new GetEmployee().GetEmployeeBasicInfoByBasicCondition(employeeName, EmployeeTypeEnum.All, -1, departmentID, true, -1, gradeType);
            //if (departmentID==-1)//如果查全部员工需去掉没有查询权限的员工
            //{
            //    EmployeeList = HrmisUtility.RemoteUnAuthEmployee(EmployeeList, AuthType.HRMIS, loginUser, HrmisPowers.A509);
            //}
            for (int i = 0; i < employeeList.Count; i++)
            {
                //if (EmployeeList[i] == null || EmployeeList[i].EmployeeType == EmployeeTypeEnum.BorrowedEmployee)
                //{
                //    continue;
                //}

                //根据入职离职时间确定考勤的有效时间

                DateTime employeeFromDate = DateTime.Compare(employeeList[i].EmployeeDetails.Work.ComeDate, from) > 0
                                                ? employeeList[i].EmployeeDetails.Work.ComeDate
                                                : from;
                DateTime employeeToDate;
                if (employeeList[i].EmployeeType == EmployeeTypeEnum.DimissionEmployee &&
                    employeeList[i].EmployeeDetails.Work.DimissionInfo != null)
                {
                    employeeToDate =
                        DateTime.Compare(employeeList[i].EmployeeDetails.Work.DimissionInfo.DimissionDate, to) < 0
                            ? employeeList[i].EmployeeDetails.Work.DimissionInfo.DimissionDate
                            : to;
                }
                else
                {
                    employeeToDate = to;
                }
                if (DateTime.Compare(employeeFromDate, employeeToDate) > 0)
                {
                    continue;
                }
                employeeList[i].EmployeeAttendance = new EmployeeAttendance(employeeFromDate, employeeToDate);
                employeeList[i].EmployeeAttendance.PlanDutyDetailList = _DalRull.GetPlanDutyDetailByAccount(employeeList[i].Account.Id, employeeFromDate, employeeToDate);
                //没有考勤规则的人不会这里出现
                if (employeeList[i].EmployeeAttendance.PlanDutyDetailList == null ||
                    employeeList[i].EmployeeAttendance.PlanDutyDetailList.Count == 0)
                {
                    continue;
                }
                List <Request> applicationListTemp = new List <Request>();
                switch (applicationType)
                {
                case ApplicationTypeEnum.All:
                    applicationListTemp.AddRange(
                        GetRequestFromLeaveRequest(employeeList[i].Account.Id,
                                                   employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                   applicationStatus));
                    applicationListTemp.AddRange(
                        GetRequestFromOutApplication(employeeList[i].Account.Id,
                                                     employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                     applicationStatus, OutType.All));
                    applicationListTemp.AddRange(
                        GetRequestFromOverWork(employeeList[i].Account.Id,
                                               employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                               applicationStatus));
                    break;

                case ApplicationTypeEnum.LeaveRequest:
                    applicationListTemp.AddRange(
                        GetRequestFromLeaveRequest(employeeList[i].Account.Id,
                                                   employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                   applicationStatus));
                    break;

                case ApplicationTypeEnum.InCityOut:
                    applicationListTemp.AddRange(
                        GetRequestFromOutApplication(employeeList[i].Account.Id,
                                                     employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                     applicationStatus, OutType.InCity));
                    break;

                case ApplicationTypeEnum.OutCityOut:
                    applicationListTemp.AddRange(
                        GetRequestFromOutApplication(employeeList[i].Account.Id,
                                                     employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                     applicationStatus, OutType.OutCity));
                    break;

                case ApplicationTypeEnum.TrainOut:
                    applicationListTemp.AddRange(
                        GetRequestFromOutApplication(employeeList[i].Account.Id,
                                                     employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                                     applicationStatus, OutType.Train));
                    break;

                case ApplicationTypeEnum.OverTime:
                    applicationListTemp.AddRange(
                        GetRequestFromOverWork(employeeList[i].Account.Id,
                                               employeeList[i].EmployeeAttendance.FromDate, employeeList[i].EmployeeAttendance.ToDate,
                                               applicationStatus));
                    break;

                default:
                    break;
                }
                foreach (Request request in applicationListTemp)
                {
                    request.Account.Name = employeeList[i].Account.Name;
                }
                applicationList.AddRange(applicationListTemp);
            }
            return(applicationList);
        }
示例#47
0
 public void Update(Account account)
 {
     ;
 }
 public void DeleteGroupOfAccount(Account account, string groupId)
 {
     account.DeleteGroup(groupId);
 }
示例#49
0
 public void Init()
 {
     var account = new Account(TestConstants.CloudName, TestConstants.DefaultApiKey, 
         TestConstants.DefaultApiSecret);
     m_api = new Api(account);
 }
 public void DeletePlaylistOfAccount(Account account, string playlistId)
 {
     account.DeletePlaylist(playlistId);
 }
示例#51
0
 // wipe out details and update display
 public void Wipe()
 {
     accHolder = null;
     account   = null;
     this.UpdateDisplay();
 }
示例#52
0
        // Ham Update balance Transfer
        public bool UpdateBalanceTransfer(Account account, Transaction historyTransaction)
        {
            DbConnection.Instance().OpenConnection();
            var transaction = DbConnection.Instance().Connection.BeginTransaction();

            try
            {
                // 1.thực hiện trừ số tiền người chuyển.
                //1.1 Lấy thông tin số dư người chuyển.
                var          queryBalanceUser    = "******";
                MySqlCommand queryBalanceCommand =
                    new MySqlCommand(queryBalanceUser, DbConnection.Instance().Connection);
                queryBalanceCommand.Parameters.AddWithValue("@username", account.Username);
                queryBalanceCommand.Parameters.AddWithValue("@status", account.Status);
                var balanceReader = queryBalanceCommand.ExecuteReader();

                if (!balanceReader.Read())
                {
                    throw new BankError("Invalid username");
                }

                // dam bao luon co ban ghi
                var currentBalance = balanceReader.GetDecimal("balance");
                balanceReader.Close();

                // kiểm tra số dư tài khoản có đủ thực hiện giao dịch k
                if (historyTransaction.Type == Transaction.TransactionType.TRANSFER &&
                    historyTransaction.Amount > currentBalance)
                {
                    throw new BankError("Số dư không đủ!");
                }

                // trừ tiền người gửi.
                if (historyTransaction.Type == Transaction.TransactionType.TRANSFER)
                {
                    currentBalance = currentBalance - historyTransaction.Amount;
                }

                // update so du vao vao tai khoan người chuyển.
                var updateAccountResult       = 0;
                var queryUpdateAccountBalance =
                    "update `account` set balance = @balance where username = @username and status = 1";
                var cmdUpdateAccountBalance =
                    new MySqlCommand(queryUpdateAccountBalance, DbConnection.Instance().Connection);
                cmdUpdateAccountBalance.Parameters.AddWithValue("@username", account.Username);
                cmdUpdateAccountBalance.Parameters.AddWithValue("@balance", currentBalance);
                updateAccountResult = cmdUpdateAccountBalance.ExecuteNonQuery();

                // 2. thực hiện cộng tiền cho người nhận
                // 2.1 lấy thông tin so dư mới nhất của người nhận.
                var queryBalanceAccountReceiver =
                    "select balance from `account` where username = @username and status = @status";
                MySqlCommand queryBalanceCommandAccount =
                    new MySqlCommand(queryBalanceAccountReceiver, DbConnection.Instance().Connection);
                queryBalanceCommandAccount.Parameters.AddWithValue("@username", Program.curentAccountReceiver.Username);
                queryBalanceCommandAccount.Parameters.AddWithValue("@status", Program.curentAccountReceiver.Status);
                var balanceReaderAccountReceiver = queryBalanceCommandAccount.ExecuteReader();

                if (!balanceReaderAccountReceiver.Read())
                {
                    throw new BankError("Invalid username");
                }

                // dam bao luon co ban ghi
                var currentBalanceAccountReceiver = balanceReaderAccountReceiver.GetDecimal("balance");
                balanceReaderAccountReceiver.Close();
                // Cộng tiền người nhận.
                if (historyTransaction.Type == Transaction.TransactionType.TRANSFER)
                {
                    currentBalanceAccountReceiver = currentBalanceAccountReceiver + historyTransaction.Amount;
                }

                // update so du moi nhat cua nguoi nhận vào database
                var updateAccountNumber        = 0;
                var queryUpdateBalanceReceiver =
                    "update `account` set balance = @balance where username = @username and status = 1";
                var cmdUpdateAccountBalanceReceiver =
                    new MySqlCommand(queryUpdateBalanceReceiver, DbConnection.Instance().Connection);
                cmdUpdateAccountBalanceReceiver.Parameters.AddWithValue("@username", Program.curentAccountReceiver.Username);
                cmdUpdateAccountBalanceReceiver.Parameters.AddWithValue("@balance", currentBalanceAccountReceiver);
                updateAccountNumber = cmdUpdateAccountBalanceReceiver.ExecuteNonQuery();

                // luu thong tin transaction
                var insertTransactionResult = 0;
                var queryInsertTransaction  = "insert into `transaction` " +
                                              "(id, type, amount, content, senderAccountNumber, receiverAccountNumber, status) " +
                                              "values (@id, @type, @amount, @content, @senderAccountNumber, @receiverAccountNumber, @status)";
                var cmdInsertTransaction =
                    new MySqlCommand(queryInsertTransaction, DbConnection.Instance().Connection);
                cmdInsertTransaction.Parameters.AddWithValue("@id", historyTransaction.Id);
                cmdInsertTransaction.Parameters.AddWithValue("@type", historyTransaction.Type);
                cmdInsertTransaction.Parameters.AddWithValue("@amount", historyTransaction.Amount);
                cmdInsertTransaction.Parameters.AddWithValue("@content", historyTransaction.Content);
                cmdInsertTransaction.Parameters.AddWithValue("@senderAccountNumber",
                                                             historyTransaction.SenderAccountNumber);
                cmdInsertTransaction.Parameters.AddWithValue("@receiverAccountNumber",
                                                             historyTransaction.ReceiverAccountNumber);
                cmdInsertTransaction.Parameters.AddWithValue("@status", historyTransaction.Status);
                insertTransactionResult = cmdInsertTransaction.ExecuteNonQuery();

                if (updateAccountResult == 1 && insertTransactionResult == 1 && updateAccountNumber == 1)
                {
                    transaction.Commit();
                    return(true);
                }
            }
            catch (BankError e)
            {
                transaction.Rollback();
                return(false);
            }

            DbConnection.Instance().CloseConnection();
            return(false);
        }