diff --git a/src/Services/Ordering/Ordering.API/Application/Queries/IOrderQueries.cs b/src/Services/Ordering/Ordering.API/Application/Queries/IOrderQueries.cs index 10aaf3415..89cf496e3 100644 --- a/src/Services/Ordering/Ordering.API/Application/Queries/IOrderQueries.cs +++ b/src/Services/Ordering/Ordering.API/Application/Queries/IOrderQueries.cs @@ -1,5 +1,6 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Queries { + using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -7,7 +8,7 @@ { Task GetOrderAsync(int id); - Task> GetOrdersAsync(); + Task> GetOrdersFromUserAsync(Guid userId); Task> GetCardTypesAsync(); } diff --git a/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs b/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs index 59cc8a823..8509e10d3 100644 --- a/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs +++ b/src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; public class OrderQueries - :IOrderQueries + : IOrderQueries { private string _connectionString = string.Empty; @@ -42,18 +42,20 @@ } } - public async Task> GetOrdersAsync() + public async Task> GetOrdersFromUserAsync(Guid userId) { using (var connection = new SqlConnection(_connectionString)) { connection.Open(); - return await connection.QueryAsync(@"SELECT o.[Id] as ordernumber,o.[OrderDate] as [date],os.[Name] as [status],SUM(oi.units*oi.unitprice) as total + return await connection.QueryAsync(@"SELECT o.[Id] as ordernumber,o.[OrderDate] as [date],os.[Name] as [status], SUM(oi.units*oi.unitprice) as total FROM [ordering].[Orders] o LEFT JOIN[ordering].[orderitems] oi ON o.Id = oi.orderid LEFT JOIN[ordering].[orderstatus] os on o.OrderStatusId = os.Id + LEFT JOIN[ordering].[buyers] ob on o.BuyerId = ob.Id + WHERE ob.IdentityGuid = @userId GROUP BY o.[Id], o.[OrderDate], os.[Name] - ORDER BY o.[Id]"); + ORDER BY o.[Id]", new { userId }); } } diff --git a/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs b/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs index c93e18400..5542caf11 100644 --- a/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs +++ b/src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs @@ -87,8 +87,8 @@ namespace Microsoft.eShopOnContainers.Services.Ordering.API.Controllers [ProducesResponseType(typeof(IEnumerable), (int)HttpStatusCode.OK)] public async Task GetOrders() { - var orders = await _orderQueries.GetOrdersAsync(); - + var userid = _identityService.GetUserIdentity(); + var orders = await _orderQueries.GetOrdersFromUserAsync(Guid.Parse(userid)); return Ok(orders); } diff --git a/test/Services/UnitTest/Ordering/Application/OrdersWebApiTest.cs b/test/Services/UnitTest/Ordering/Application/OrdersWebApiTest.cs index b6f047960..516f9ba54 100644 --- a/test/Services/UnitTest/Ordering/Application/OrdersWebApiTest.cs +++ b/test/Services/UnitTest/Ordering/Application/OrdersWebApiTest.cs @@ -94,7 +94,7 @@ namespace UnitTest.Ordering.Application { //Arrange var fakeDynamicResult = Enumerable.Empty(); - _orderQueriesMock.Setup(x => x.GetOrdersAsync()) + _orderQueriesMock.Setup(x => x.GetOrdersFromUserAsync(Guid.NewGuid())) .Returns(Task.FromResult(fakeDynamicResult)); //Act