Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
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);
            }
        }
Ejemplo n.º 5
0
        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");
            }
        }
Ejemplo n.º 6
0
 public ScaleWeight(OmsScaleWeighStatus status)
 {
     Status = status;
 }
Ejemplo n.º 7
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);
            }
        }