Beispiel #1
0
        private ObservableCollection <CutItem> GetProductsList(int?customerLocationId, int coldWeightDetailId, OmsSideType sideNumber)
        {
            if (!customerLocationId.HasValue)
            {
                return(null);
            }

            var animalNumbersWithOrderDetail = _animalOrderDetailRepository.GetByColdWeghtDetailId(coldWeightDetailId);
            var productslabels = new List <CutItem>();

            foreach (var item in animalNumbersWithOrderDetail.Where(x => x.OrderDetail.SideTypeId == sideNumber))
            {
                if (item.OrderDetail.CustomerLocationId != customerLocationId.Value)
                {
                    continue;
                }
                var label = GetLabels(item.OrderDetail.Id).LastOrDefault();
                if (label != null)
                {
                    productslabels.Add(new CutItem
                    {
                        ProductId     = item.OrderDetail.ProductId,
                        ProductName   = ProductService.GetFormattedProductName(item.OrderDetail.Product),
                        Id            = Guid.NewGuid().ToString("D"),
                        OrderDetailId = item.OrderDetail.Id,
                        Weight        = string.Format("{0} lbs", LabelCreateService.GetGrossPoundWeight(label.PoundWeight, label.TypeId, item.OrderDetail))
                    });
                }
            }
            var products = new ObservableCollection <CutItem>(productslabels.OrderByDescending(x => x.OrderDetailId));

            return(products);
        }
Beispiel #2
0
        private OrdersConstructorViewModel GetOffalsSource(Order order)
        {
            var offalLabels = new BindingList <OrderConstructorViewModel>();
            var countId     = 0;

            foreach (var x in order.OrderDetail.Where(x => x.Product.IsOffal))
            {
                var label = _labelService.GetLabels(x.Id).LastOrDefault();
                if (label != null)
                {
                    offalLabels.Add(new OrderConstructorViewModel
                    {
                        OrderDetailId = x.Id,
                        ProductId     = x.ProductId,
                        ProductName   = x.Product.EnglishDescription,
                        LocationId    = x.CustomerLocationId,
                        ShipTo        = x.CustomerLocation.Name,
                        Weight        = (decimal)LabelCreateService.GetGrossPoundWeight(label.PoundWeight, _activeLabelType, _orderDetailRepository.Get(x.Id)),
                        Id            = countId++
                    });
                }
            }

            var offals = _productRepository.GetOffalProducts()
                         .Select(x => new OrderConstructorViewModel
            {
                ProductId   = x.Id,
                ProductName = x.Upc
            })
                         .ToList();

            var locations = order.Customer
                            .CustomerLocation
                            .Select(x => new SelectListItemModel
            {
                Id   = x.Id,
                Name = x.Name
            })
                            .ToList();

            var model = new OrdersConstructorViewModel
            {
                ProductNameHeader = "Product Name",
                WeightHeader      = "Box Weight",
                ShipToHeader      = "Ship To",
                QtyHeader         = "Qty",
                Orders            = new BindingList <OrderConstructorViewModel>(offalLabels),
                Constructor       = new BindingList <OrderConstructorViewModel>(offals),
                Locations         = new BindingList <SelectListItemModel>(locations)
            };

            return(model);
        }
Beispiel #3
0
        private void CustomCustomerEditBox(object sender, EventArgs e)
        {
            var coldWeightDetail = _coldWeightEntryRepository.GetByOrderId(_viewModel.SelectedCustomerLocation.OrderId)
                                   .ColdWeightEntryDetails.Single(c => c.Id == _viewModel.SelectedCustomerLocation.ColdWeightDetailId);
            IList <LabelEditItem> labelsToEdit = new List <LabelEditItem>();
            var sides = _coldWeightEntryDetailRepository.GetSideWeigths(coldWeightDetail.Id);

            foreach (var side in sides)
            {
                if (!side.Value.HasValue)
                {
                    continue;
                }

                var orderDetailsForSide =
                    coldWeightDetail.AnimalOrderDetails.Where(a => a.ColdWeightDetailId == coldWeightDetail.Id)
                    .Select(a => a.OrderDetail)
                    .ToList().FindAll(x => x.SideTypeId == side.Key).ToList();

                if (!orderDetailsForSide.Any())
                {
                    continue;
                }

                var items = orderDetailsForSide.SelectMany(s => s.Label)
                            .Where(s => s.TypeId == OmsLabelType.Box);
                foreach (var label in items)
                {
                    labelsToEdit.Add(new LabelEditItem()
                    {
                        LabelId      = label.Id,
                        LabelType    = label.TypeId,
                        LocationName = label.OrderDetail.CustomerLocation.Name,
                        PoundWeight  = LabelCreateService.GetGrossPoundWeight(label.PoundWeight, label.TypeId, label.OrderDetail),
                        PrintedDate  = label.CreatedDate,
                        ProductName  = ProductService.GetFormattedProductName(label.OrderDetail.Product)
                    });
                }
            }
            var selectedOrderId = (int)ComboOrder.SelectedValue;
            var form            = DIService.Resolve <EditLabelsWindow>(new ConstructorArgument("orderId", selectedOrderId, false), new ConstructorArgument("labels", labelsToEdit, false));

            form.Owner = this;
            form.ShowDialog();
            Refresh();
        }
Beispiel #4
0
        private void Offals_Add(object sender, OrderEventArgs e)
        {
            var newOrderDetails = AddOffallabel((double)e.Weight, OmsScaleWeighStatus.Success, e, quantity: e.Quantity);

            foreach (var ordDet in newOrderDetails)
            {
                int count = _viewModel.OffalsSource.Orders.Count();
                var label = _labelService.GetLabels(ordDet.Id).LastOrDefault();
                _viewModel.OffalsSource.Orders.Add(new OrderConstructorViewModel
                {
                    OrderDetailId = ordDet.Id,
                    LocationId    = ordDet.CustomerLocationId,
                    ProductId     = ordDet.ProductId,
                    ProductName   = ordDet.Product.Upc,
                    ShipTo        = _customerLocationRepository.Get(e.LocationId).Name,
                    Weight        = (decimal)LabelCreateService.GetGrossPoundWeight(label.PoundWeight, label.TypeId, ordDet),
                    Id            = ++count
                });
            }
        }