public IList <BankAccount> ListAccountsByLogin(string login) { using (var context = new CognizantContext()) { CognizantADO connection = new CognizantADO(context.Database.Connection.ConnectionString); var data = connection.ExecuteQuery ($@" select t1.* from BankAccount t1 inner join Client t2 on t1.ClientId = t2.ClientId where t2.Login = '******' "); List <BankAccount> listAccounts = new List <BankAccount>(); foreach (var item in data) { var property = item as Dictionary <string, object>; BankAccount account = new BankAccount() { Balance = Convert.ToDecimal(property.ValueAsDecimal("Balance")), ClientId = int.Parse(property.ValueAsString("ClientId")), Limit = int.Parse(property.ValueAsString("Balance")), NumberAccount = int.Parse(property.ValueAsString("NumberAccount")), OpenDate = Convert.ToDateTime(property.ValueAsDateTimeNullable("OpenDate")) }; listAccounts.Add(account); } return(listAccounts); } }
public virtual void Delete(params T[] items) { using (var context = new CognizantContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Deleted; } context.SaveChanges(); } }
public virtual void AddNoValidate(params T[] items) { using (var context = new CognizantContext()) { foreach (T item in items) { context.Entry(item).State = EntityState.Added; } context.Configuration.ValidateOnSaveEnabled = false; context.SaveChanges(); } }
public bool ValidateLogin(string login, string password) { using (var context = new CognizantContext()) { CognizantADO connection = new CognizantADO(context.Database.Connection.ConnectionString); var data = connection.ExecuteQuery($"select count(*) as auth from Client where Login = '******' and Password = '******'"); var property = data[0] as Dictionary <string, object>; int countUser = int.Parse(property.ValueAsString("auth")); return(countUser == 0 ? false : true); } }
public bool Transfer(decimal value, int numberAccount, int typeTransfer, string login, int userNumberAccount) { try { using (var context = new CognizantContext()) { CognizantADO connection = new CognizantADO(context.Database.Connection.ConnectionString); var query = connection.ExecuteQuery ($@" select ClientId from Client where Login = '******' "); var property = query[0] as Dictionary <string, object>; int clientID = int.Parse(property.ValueAsString("ClientId")); var query2 = connection.ExecuteQuery ($@" select Balance from BankAccount where NumberAccount = {userNumberAccount} "); var property2 = query2[0] as Dictionary <string, object>; decimal balanceUser = property2.ValueAsDecimal("Balance"); if ((balanceUser - value) <= 0) { return(false); } else { var update = connection.ExecuteQuery ($@" begin tran update BankAccount set Balance = {(balanceUser - value).ToString().Replace(",", ".")} where ClientId = {clientID} and NumberAccount = {userNumberAccount} update BankAccount set Balance = balance + {(value).ToString().Replace(",", ".")} where ClientId = {clientID} and NumberAccount = {numberAccount} insert into HistoricalTransaction (NumberAccount,Date,Value,FlagTransaction) values ({userNumberAccount},Getdate(),{value.ToString().Replace(",", ".")},1); commit "); } } return(true); } catch (Exception ex) { return(false); } }
public virtual T GetSingle(Func <T, bool> where, params Expression <Func <T, object> >[] navProperties) { T item = null; using (var context = new CognizantContext()) { IQueryable <T> dbQuery = context.Set <T>(); foreach (Expression <Func <T, object> > navigationProperty in navProperties) { dbQuery = dbQuery.Include <T, object>(navigationProperty); } item = dbQuery.AsNoTracking().FirstOrDefault(where); } return(item); }
public virtual IList <T> GetList(Func <T, bool> where, params Expression <Func <T, object> >[] navProperties) { List <T> list; using (var context = new CognizantContext()) { IQueryable <T> dbQuery = context.Set <T>(); foreach (Expression <Func <T, object> > navigationProperty in navProperties) { dbQuery = dbQuery.Include <T, object>(navigationProperty); } list = dbQuery.AsNoTracking().Where(where).AsQueryable <T>().ToList <T>(); } return(list); }
public void CreateAccount(decimal balance, int limit, string login) { using (var context = new CognizantContext()) { CognizantADO connection = new CognizantADO(context.Database.Connection.ConnectionString); var data = connection.ExecuteQuery ($@" select ClientId from Client where Login = '******' "); var property = data[0] as Dictionary <string, object>; int clientID = int.Parse(property.ValueAsString("ClientId")); var insertAccount = connection.ExecuteQuery ($@" insert into BankAccount (OpenDate,Balance,ClientId,Limit) values (Getdate(),{balance.ToString().Replace(",", ".")},{clientID},{limit}) "); } }
public virtual IList <T> GetAll(params Expression <Func <T, object> >[] navProperties) { List <T> list; using (var context = new CognizantContext()) { IQueryable <T> dbQuery = context.Set <T>(); if (navProperties != null) { dbQuery = navProperties.Aggregate(dbQuery, (current, include) => current.Include(include)); } foreach (Expression <Func <T, object> > navigationProperty in navProperties) { dbQuery = dbQuery.Include <T, object>(navigationProperty); } list = dbQuery.AsNoTracking().ToList <T>(); } return(list); }
public BankAccount GetAccountByNumberAccount(int numberAccount) { using (var context = new CognizantContext()) { CognizantADO connection = new CognizantADO(context.Database.Connection.ConnectionString); var data = connection.ExecuteQuery ($@" select t1.* from BankAccount t1 where t1.NumberAccount = {numberAccount} "); var property = data[0] as Dictionary <string, object>; BankAccount account = new BankAccount() { Balance = Convert.ToDecimal(property.ValueAsDecimal("Balance")), ClientId = int.Parse(property.ValueAsString("ClientId")), Limit = int.Parse(property.ValueAsString("Balance")), NumberAccount = int.Parse(property.ValueAsString("NumberAccount")), OpenDate = Convert.ToDateTime(property.ValueAsDateTimeNullable("OpenDate")) }; return(account); } }