Esempio n. 1
0
        public IEnumerable <T> Get <T>(T criteria = default(T))
        {
            string sql;

            if (criteria != null)
            {
                var mapper   = EntityMapper.MapProperties(criteria);
                var sqlPairs = EntityMapper.GetSqlPairs(mapper.AllNames, " AND ");
                sql = $@"SELECT * FROM [{typeof(T).Name}] WHERE {sqlPairs}";
            }
            else
            {
                sql = $@"SELECT * FROM [{typeof(T).Name}]";
            }
            using (var connection = _context.Connection)
            {
                connection.Open();
                var response = connection.Query <T>(sql, commandType: CommandType.Text);
                connection.Close();
                return(response);
            }
        }
Esempio n. 2
0
        public int Update <T>(T entity)
        {
            var mapper        = EntityMapper.MapProperties(entity);
            var sqlIdPairs    = EntityMapper.GetSqlPairs(mapper.IdNames);
            var sqlValuePairs = EntityMapper.GetSqlPairs(mapper.ValueNames);
            var sql           = $@"UPDATE [{typeof(T).Name}]  
                            SET {sqlValuePairs}
                        WHERE {sqlIdPairs}";

            try
            {
                using (var connection = _context.Connection)
                {
                    connection.Open();
                    var id = connection.Execute(sql, mapper.AllPairs, commandType: CommandType.Text);
                    connection.Close();
                    return(id);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }