コード例 #1
0
        public async Task <int> Handle(CreateOrderCommand request, CancellationToken cancellationToken)
        {
            var number = await _context.Orders.AnyAsync(cancellationToken)
                ? await _context.Orders.MaxAsync(order => order.Number, cancellationToken) + 1
                : 1;

            var entity = new Core.Entities.Order
            {
                Number = number,
                Status = StatusEnum.ВОбработке,
                UserId = _currentUserService.UserId,

                StartPoint      = request.StartPoint,
                EndPoint        = request.EndPoint,
                ServiceTypeId   = request.ServiceTypeId,
                DateFrom        = request.DateFrom,
                DateTo          = request.DateTo,
                OrderStructures = request.OrderStructures
                                  .Select(orderStr => new OrderStructure
                {
                    Count   = orderStr.Count,
                    Product = orderStr.Product,
                    UnitId  = orderStr.UnitId
                }).ToList(),
                IsRemove = false
            };

            await _context.Orders.AddAsync(entity, cancellationToken);

            await _context.SaveChangesAsync(cancellationToken);

            return(entity.Id);
        }
コード例 #2
0
 public static OrderDTO FromEntity(Core.Entities.Order source)
 {
     return(new OrderDTO
     {
         Id = source.Id,
         ProductId = source.ProductId,
         PaymentId = source.PaymentId,
         Status = source.Status
     });
 }
コード例 #3
0
ファイル: CreateOrder.cs プロジェクト: GrupaKreatywna/EShop
 public Core.Entities.Order ToOrderEntity()
 {
     Core.Entities.Order o = new Core.Entities.Order
     {
         OrderDate            = this.OrderDate,
         Address              = this.Adress,
         ContractingAuthority = this.ContractingAuthority,
         City             = this.City,
         PostalCode       = this.PostalCode,
         DiscountCouponId = this.DiscountCouponId,
         Email            = this.Email
     };
     return(o);
 }