Ejemplo n.º 1
0
        private async Task <(Data.DAL.Order, bool)> EnsureGetOrder(Guid userId)
        {
            var userIdStr = userId.ToString();
            var order     = await _dc.Orders
                            .Where(x => x.UserId == userIdStr && x.TrackingState < 3)
                            .OrderByDescending(x => x.DateCreated)
                            .FirstOrDefaultAsync();

            var created = false;

            if (order == null)
            {
                order = new Data.DAL.Order {
                    Id            = Guid.NewGuid(),
                    UserId        = userId.ToString(),
                    State         = 0,
                    TrackingState = 0,
                    DateCreated   = DateTimeOffset.Now,
                };

                await _dc.Orders.AddAsync(order);

                await _dc.SaveChangesAsync();

                created = true;
            }

            return(order, created);
        }
Ejemplo n.º 2
0
        private static Order ConvertFromDb(Data.DAL.Order order)
        {
            if (order == null)
            {
                return(null);
            }

            var rc = new Order {
                UserId        = Guid.Parse(order.UserId),
                State         = order.State,
                TrackingState = order.TrackingState,
                Notes         = order.Notes,
                DateCreated   = order.DateCreated,
                Address       = order.Address,
                Id            = order.Id,
                IsCrispy      = order.IsCrispy,
                Phone         = order.Phone,
                Size          = order.Size,
            };

            return(rc);
        }