/// <summary> /// Metodo per salvare i dati sul database e sul file Word. /// </summary> /// <param name="obj"></param> private void OnVisualizzaClick(object obj) { // controllo che siano stati scelti tutti i requisiti. if (controllo[0] == 1 && controllo[1] == 1 && controllo[2] == 1 && controllo[3] == 1 && controllo[4] == 1 && controllo[5] == 1 && controllo[6] == 1) { AppDbContext ctx = new AppDbContext(); AssegnazioneDbDataRepository repoAss = new AssegnazioneDbDataRepository(ctx); // ricavo l'ultimo Qdc creato (quello al quale assegnare i Qdc). QdcDbDataRepository repoQdc = new QdcDbDataRepository(ctx); int ind = repoQdc.Get().Where(q1 => q1.Id == q1.Id).Max(q1 => q1.Id); Qdcs = new ObservableCollection <Qdc>(repoQdc.Get().Where(q1 => q1.Id == ind)); Qdc q = Qdcs[0]; // inserisco tutti i requisiti standard. for (int i = 0; i < codici.Length; i++) { repoAss.Insert(new Assegnazione(codici[i], q, i + 1)); } // inserisco i requisiti scelti dall'utente. repoAss.Insert(new Assegnazione(Cod14, q, Id14)); repoAss.Insert(new Assegnazione(Cod15, q, Id15)); repoAss.Insert(new Assegnazione(Cod16, q, Id16)); repoAss.Insert(new Assegnazione(Cod17, q, Id17)); repoAss.Insert(new Assegnazione(Cod18, q, Id18)); repoAss.Insert(new Assegnazione(Cod19, q, Id19)); repoAss.Insert(new Assegnazione(Cod20, q, Id20)); // metodo per il salvataggio su Word. SaveInFile(q); // mi sposto in VisualizzaView. Messenger.Default.Send <BindableBase>(new VisualizzaViewModel()); } else { MessageBox.Show("Inserisci tutti i requisiti"); } }
/// <summary> /// Metodo costruttore del ViewModel del requisito. /// </summary> public MotivazioneViewModel() { SaveVoto = new DelegateCommand(OnSaveClick, CanSaveClick); AppDbContext ctx = new AppDbContext(); repoQdc = new QdcDbDataRepository(ctx); repoAss = new AssegnazioneDbDataRepository(ctx); try { int ind = repoQdc.Get().Where(q1 => q1.Id == q1.Id).Max(q1 => q1.Id); Motivazioni = new ObservableCollection <Assegnazione>(repoAss.Get().Where(a1 => a1.QdcId == ind)); Ass = Motivazioni[0]; } catch (Exception e) { if (e is ArgumentOutOfRangeException || e is InvalidOperationException) { MessageBox.Show("Non esistono requisiti assegnati a questo Qdc"); } } }