示例#1
0
        public Order GetOrderById(IDbConnection conn, int id)
        {
            var cmd = conn.CreateCommand();

            cmd.CommandText = $"SELECT * FROM dbo.Orders WHERE Id = {id}";

            var order = new Order();

            using (var reader = cmd.ExecuteReader())
            {
                order.Id    = id;
                order.Total = reader.GetDecimal(reader.GetOrdinal(PropertyNameProvider.GetPropertyName(() => order.Total)));
            }

            return(order);
        }
示例#2
0
        public IEnumerable <Order> GetOrdersByCustomerId(IDbConnection conn, int customerId)
        {
            var cmd = conn.CreateCommand();

            cmd.CommandText = $"SELECT o.Id as id, o.Total as Total FROM dbo.Orders as o join Customer as c on a.Id = c.Id Where c.Id = {customerId}";

            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var order = new Order();
                    order.Id    = int.Parse(reader[PropertyNameProvider.GetPropertyName(() => order.Id)].ToString());
                    order.Total = decimal.Parse(reader[PropertyNameProvider.GetPropertyName(() => order.Total)].ToString());
                    yield return(order);
                }
            }
        }
示例#3
0
        public IEnumerable <orderItem> GetOrderItemsByOrderId(IDbConnection conn, int id)
        {
            var cmd = conn.CreateCommand();

            cmd.CommandText = $"SELECT * FROM dbo.OrderItems WHERE OrderId = {id}";
            using (var reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    var orderItem = new orderItem();
                    orderItem.Code =
                        reader.GetString(
                            reader.GetOrdinal(PropertyNameProvider.GetPropertyName(() => orderItem.Code)));
                    orderItem.Description =
                        reader.GetString(
                            reader.GetOrdinal(PropertyNameProvider.GetPropertyName(() => orderItem.Description)));
                    orderItem.Price =
                        reader.GetFloat(reader.GetOrdinal(PropertyNameProvider.GetPropertyName(() => orderItem.Price)));

                    yield return(orderItem);
                }
            }
        }