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