public async Task <IReadOnlyList <AOrder_OrderSummary> > GetOrderSummariesAsync(string orderNumber, DateTime?orderDateUtc, MOrder_OrderStatus orderStatus, string userName, int?recordCount) { using var log = BeginFunction(nameof(OrderAdminService), nameof(GetOrderSummariesAsync), orderNumber, orderDateUtc, orderStatus, userName, recordCount); try { await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false); long?ordererId; if (!string.IsNullOrEmpty(userName)) { var userId = await UserMicroService.LookupUserIdAsync(userName).ConfigureAwait(false); if (!string.IsNullOrEmpty(userId)) { var ordererReference = CreateOrdererReference.FromUserId(userId); ordererId = await OrderMicroService.LookupOrdererAsync(ordererReference); } else { ordererId = null; } } else { ordererId = null; } var mOrderSummaryList = await OrderMicroService.GetOrderSummariesAsync(orderNumber, orderDateUtc, orderStatus, ordererId, recordCount).ConfigureAwait(false); var orderSummaries = new List <AOrder_OrderSummary>(); foreach (var mOrderSummary in mOrderSummaryList.Summaries) { orderSummaries.Add(new AOrder_OrderSummary() { OrderId = mOrderSummary.OrderId, OrderNumber = mOrderSummary.OrderNumber, OrderDateTimeUtc = mOrderSummary.OrderDateTimeUtc, StatusDateTimeUtc = mOrderSummary.UpdateDateTimeUtc, OrderStatusType = mOrderSummary.OrderStatus.ToString(), Total = mOrderSummary.TotalAmount, UserId = "", UserName = "" }); } var result = orderSummaries; log.Result(result); return(result); } catch (Exception ex) { log.Exception(ex); throw; } }
public async Task <AUser_User> GetUserAsync(string userId) { using var log = BeginFunction(nameof(UserAdminService), nameof(GetUserAsync), userId); try { await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false); using var ctx = QuiltContextFactory.Create(); var dbAspNetUser = await ctx.AspNetUsers .Include(r => r.AspNetUserRoles) .ThenInclude(r => r.Role) .Include(r => r.AspNetUserLogins) .Where(r => r.Id == userId) .FirstOrDefaultAsync().ConfigureAwait(false); if (dbAspNetUser == null) { log.Result(null); return(null); } var squareCustomerReference = CreateSquareCustomerReference.FromUserId(userId); var squareCustomerId = await SquareMicroService.LookupSquareCustomerIdAsync(squareCustomerReference).ConfigureAwait(false); var mSquareCustomerSummaryList = squareCustomerId != null ? await SquareMicroService.GetSquareCustomerSummariesAsync(squareCustomerId.Value, null).ConfigureAwait(false) : null; var mSquarePaymentSummaryList = squareCustomerId != null ? await SquareMicroService.GetSquarePaymentSummariesAsync(squareCustomerId, null, null).ConfigureAwait(false) : null; var ordererReference = CreateOrdererReference.FromUserId(userId); var ordererId = await OrderMicroService.LookupOrdererAsync(ordererReference).ConfigureAwait(false); var mOrderSummaryList = ordererId != null ? await OrderMicroService.GetOrderSummariesAsync(null, null, MOrder_OrderStatus.MetaAll, ordererId, null).ConfigureAwait(false) : null; var result = Create.AUser_User( dbAspNetUser, mOrderSummaryList, mSquareCustomerSummaryList?.Summaries.FirstOrDefault(), mSquarePaymentSummaryList); log.Result(result); return(result); } catch (Exception ex) { log.Exception(ex); throw; } }