public bool Add(string connectionString, ApiModels.Account account) { if (account != null) { var transactionsRepo = new TransactionsRepository(); var transactions = transactionsRepo.GetEntities(connectionString, account.Id); using (var context = new AccountsDatabase(connectionString)) { if (account.Id == null) { context.Accounts.Add(new Entities.Account() { Amount = account.Amount, Name = account.Name, Number = account.Number, Id = Guid.NewGuid(), Transactions = transactions }); } else { context.Accounts.Single(a => a.Id == account.Id).Name = account.Name; } context.SaveChanges(); return(true); } } return(false); }
public Entities.Account GetEntity(string connectionString, Guid id) { using (var context = new AccountsDatabase(connectionString)) { return(context.Accounts.AsNoTracking().Single(a => a.Id == id)); } }
public List <Entities.Transaction> GetEntities(string connectionString, Guid id) { using (var context = new AccountsDatabase(connectionString)) { return(context.Transactions.AsNoTracking().Where(t => t.AccountId == id).ToList()); } }
public bool Add(string connectionString, ApiModels.Transaction transaction, Guid id) { if (transaction != null) { using (var context = new AccountsDatabase(connectionString)) { var accountsRepo = new AccountsRepository(); var account = accountsRepo.GetAccount(connectionString, id); account.Amount += transaction.Amount; if (!accountsRepo.Update(connectionString, account)) { return(false); } context.Transactions.Add(new Entities.Transaction() { Amount = transaction.Amount, Date = transaction.Date, AccountId = account.Id, Id = Guid.NewGuid() }); context.SaveChanges(); return(true); } } return(false); }
public virtual IList <T> GetEntities(string connectionString, Guid id) { using (var context = new AccountsDatabase(connectionString)) { //TODO: how to do this return(context.Transactions.AsNoTracking().Where(t => t.AccountId == id).ToList()); } }
public bool Delete(string connectionString, Guid id) { using (var context = new AccountsDatabase(connectionString)) { var entity = context.Accounts.Single(a => a.Id == id); context.Accounts.Remove(entity); context.SaveChanges(); return(true); } }
public bool Update(string connectionString, ApiModels.Account account) { if (account != null) { using (var context = new AccountsDatabase(connectionString)) { var entity = context.Accounts.Single(a => a.Id == account.Id); entity.Name = account.Name; context.SaveChanges(); return(true); } } return(false); }
public List <ApiModels.Account> GetAccounts(string connectionString) { using (var context = new AccountsDatabase(connectionString)) { var accounts = new List <Entities.Account>(); accounts = context.Accounts.AsNoTracking().ToList(); if (accounts != null) { var accountsDisplay = new List <ApiModels.Account>(); accounts.ForEach(a => { accountsDisplay.Add(new ApiModels.Account() { Amount = (float)a.Amount, Name = a.Name, Number = a.Number, Id = a.Id }); }); return(accountsDisplay); } return(null); } }