//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);
        }
Exemple #2
0
 public IEnumerable <QualityGrade> GetQualityGrades()
 {
     return(_qualityGradeRepository.GetAll());
 }
Exemple #3
0
        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);
        }