コード例 #1
0
        private void AddBoxLabel(double poundWeight, OmsScaleWeighStatus status, string formattedDisplay, int quantity)
        {
            if (status == OmsScaleWeighStatus.Success)
            {
                var selectedLocation = _viewModel.SelectedCustomerLocation;
                if (selectedLocation != null)
                {
                    var coldWeightDetail = _coldWeightEntryRepository.GetByOrderId(selectedLocation.OrderId)
                                           .ColdWeightEntryDetails.Single(c => c.Id == selectedLocation.ColdWeightDetailId);
                    var orderDetails =
                        coldWeightDetail.AnimalOrderDetails.Select(a => a.OrderDetail)
                        .Where(o => o.SideTypeId == selectedLocation.Side)
                        .ToList();
                    var firstFromSide = orderDetails.First();
                    _labelCreateService.ProduceLabel(firstFromSide.Id, poundWeight, _activeLabelType, quantity,
                                                     _viewModel.ProcessDate, _viewModel.SelectedCustomerLocation.QualityGrade,
                                                     new AnimalLabelsViewModel()
                    {
                        Name    = _viewModel.SelectedCustomerLocation.AnimalLabel.Name,
                        Species = new SpeciesViewModel()
                        {
                            Name = _viewModel.SelectedCustomerLocation.AnimalLabel.Species.Name
                        }
                    },
                                                     (_activeLabelType == OmsLabelType.Box)
                            ? _viewModel.CustomBoxGridViewModel.SelectedTare
                            : _viewModel.CustomTrayGridViewModel.SelectedTare);
                    selectedLocation.CompletedCount += quantity;
                    var animalOrd = new AnimalOrderDetail
                    {
                        ColdWeightDetailId = coldWeightDetail.Id,
                        OrderDetailId      = firstFromSide.Id,
                    };

                    _animalOrderDetailRepository.Add(animalOrd);
                    _animalOrderDetailRepository.Save();
                }
                DisplayScaleOutput(formattedDisplay ?? string.Empty);
            }
            else
            {
                DisplayScaleOutput(String.Format("error reading scale. Scale Status: [{0}]", status), true);
            }
        }
コード例 #2
0
        private void AddBagLabel(double poundWeight, OmsScaleWeighStatus status, string formattedDisplay, int quantity)
        {
            if (status == OmsScaleWeighStatus.Success)
            {
                var selectedSide = _viewModel.SelectedSide;
                var selectedCut  = _viewModel.SelectedCutItem;
                if (selectedCut == null || selectedSide == null)
                {
                    return;
                }
                List <OrderDetail>       orderDetails       = new List <OrderDetail>();
                List <AnimalOrderDetail> animalOrderDetails = new List <AnimalOrderDetail>();
                for (int i = 0; i < quantity; i++)
                {
                    var od = new OrderDetail
                    {
                        CustomerLocationId = selectedSide.CustomerLocationId,
                        OrderId            = selectedSide.OrderId,
                        ProductId          = selectedCut.ProductId,
                        SideTypeId         = selectedSide.SideNumber,
                        Product            = _productRepository.Get(selectedCut.ProductId)
                    };
                    orderDetails.Add(od);
                }

                _orderDetailRepository.AddRange(orderDetails);
                _orderDetailRepository.Save();
                foreach (var od in orderDetails)
                {
                    _viewModel.SelectedSide.Products.Insert(0, (new CutItem
                    {
                        ProductId = selectedCut.ProductId,
                        ProductName = selectedCut.ProductName,
                        Weight = string.Format("{0} lbs", poundWeight),
                        Id = Guid.NewGuid().ToString("D"),
                        OrderDetailId = od.Id,
                        CustomerLocationId = od.CustomerLocationId
                    }));
                    var animalOrd = new AnimalOrderDetail
                    {
                        ColdWeightDetailId = selectedSide.ColdWeightDetailId,
                        OrderDetailId      = od.Id,
                    };

                    animalOrderDetails.Add(animalOrd);
                }
                _labelCreateService.ProduceCustomBagLabels(orderDetails, poundWeight, _activeLabelType, _viewModel.ProcessDate, _viewModel.SelectedSide.QualityGrade, new AnimalLabelsViewModel()
                {
                    Name      = _viewModel.SelectedSide.AnimalLabel.Name,
                    IsOrganic = _viewModel.SelectedSide.AnimalLabel.IsOrganic,
                    Species   = new SpeciesViewModel()
                    {
                        Name = _viewModel.SelectedSide.AnimalLabel.Species.Name
                    }
                }, _viewModel.CustomBagGridViewModel.SelectedTare);

                _animalOrderDetailRepository.AddRange(animalOrderDetails);
                _animalOrderDetailRepository.Save();

                DisplayScaleOutput(formattedDisplay ?? string.Empty);
            }
            else
            {
                DisplayScaleOutput(String.Format("error reading scale. Scale Status: [{0}]", status), true);
            }
        }