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); } }
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); } }