예제 #1
0
        internal override HandleResponse HandleIt(CreateOrdersCommand request, CancellationToken cancellationToken)
        {
            if (request.Orders.Count() <= 0 ||
                request.Orders.Any(a => !a.IsValid()))
            {
                return(new HandleResponse()
                {
                    Error = "You are trying to send invalid products"
                });
            }

            var ordersId = _orderRepository.AddAllAsync(request.Orders).GetAwaiter().GetResult();

            if (ordersId == null ||
                !ordersId.Any())
            {
                return(new HandleResponse()
                {
                    Error = "Not possible create orders! Try again later!"
                });
            }

            SendOrderMail(request.Orders.FirstOrDefault().User, request.Orders).GetAwaiter().GetResult();

            return(new HandleResponse()
            {
                Content = ordersId
            });
        }