Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }