Пример #1
0
        private List <OrderDetail> AddOffallabel(double poundWeight, OmsScaleWeighStatus status = OmsScaleWeighStatus.Success, OrderEventArgs e = null, string formattedDisplay = null, int quantity = 1)
        {
            if (status == OmsScaleWeighStatus.Success)
            {
                List <OrderDetail> orderDetails = new List <OrderDetail>();
                for (int i = 0; i < quantity; i++)
                {
                    var od = new OrderDetail
                    {
                        CustomerLocationId = e.LocationId,
                        OrderId            = _viewModel.CurrentOrderId,
                        ProductId          = e.ProductId,
                        SideTypeId         = null,
                        Product            = _productRepository.GetOffalProduct(e.ProductId)
                    };
                    orderDetails.Add(od);
                }
                _orderDetailRepository.AddRange(orderDetails);
                _orderDetailRepository.Save();

                _labelCreateService.ProduceCustomBagLabels(orderDetails, (double)poundWeight, _activeLabelType, _viewModel.ProcessDate
                                                           , null, new AnimalLabelsViewModel()
                {
                    Name      = orderDetails.FirstOrDefault().Product.EnglishDescription,
                    IsOrganic = false,
                    Species   = null
                });
                DisplayScaleOutput(formattedDisplay ?? string.Empty);

                return(orderDetails);
            }
            DisplayScaleOutput(String.Format("error reading scale. Scale Status: [{0}]", status), true);
            return(null);
        }
Пример #2
0
        public async Task <Order> Create(IEnumerable <OrderDetail> request)
        {
            var orderId = Guid.NewGuid();

            request.ToList().ForEach(item => { item.OrderId = orderId; });
            await _orderDetailRepository.AddRange(request);

            var order = new Order
            {
                OrderId      = orderId,
                TotalAmount  = request.Sum(item => item.Quantity * item.Price),
                CreatedDate  = DateTime.UtcNow,
                OrderDetails = request
            };
            await _orderRepository.Add(order);

            bool isSuccess = _unitOfWork.Commit();

            return(isSuccess ? order : null);
        }