//get base coldweight entry public ColdWeightEntryDetailItem GetColdWeightEntryDetail(int orderId) { var customerId = _orderRepository.Get(orderId).CustomerId; var coldWeightEntry = _coldWeightEntryRepository.GetByOrderId(orderId); var qualitiesList = new SelectList(_qualityGradeRepository.GetAll().Select(x => new QualityGrade() { Id = x.Id, Name = x.Name }), "Id", "Name"); int speciesId = 0; if (coldWeightEntry != null && coldWeightEntry.ColdWeightEntryDetails != null) { var coldWeightEntryDetail = coldWeightEntry.ColdWeightEntryDetails.FirstOrDefault(); speciesId = coldWeightEntry != null && coldWeightEntry.ColdWeightEntryDetails.Any() ? coldWeightEntryDetail.AnimalLabel.SpeciesId: 0; } var species = new List <SpeciesViewModel>(_speciesRepository.GetAll().Select(x => new SpeciesViewModel() { Id = x.Id, Name = x.Name })); var speciesViewModel = species.FirstOrDefault(x => { return(speciesId != 0 && x.Id == speciesId); }); var coldweightDetailItem = new ColdWeightEntryDetailItem { AnimalLabelId = speciesViewModel != null ? speciesViewModel.Id: (int?)null, AnimalLabel = new AnimalLabelsViewModel() { Species = speciesViewModel }, TrackAnimalBy = coldWeightEntry != null ? coldWeightEntry.TrackAnimalId : TrackAnimal.Whole, OrderId = orderId, IsExist = coldWeightEntry != null && coldWeightEntry.ColdWeightEntryDetails.Any(), CustomerLocations = new SelectList(_orderDetailService.GetCustomerLocations(customerId), "CustomerLocationId", "CustomerLocationName"), SpeciesList = new SelectList(species, "Id", "Name"), QualityGradeList = qualitiesList }; return(coldweightDetailItem); }
public IEnumerable <QualityGrade> GetQualityGrades() { return(_qualityGradeRepository.GetAll()); }
private void InitializeViewModel(int selectedOrderId) { var order = _orderRepository.Get(selectedOrderId); CustomerType = order.Customer.CustomerType.Id; var coldWeightEntry = order.ColdWeightEntries.FirstOrDefault(); if (coldWeightEntry != null) { var boxes_ = new BindingList <CaseSize>(); var bags = new BindingList <CaseSize>(); foreach (var orderDetail in order.OrderDetail) { CaseSize bag = orderDetail.Product.BagSizeEntity; CaseSize box = orderDetail.Product.BoxSizeEntity; var customerProductData = orderDetail.Product.CustomerProductData.FirstOrDefault(x => x.CustomerId == order.CustomerId); if (customerProductData != null && orderDetail.Product != null && orderDetail.Product.CustomerProductData != null && orderDetail.Product.CustomerProductData.Any(x => x.CustomerId == order.CustomerId)) { if (customerProductData.BagSizeId.HasValue) { bag = customerProductData.BagSizeEntity; } if (customerProductData.BoxSizeId.HasValue) { box = customerProductData.BoxSizeEntity; } } bags.Add(bag); boxes_.Add(box); } var coldWeightId = coldWeightEntry.Id; BagsTab.Visibility = order.BagEnable ? Visibility.Visible : Visibility.Collapsed; _viewModel.IsCustomOwner = order.Customer.CustomerTypeId == OmsCustomerType.Custom; if (_viewModel.IsCustomOwner) { _viewModel.CustomBagGridViewModel = new CustomBagGridViewModel() { AnimalNumbers = _labelService.GetAnimalNumbers(selectedOrderId), BagsTareWeights = new BindingList <CaseSize>(bags.Distinct().ToList()) }; _viewModel.CustomBoxGridViewModel = new CustomBoxGridViewModel() { BoxesCustomList = _labelService.GetBoxesCustomList(selectedOrderId), BoxesTareWeights = new BindingList <CaseSize>(boxes_.Distinct().ToList()) }; _viewModel.CustomTrayGridViewModel = new CustomBoxGridViewModel() { BoxesCustomList = _labelService.GetTraysCustomList(selectedOrderId), BoxesTareWeights = new BindingList <CaseSize>(boxes_.Distinct().ToList()) }; } else { _viewModel.UnitListViewModel = new UnitListViewModel(); var qualities = _qualityGradeRepository.GetAll().ToList().Select(x => new QualityGrade() { Name = x.Name, Id = x.Id }).ToList(); var animalLabels = _animalLabelRepository.GetAll().ToList(); var animalNames = animalLabels.Where( x => x.ColdWeightEntryDetails.ToList().Select(v => v.ColdWeightEntry.Id).Contains(coldWeightId)) .ToList() .Select(x => new AnimalLabelsViewModel() { Name = x.Name, IsOrganic = x.IsOrganic, Id = x.Id, Species = new SpeciesViewModel() { Name = x.Species.Name } }); _viewModel.UnitListViewModel.QualityGrades = new BindingList <QualityGrade>(qualities); _viewModel.UnitListViewModel.AnimalLabels = new BindingList <AnimalLabelsViewModel>(animalNames.ToList()); var labelGridItems = _labelService.GetLabelGridItems(selectedOrderId, !order.BagEnable); _viewModel.UnitListViewModel.BoxesList = new BindingList <LabelGridItem>(labelGridItems.Item1.OrderBy(x => x.ProductId).ToList()); foreach (var item in _viewModel.UnitListViewModel.BoxesList) { item.ItemColumn = _viewModel.UnitListViewModel.BoxesList.IndexOf(item); } //_viewModel.UnitListViewModel.TraysList = // new BindingList<LabelGridItem>(labelGridItems.Item3.OrderBy(x => x.ProductId).ToList()); //foreach (var item in _viewModel.UnitListViewModel.TraysList) //{ // item.ItemColumn = _viewModel.UnitListViewModel.TraysList.IndexOf(item); //} if (order.BagEnable) { _viewModel.UnitListViewModel.BagsList = new BindingList <LabelGridItem>(labelGridItems.Item2.OrderBy(x => x.ProductId).ToList()); } _viewModel.UnitListViewModel.BoxesTareWeights = new BindingList <CaseSize>(boxes_.Distinct().ToList()); _viewModel.UnitListViewModel.BagsTareWeights = new BindingList <CaseSize>(bags.Distinct().ToList()); } } if (!order.BagEnable) { BoxTab.IsSelected = true; } BtnEditLabels.IsEnabled = !_viewModel.IsCustomOwner; GridBags.Visibility = GetVisibility(!_viewModel.IsCustomOwner); GridBoxes.Visibility = GetVisibility(!_viewModel.IsCustomOwner); GridTray.Visibility = GetVisibility(!_viewModel.IsCustomOwner); GridCustomBags.Visibility = GetVisibility(_viewModel.IsCustomOwner); GridCustomBoxes.Visibility = GetVisibility(_viewModel.IsCustomOwner); GridCustomTray.Visibility = GetVisibility(_viewModel.IsCustomOwner); _viewModel.SpecialInstructions = order.SpecialInstructions; _viewModel.CustomerComments = order.CustomerComments; _viewModel.CombosSource = GetCombosSource(order); _viewModel.OffalsSource = GetOffalsSource(order); _viewModel.OrderSummary = GetOrderSummary(selectedOrderId); _viewModel.ProcessDate = order.ProcessDate; DisplayScaleOutput(string.Empty); }