private void AddLabel(double poundWeight, OmsScaleWeighStatus status, string formattedDisplay, int quantity) { if (status == OmsScaleWeighStatus.Success) { var item = _viewModel.SelectedProduct; if (item != null && item.SelectedLocation != null) { var product = item.Locations.First(x => x.LocationTemplateId == item.SelectedLocation); if (product.OrderDetailId.HasValue) { _labelCreateService.ProduceLabel((int)product.OrderDetailId, poundWeight, _activeLabelType, quantity, _viewModel.ProcessDate, _viewModel.UnitListViewModel.SelectedGrade, _viewModel.UnitListViewModel.SelectedAnimalLabel, _viewModel.UnitListViewModel.SelectedTare); _viewModel.SelectedProduct.Locations.First( x => x.LocationTemplateId == _viewModel.SelectedProduct.SelectedLocation).CompletedCount += quantity; DisplayScaleOutput(formattedDisplay ?? string.Empty); } } else { DisplayScaleOutput(String.Format("a valid {0} Product must be selected.\r\n\r\nWeight measurement discarded.", _activeLabelType), true); } } else { DisplayScaleOutput(String.Format("error reading scale. Scale Status: [{0}]", status), true); } }
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); }
private void CreateLabel(double weight, OmsScaleWeighStatus status = OmsScaleWeighStatus.Success, string formattedDisplay = null, int quantity = 1) { switch (_labelTypeMode.Value) { case LabelTypeMode.FabLabel: AddLabel(weight, status, formattedDisplay, quantity); break; case LabelTypeMode.CustomBagLabel: AddBagLabel(weight, status, formattedDisplay, quantity); break; case LabelTypeMode.CustomBoxLabel: AddBoxLabel(weight, status, formattedDisplay, quantity); break; case LabelTypeMode.CustomTrayLabel: AddBoxLabel(weight, status, formattedDisplay, quantity); break; case LabelTypeMode.OffalLabel: AddOffallabel(weight, status, formattedDisplay: formattedDisplay, quantity: quantity); break; } }
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); } }
public string GetScaleStatusMessage(OmsScaleWeighStatus status) { switch (status) { case OmsScaleWeighStatus.UnknownApplicationError: return("An unknown error has occured during the weight reading."); case OmsScaleWeighStatus.Success: return("Success weight reading."); case OmsScaleWeighStatus.CancelledAtScale: return("Weight reading was cancelled at scale."); case OmsScaleWeighStatus.InvalidScaleReading: return("Invalid weight reading."); case OmsScaleWeighStatus.ScaleWaitTimeOut: return("The scale timeout was exceeded."); default: throw new ArgumentOutOfRangeException("status"); } }
public ScaleWeight(OmsScaleWeighStatus status) { Status = status; }
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); } }