/// <summary> /// Metodo per salvare la descrizione. /// </summary> /// <param name="obj"></param> private void OnSaveDescrizione(object obj) { AppDbContext ctx = new AppDbContext(); QdcDbDataRepository repoQdc = new QdcDbDataRepository(ctx); // ricavo l'ultimo Qdc inserito. int i = repoQdc.Get().Where(q1 => q1.Id == q1.Id).Max(q1 => q1.Id); Qdcs = new ObservableCollection <Qdc>(repoQdc.Get().Where(q1 => q1.Id == i)); Qdc q = Qdcs[0]; if (!string.IsNullOrEmpty(Descrizione)) { // eseguo l'update della descrizione. q.Descrizione = Descrizione; repoQdc.Update(q); SaveInFile(q); OnRequisitoList(obj); } else { MessageBox.Show("Inserisci una descrizione"); } }
public VisualizzaViewModel() { AppDbContext ctx = new AppDbContext(); repoQdc = new QdcDbDataRepository(ctx); MenuCommand = new DelegateCommand(OnMenuClick, CanMenuClick); VisualizzaQdc = new DelegateCommand(OnVisualizzaClick, CanVisualizzaClick); }
/// <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"); } } }
public SelezionaViewModel() { SelezionaCommand = new DelegateCommand(OnSeleziona, CanSeleziona); repoQdc = new QdcDbDataRepository(new AppDbContext()); Qdcs = new ObservableCollection <Qdc>(repoQdc.Get()); }
/// <summary> /// Metodo per salvare i dati sul database e sul file Word. /// </summary> /// <param name="obj"></param> private void OnSaveInfo(object obj) { AppDbContext ctx = new AppDbContext(); QdcDbDataRepository repoQdc = new QdcDbDataRepository(ctx); // controllo che il percorso dei due file sia differente. if (PathTemplate == PathSave) { MessageBox.Show("Inserisci un percorso differente per il salvataggio", "Internal Error", MessageBoxButton.OK); } else { // controllo che il percorso di salvataggio non esista già. if (File.Exists((string)PathSave)) { MessageBox.Show("Il percorso del file di salvataggio esiste già", "Internal Error", MessageBoxButton.OK); } else { try { // copia del file File.Copy(PathTemplate, PathSave, true); // valori predefiniti per l'apertura del file object missing = Missing.Value; // crea l'oggetto che contiene l'istanza di Word Word.Application wordApp = new Word.Application(); // crea l'oggetto che contiene il documento Word.Document aDoc = null; // oggetto che definisce il file copiato (e da modificare) object filename = PathSave; // Se il file esiste if (!File.Exists((string)filename)) { MessageBox.Show("File does not exist.", "No File", MessageBoxButton.OK); } else { // controllo che l'utente abbia inserito tutti i dati. if (!string.IsNullOrEmpty(Titolo) && !string.IsNullOrEmpty(NomeFormatore) && !string.IsNullOrEmpty(CognomeFormatore) && !string.IsNullOrEmpty(MailFormatore) && !string.IsNullOrEmpty(NomePerito) && !string.IsNullOrEmpty(CognomePerito) && !string.IsNullOrEmpty(MailPerito) && !string.IsNullOrEmpty(DataInizio.ToString()) && !string.IsNullOrEmpty(DataConsegna.ToString()) && !string.IsNullOrEmpty(OraInizio.ToString()) && !string.IsNullOrEmpty(OraFine.ToString()) && !string.IsNullOrEmpty(NumeroOre.ToString()) && !string.IsNullOrEmpty(PathTemplate) && !string.IsNullOrEmpty(PathSave)) { if (DataConsegna == DateTime.MinValue) { DataConsegna = DateTime.Today; } if (DataInizio == DateTime.MinValue) { DataInizio = DateTime.Today; } if (OraInizio == DateTime.MinValue) { OraInizio = DateTime.Today; } if (OraFine == DateTime.MinValue) { OraFine = DateTime.Today; } // inserimento dei dati sul database. repoQdc.Insert(new Qdc(Titolo, NomeFormatore, CognomeFormatore, MailFormatore, NomePerito, CognomePerito, MailPerito, DataInizio, DataConsegna, OraInizio, OraFine, NumeroOre, Descrizione, NomePerito2, CognomePerito2, MailPerito2, PathTemplate, PathSave)); //repoQdc.Insert(new Qdc(Descrizione)); // mi sposto in DescrizioneView. OnDescrizioneList(obj); } else { MessageBox.Show("Inserisci tutte le informazioni"); } } } catch (Exception) { MessageBox.Show("Errore, il percorso inserito non è valido", "Internal Error", MessageBoxButton.OK); } } } }