/// <summary>
        /// edit package to exists line
        /// </summary>
        private void EditPackageToExistingLine()
        {
            if (SelectedPackage != 0) // template package
            {
                _lineManager.EditPackage(Number, PackageTemplates.SingleOrDefault(p => p.PackageId == SelectedPackage));
            }
            else // custom package
            {
                string error = ValidateFields();
                if (error != null)
                {
                    MessageBox.Show(error);
                    return;
                }
                Package package = CreateCustomPackage();

                Package newPackage = _lineManager.EditPackage(Number, package);
                if (newPackage != null)
                {
                    Friends friends = CreatePackageFriends();

                    if (newPackage.Friends != null)
                    {
                        _lineManager.EditFriends(newPackage.PackageId, Friends ? friends : null);
                    }
                    else if (Friends) // if the friends check box is true
                    {
                        _lineManager.AddFriends(newPackage.PackageId, friends);
                    }
                }
            }
        }
 /// <summary>
 /// Update the view with selected package details
 /// </summary>
 private void HandlePackageSelect()
 {
     if (SelectedPackage != null)
     {
         string number = Number;
         Clear();
         Number = number;
         if (SelectedPackage != 0) // template package
         {
             Package package = PackageTemplates.FirstOrDefault(p => p.PackageId == SelectedPackage);
             DisplayPackage(package);
         }
     }
 }
        // ctor
        public LineViewModel(IFrameNavigationService navigationService)
        {
            _navigationService = navigationService;
            _currentCustomer   = (Customer)_navigationService.Parameter;//?
            _lineManager       = new LineManager((Customer)_navigationService.Parameter);

            InitCommands();

            CustomerLines    = new ObservableCollection <Line>(_lineManager.GetCustomerLines());
            PackageTemplates = _lineManager.GetPackageTemplates();
            PackageTemplates.Add(new Package()
            {
                PackageName = "Custom package", PackageId = 0
            });
            LineWithoutPackage = true;
        }