예제 #1
0
        private void OnRemoveDestinatarioExecute()
        {
            var destinatarioToRemove = SelectedDestinatarioAdded;

            Servizio.Model.Anagrafiche.Remove(destinatarioToRemove);
            DestinatariAdded.Remove(destinatarioToRemove);
            DestinatariAvailable.Add(destinatarioToRemove);
            HasChanges = _servizioRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
예제 #2
0
        private void SetupControls()
        {
            var serviceDestinatariIds = Servizio.Model.Anagrafiche.Where(a => a.IsMittente == false).Select(a => a.Id).ToList();
            var addedDestinatari      = _allAnagrafiche.Where(a => serviceDestinatariIds.Contains(a.Id)).ToList();
            var availableDestinatari  = _allAnagrafiche.Except(addedDestinatari).ToList();

            var serviceDestinatariArIds = Servizio.Model.Anagrafiche.Where(a => a.IsMittente == false && a.IsDestinatarioAR == true).Select(a => a.Id).ToList();
            var addedDestinatariAr      = _allAnagrafiche.Where(a => serviceDestinatariArIds.Contains(a.Id)).ToList();
            var availableDestinatariAr  = _allAnagrafiche.Except(addedDestinatariAr).ToList();

            var serviceDocumentiIds = Servizio.Model.Documenti.Select(a => a.Id).ToList();
            var addedDocumenti      = _allDocumenti.Where(a => serviceDocumentiIds.Contains(a.Id)).ToList();
            var availableDocumenti  = _allDocumenti.Except(addedDocumenti).ToList();

            Mittenti.Clear();
            foreach (var mittente in _allAnagrafiche)
            {
                Mittenti.Add(mittente);
            }

            DestinatariAdded.Clear();

            DestinatariAvailable.Clear();

            foreach (var addedDest in addedDestinatari)
            {
                DestinatariAdded.Add(addedDest);
            }

            foreach (var destAvailable in availableDestinatari)
            {
                DestinatariAvailable.Add(destAvailable);
            }

            DestinatariArAdded.Clear();

            DestinatariArAvailable.Clear();

            foreach (var addedDest in addedDestinatariAr)
            {
                DestinatariArAdded.Add(addedDest);
            }

            foreach (var destAvailable in availableDestinatariAr)
            {
                DestinatariArAvailable.Add(destAvailable);
            }



            // Documenti
            DocumentiAvailable.Clear();
            foreach (var doc in availableDocumenti)
            {
                DocumentiAvailable.Add(doc);
            }

            DocumentiAdded.Clear();
            foreach (var doc in addedDocumenti)
            {
                DocumentiAdded.Add(doc);
            }
        }