示例#1
0
        public async Task <Order> GetOrderAsync(int id)
        {
            using (var connection = new MySqlConnectorAlias::MySql.Data.MySqlClient.MySqlConnection(_connectionString))
            {
                connection.Open();

                var result = await connection.QueryAsync <dynamic>(
                    @"select o.Id as ordernumber,o.OrderDate as date, o.Description as description,
                        o.Address_City as city, o.Address_Country as country, o.Address_State as state, o.Address_Street as street, o.Address_ZipCode as zipcode,
                        os.Name as status, 
                        oi.ProductName as productname, oi.Units as units, oi.UnitPrice as unitprice, oi.PictureUrl as pictureurl
                        FROM `orders` o
                        LEFT JOIN `orderItems` oi ON o.Id = oi.orderid 
                        LEFT JOIN `orderstatus` os on o.OrderStatusId = os.Id
                        WHERE o.Id=@id"
                    , new { id }
                    );

                if (result.AsList().Count == 0)
                {
                    throw new KeyNotFoundException();
                }

                return(MapOrderItems(result));
            }
        }
示例#2
0
        public async Task <IEnumerable <CardType> > GetCardTypesAsync()
        {
            using (var connection = new MySqlConnectorAlias::MySql.Data.MySqlClient.MySqlConnection(_connectionString))
            {
                connection.Open();

                return(await connection.QueryAsync <CardType>("SELECT * FROM `cardtypes`"));
            }
        }
示例#3
0
        public async Task <IEnumerable <OrderSummary> > GetOrdersAsync()
        {
            using (var connection = new MySqlConnectorAlias::MySql.Data.MySqlClient.MySqlConnection(_connectionString))
            {
                connection.Open();

                return(await connection.QueryAsync <OrderSummary>(@"SELECT o.Id as ordernumber,o.OrderDate as date,os.Name as status,SUM(oi.units*oi.unitprice) as total
                     FROM `orders` o
                     LEFT JOIN `orderItems` oi ON  o.Id = oi.orderid 
                     LEFT JOIN `orderstatus` os on o.OrderStatusId = os.Id                     
                     GROUP BY o.Id, o.OrderDate, os.Name 
                     ORDER BY o.Id"));
            }
        }