Exemple #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);
        }
Exemple #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);
        }
Exemple #3
0
        public void UpdateLabel(int labelId, double poundWeight, OmsLabelType labelType)
        {
            Label label = _labelRepository.Get(labelId);
            var   od    = _orderDetailRepository.Get(label.OrderDetailId);

            label.IsPrinted      = false;
            label.PoundWeight    = LabelCreateService.GetNetPoundWeight(poundWeight, labelType, od);
            label.KilogramWeight = LabelCreateService.GetCorrectKilogramWeight(label.PoundWeight);
            label.CreatedDate    = DateTime.Now;
            label.ProcessDate    = od.Order.ProcessDate.GetValueOrDefault().ToString("d");
            _labelRepository.Update(label);
            _labelRepository.Save();
        }
Exemple #4
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();
        }
Exemple #5
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
                });
            }
        }
Exemple #6
0
        public IEnumerable <LabelEditItem> GetPrintedLabels(int orderId)
        {
            var orderDetails = _orderDetailRepository
                               .GetAllByOrder(orderId)
                               .ToArray();

            var result = orderDetails
                         .SelectMany(x => x.Label)
                         .Select(x => new LabelEditItem
            {
                LabelId      = x.Id,
                LabelType    = x.TypeId,
                LocationName = x.OrderDetail.CustomerLocation.Name,
                PoundWeight  = LabelCreateService.GetNetPoundWeight(x.PoundWeight, x.TypeId, x.OrderDetail),
                PrintedDate  = x.CreatedDate,
                ProductName  = ProductService.GetFormattedProductName(x.OrderDetail.Product)
            })
                         .ToArray();

            return(result);
        }
Exemple #7
0
 private static double LbsToKg(double weight)
 {
     return(LabelCreateService.GetCorrectKilogramWeight(weight));
 }
Exemple #8
0
 private static double GetNetWeight(Label label)
 {
     return(LabelCreateService.GetNetPoundWeight(label.PoundWeight, OmsLabelType.Box, label.OrderDetail));
 }