public void TransferMoney_Succesfully() { Guid from = Guid.NewGuid(); Guid to = Guid.NewGuid(); var fromAccount = new Domain.Account(from, new Domain.User(Guid.NewGuid(), "alice", "*****@*****.**"), 100m, 90m, 0m); var toAccount = new Domain.Account(to, new Domain.User(Guid.NewGuid(), "bob", "*****@*****.**"), 120m, 80m, 0m); Moq.Mock <IAccountRepository> moq = new Moq.Mock <IAccountRepository>(); moq.Setup(x => x.GetAccountById(from)).Returns(fromAccount); moq.Setup(x => x.GetAccountById(to)).Returns(toAccount); IAccountRepository repository = moq.Object; TransferMoney transferMoney = new TransferMoney(repository); bool result = transferMoney.Execute(from, to, 10); Assert.True(result); Assert.Equal(90m, fromAccount.Balance); Assert.Equal(130m, toAccount.Balance); moq.Verify(v => v.Update(fromAccount)); moq.Verify(v => v.Update(toAccount)); }
public Account GetAccountByAccountId(int accountid) { //Please see section on using prepared statements in npgsql user manual for explanation on params and query structure Domain.Account Accounts = new Domain.Account(); return(Accounts); }
static Context() { // drop old databases new MongoContext(ConfigurationManager.ConnectionStrings["MongoConnectionReadModel"].ConnectionString) .GetDatabase().Drop(); new MongoContext(ConfigurationManager.ConnectionStrings["MongoConnectionEventStore"].ConnectionString) .GetDatabase().Drop(); _bootstrapper = new NancyTestBootstrapper(); new Browser(_bootstrapper); using (var container = _bootstrapper.CreateContainer()) { var account = new Domain.Account(Guid.NewGuid(), "John Doe BVBA", "John", "Doe", "*****@*****.**"); var accountAdmin = new Domain.Account(Guid.NewGuid(), "Jane Doe BVBA", "Jane", "Doe", "*****@*****.**"); account.ChangePassword("john"); accountAdmin.ChangePassword("jane"); accountAdmin.MakeAdmin(); container.Resolve<IAggregateRootRepository>().Save(account); container.Resolve<IAggregateRootRepository>().Save(accountAdmin); } }
private Domain.Account MapAccount(Account account) { var dAcct = new Domain.Account(); dAcct.Password = account.Password; return(dAcct); }
public Account GetAccountByAccountId(int accountid) { //Please see section on using prepared statements in npgsql user manual for explanation on params and query structure Domain.Account Account = new Domain.Account(); using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(Infrastructure.ConfigReader.ConnectionString.ToString())) { conn.Open(); using (Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(AccountByAccountIDQuery, conn)) { command.Parameters.Add(new Npgsql.NpgsqlParameter("accountid", NpgsqlTypes.NpgsqlDbType.Integer)); command.Prepare(); command.Parameters[0].Value = accountid; using (Npgsql.NpgsqlDataReader dr = command.ExecuteReader()) { while (dr.Read()) { Account = populateAccountFromDB(dr); } } } } return(Account); }
public async Task <AddAccountResponse> Handle(AddAccountRequest request, CancellationToken cancellationToken) { var accountToAdd = new Domain.Account(request.CustomerId); var result = await _financialContext.Accounts.AddAsync(accountToAdd, cancellationToken); if (request.InitialCredit != 0) { accountToAdd.UpdateBalance(request.InitialCredit); var transactionToAdd = new Transaction(result.Entity.Id, null, request.InitialCredit, "Initial transaction"); await _financialContext.Transactions.AddAsync(transactionToAdd, cancellationToken); } await _financialContext.SaveChangesAsync(cancellationToken); return(new AddAccountResponse { Account = new Contracts.Account { CustomerId = result.Entity.CustomerId, Balance = result.Entity.Balance } }); }
public SetupModule(IAggregateRootRepository repository, IAccountRepository accountRepository, IIdGenerator idGenerator) :base("/setup") { Get["/"] = _ => { if (accountRepository.Count() > 0) return HttpStatusCode.NotFound; return View["Index"]; }; Post["/"] = _ => { var model = this.Bind<CreateModel>(); if (accountRepository.Count() > 0) return HttpStatusCode.NotFound; var account = new Domain.Account(idGenerator.NextGuid(), model.Name, model.FirstName, model.LastName, model.Email); account.ChangePassword(model.Password); account.MakeAdmin(); repository.Save(account); return Response.AsRedirect("/"); }; }
public override void Handle(OpenAccountCommand command) { var account = new Domain.Account(Guid.NewGuid()); account.OpenFor(command.Name, command.Address); _domainRepository.Save(account); }
private Account MapAccount(Domain.Account dAcct, Guid personId) { var account = new Account(); account.PersonId = personId; account.Password = dAcct.Password; return(account); }
public AdminModule(IAggregateRootRepository repository, IIdGenerator idGenerator) : base("/write/admin") { this.RequiresAuthentication(); this.RequiresClaims(new[] { "Admin" }); Post["/account/create"] = parameters => { var model = this.Bind<EditableAccount>(); var account = new Domain.Account(idGenerator.NextGuid(), model.Name, model.FirstName, model.LastName, model.Email); var password = account.GeneratePassword(); repository.Save(account); return Json(new { Account = new Account(account), Password = password }); }; Post["/account/update/{id:guid}"] = parameters => { var model = this.Bind<EditableAccount>(); var account = repository.GetById<Domain.Account>((Guid)parameters.id); if (account != null) { account.ChangeDetails(model.Name, model.FirstName, model.LastName, model.Email); repository.Save(account); return Json(new { Account = new Account(account) }); } return null; }; Post["/account/{id:guid}/newpassword"] = parameters => { var model = this.Bind<AccountNewPassword>(); var account = repository.GetById<Domain.Account>((Guid)parameters.id); if (account != null) { account.ChangePassword(model.Password); repository.Save(account); } return null; }; }
public static Index.Model ToModel(this Domain.Account account) { return(new Index.Model { Id = account.Id, Email = account.Email, Role = account.Role }); }
public static Account ToDomainModel(this SDK.Models.Account entity, Account destination = null) { if (entity != null) { if (destination == null) { destination = new Domain.Account(); } Account result = am.Mapper.Map <SDK.Models.Account, Account>(entity, destination); return(result); } return(null); }
public void SeedAccount() { var account = new Domain.Account() { UserName = "******", Password = _hashService.Hash("admin"), CreatedAt = new DateTime(), UpdatedAt = new DateTime(), CreatedBy = 1, UpdatedBy = 1 }; _databaseService.Accounts.Add(account); }
public void DeleteAccounts(Domain.Account account) { using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(Infrastructure.ConfigReader.ConnectionString.ToString())) { conn.Open(); using (Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(AccountDeleteQuery, conn)) { command.Parameters.Add(new Npgsql.NpgsqlParameter("accountid", NpgsqlTypes.NpgsqlDbType.Integer)); command.Prepare(); command.Parameters[0].Value = account.AccountId; int rowsAffected = command.ExecuteNonQuery(); } } }
public void CreateNew(Domain.Account account) { var existingAccount = _context.Accounts.FirstOrDefault(dbAccount => dbAccount.Name == account.Name); // bestaat account al? if (existingAccount != null) { // zo ja -> error throw new InvalidOperationException("Account already exists"); } // zo nee -> inserten _context.Accounts.Add(account); _context.SaveChanges(); }
public void WithdrawMoney_Succesfully() { Guid from = Guid.NewGuid(); var fromAccount = new Domain.Account(from, new Domain.User(Guid.NewGuid(), "bob", "*****@*****.**"), 120m, 80m, 0m); Moq.Mock <IAccountRepository> moq = new Moq.Mock <IAccountRepository>(); moq.Setup(x => x.GetAccountById(from)).Returns(fromAccount); IAccountRepository repository = moq.Object; WithdrawMoney withdrawMoney = new WithdrawMoney(repository); bool result = withdrawMoney.Execute(from, 10); Assert.True(result); Assert.Equal(110m, fromAccount.Balance); moq.Verify(v => v.Update(fromAccount)); }
public void WithdrawMoney_Failed() { Guid from = Guid.NewGuid(); var fromAccount = new Domain.Account(from, new Domain.User(Guid.NewGuid(), "bob", "*****@*****.**"), 120m, 80m, 0m); Moq.Mock <IAccountRepository> moq = new Moq.Mock <IAccountRepository>(); moq.Setup(x => x.GetAccountById(from)).Returns(fromAccount); moq.Setup(x => x.Update(fromAccount)).Throws(new Exception("Shouldn't be called.")); IAccountRepository repository = moq.Object; WithdrawMoney withdrawMoney = new WithdrawMoney(repository); bool result = withdrawMoney.Execute(from, 130m); Assert.False(result); Assert.Equal(120m, fromAccount.Balance); }
//To save account(s) to DB public void SaveAccounts(Domain.Account account) { string query; bool isUpdate = false; // Want to know right off the bat if we're doing a insert or update if (account.AccountId > 0) { query = AccountUpdateQuery; isUpdate = true; } else { query = AccountInsertQuery; } using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(Infrastructure.ConfigReader.ConnectionString.ToString())) { conn.Open(); using (Npgsql.NpgsqlCommand command = new Npgsql.NpgsqlCommand(query, conn)) { command.Parameters.Add(new Npgsql.NpgsqlParameter("merchantid", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("accountname", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("aacreator", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("assignedsalesrep", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("salesrepnumber", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("officenumber", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("status", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("accountapprovaldate", NpgsqlTypes.NpgsqlDbType.Timestamp)); command.Parameters.Add(new Npgsql.NpgsqlParameter("annualfee", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("estimatedmonthlyvolume", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("ht", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("hmv", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("platform", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("vendor", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("vip", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("mbp", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("freesupplies", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("pcirefund", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("mailingstreet", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("mailingcity", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("mailingstate", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("mailingzipcode", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("dbastreet", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("dbacity", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("dbastate", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("dbazipcode", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primaryphone", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondaryphone", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("faxnumber", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primaryemail", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondaryemail", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("website", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("credit", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("debit", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("arb", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("cim", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("ip", NpgsqlTypes.NpgsqlDbType.Boolean)); command.Parameters.Add(new Npgsql.NpgsqlParameter("giftcardprocessor", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secur_chex", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("software", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("ecommerce", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primaryterminal", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primaryterminalowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primaryterminalquantity", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondaryterminal", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondaryterminalowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondaryterminalquantity", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("checkequipment", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("checkequipmentowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("checkequipmentquantity", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primarypinpad", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primarypinpadowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("primarypinpadquantity", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondarypinpad", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondarypinpadowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("secondarypinpadquantity", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("printer", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("priterowner", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("description", NpgsqlTypes.NpgsqlDbType.Text)); command.Parameters.Add(new Npgsql.NpgsqlParameter("uploadfiles", NpgsqlTypes.NpgsqlDbType.Integer)); command.Parameters.Add(new Npgsql.NpgsqlParameter("parentlead", NpgsqlTypes.NpgsqlDbType.Integer)); if (isUpdate) { command.Parameters.Add(new Npgsql.NpgsqlParameter("accountid", NpgsqlTypes.NpgsqlDbType.Integer)); } command.Prepare(); command.Parameters[0].Value = account.MerchantId; command.Parameters[1].Value = account.AccountName; command.Parameters[2].Value = account.AACreator; command.Parameters[3].Value = account.AssignedSalesRep; command.Parameters[4].Value = account.SalesRepNumber; command.Parameters[5].Value = account.OfficeNumber; command.Parameters[6].Value = account.Status; command.Parameters[7].Value = account.AccountApprovalDate; command.Parameters[8].Value = account.AnnualFee; command.Parameters[9].Value = account.EstimatedMonthlyVolume; command.Parameters[10].Value = account.HT; command.Parameters[11].Value = account.HMV; command.Parameters[12].Value = account.Platform; command.Parameters[13].Value = account.Vendor; command.Parameters[14].Value = account.VIP; command.Parameters[15].Value = account.MBP; command.Parameters[16].Value = account.FreeSupplies; command.Parameters[17].Value = account.PCIRefund; command.Parameters[18].Value = account.MailingStreet; command.Parameters[19].Value = account.MailingCity; command.Parameters[20].Value = account.MailingState; command.Parameters[21].Value = account.MailingZipcode; command.Parameters[22].Value = account.DBAStreet; command.Parameters[23].Value = account.DBACity; command.Parameters[24].Value = account.DBAState; command.Parameters[25].Value = account.DBAZipcode; command.Parameters[26].Value = account.PrimaryPhone; command.Parameters[27].Value = account.SecondaryPhone; command.Parameters[28].Value = account.FaxNumber; command.Parameters[29].Value = account.PrimaryEmail; command.Parameters[30].Value = account.SecondaryEmail; command.Parameters[31].Value = account.Website; command.Parameters[32].Value = account.Credit; command.Parameters[33].Value = account.Debit; command.Parameters[34].Value = account.ARB; command.Parameters[35].Value = account.CIM; command.Parameters[36].Value = account.IP; command.Parameters[37].Value = account.GiftCardProcessor; command.Parameters[38].Value = account.Secur_Chex; command.Parameters[39].Value = account.Software; command.Parameters[40].Value = account.ECommerace; command.Parameters[41].Value = account.PrimaryTerminal; command.Parameters[42].Value = account.PrimaryTerminalOwner; command.Parameters[43].Value = account.PrimaryTerminalQuantity; command.Parameters[44].Value = account.SecondaryTerminal; command.Parameters[45].Value = account.SecondaryTerminalOwner; command.Parameters[46].Value = account.SecondaryTerminalQuantity; command.Parameters[47].Value = account.CheckEquipment; command.Parameters[48].Value = account.CheckEquipmentOwner; command.Parameters[49].Value = account.CheckEquipmentQuantity; command.Parameters[50].Value = account.PrimaryPINpad; command.Parameters[51].Value = account.PrimaryPINpadOwner; command.Parameters[52].Value = account.PrimaryPINpadQuantity; command.Parameters[53].Value = account.SecondaryPINpad; command.Parameters[54].Value = account.SecondaryPINpadOwner; command.Parameters[55].Value = account.SecondaryPINpadQuantity; command.Parameters[56].Value = account.Printer; command.Parameters[57].Value = account.PrinterOwner; command.Parameters[58].Value = account.Description; command.Parameters[59].Value = account.UploadedFiles; command.Parameters[60].Value = account.ParentLead; if (isUpdate) { command.Parameters[61].Value = account.AccountId; } int rowsAffected = command.ExecuteNonQuery(); } } if (account.NewFilePath != null && account.NewFilePath != string.Empty) { PGUploadedfileRepository upFile = new PGUploadedfileRepository(); upFile.InsertAccountFile(account.AccountId, account.NewFilePath); } }
public void OnGet() { var account = new Domain.Account("Timo"); }