//Ouvre la fenêtre 'FicheFraisWindow' pour modifier une fiche de frais private void _buttonModifierFraisGeneraux_Click(object sender, RoutedEventArgs e) { if (this._dataGridFraisGeneraux.SelectedItems.Count <= 0) { MessageBox.Show("Vous devez sélectionner une note de frais à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridFraisGeneraux.SelectedItems.Count > 1) { MessageBox.Show("Vous ne devez sélectionner qu'une note de frais à modifier.", "Erreur", MessageBoxButton.OK, MessageBoxImage.Stop); } else if (this._dataGridFraisGeneraux.SelectedItem != null) { try { //lance une FicheFraisWindow avec les données du FraisWindow FicheFraisWindow fraisModifierWindow = new FicheFraisWindow(); if (((Fiche_Frais)this._dataGridFraisGeneraux.SelectedItem) != null) { int index = (this._dataGridFraisGeneraux).SelectedIndex; Fiche_Frais ff = new Fiche_Frais(); ff.Date_Fiche = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Date_Fiche; ff.Numero = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Numero; ff.Total_HT = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_HT; ff.Total_TTC = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_TTC; ff.Total_TVA = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_TVA; foreach (Ligne_Fiche_Frais lff in ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Ligne_Fiche_Frais.OfType<Ligne_Fiche_Frais>()) { Ligne_Fiche_Frais templff = new Ligne_Fiche_Frais(); templff.Affaire1 = lff.Affaire1; templff.Commentaire = lff.Commentaire; templff.Entreprise1 = lff.Entreprise1; templff.Etranger = lff.Etranger; templff.Imputer_Affaire = lff.Imputer_Affaire; templff.Libelle = lff.Libelle; templff.Plan_Comptable_Imputation1 = lff.Plan_Comptable_Imputation1; templff.Plan_Comptable_Tva1 = lff.Plan_Comptable_Tva1; templff.Taux_Change = lff.Taux_Change; templff.Taux_Change_Reel = lff.Taux_Change_Reel; templff.TTC_En_Euro = lff.TTC_En_Euro; templff.TTC_Sur_Ticket = lff.TTC_Sur_Ticket; templff.TVA_Recuperable = lff.TVA_Recuperable; templff.Type_Frais1 = lff.Type_Frais1; ff.Ligne_Fiche_Frais.Add(templff); } ff.Frais1 = ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Frais1; fraisModifierWindow.DataContext = ff; bool? dialogResult = fraisModifierWindow.ShowDialog(); if (dialogResult.Value) { ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Date_Fiche = ff.Date_Fiche; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Numero = ff.Numero; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_HT = ff.Total_HT; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_TTC = ff.Total_TTC; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Total_TVA = ff.Total_TVA; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Frais1 = ff.Frais1; ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Ligne_Fiche_Frais.Clear(); while (ff.Ligne_Fiche_Frais.OfType<Ligne_Fiche_Frais>().Count() != 0) { ((Fiche_Frais)this._dataGridFraisGeneraux.Items[index]).Ligne_Fiche_Frais.Add(ff.Ligne_Fiche_Frais.ElementAt(0)); } } try { int compt = 0; while (compt < ff.Ligne_Fiche_Frais.OfType<Ligne_Fiche_Frais>().Count()) { try { ((App)App.Current).mySitaffEntities.Detach(ff.Ligne_Fiche_Frais.ElementAt(compt)); } catch (Exception) { try { ((App)App.Current).mySitaffEntities.Ligne_Fiche_Frais.DeleteObject(ff.Ligne_Fiche_Frais.ElementAt(compt)); } catch (Exception) { } } compt++; } ((App)App.Current).mySitaffEntities.Detach(ff); } catch (Exception) { try { ((App)App.Current).mySitaffEntities.Fiche_Frais.DeleteObject(ff); } catch (Exception) { } } this._dataGridFraisGeneraux.Items.Refresh(); } } catch (Exception) { } } RefreshAllTotaux(); }
//Ouvre la fenêtre 'FicheFraisWindow' pour ajouter une fiche de frais private void _buttonAjouterFraisGeneraux_Click(object sender, RoutedEventArgs e) { FicheFraisWindow fraisAjoutWindow = new FicheFraisWindow(); Fiche_Frais tempff = new Fiche_Frais(); tempff.Date_Fiche = DateTime.Now.Date; if (this._dataGridFraisGeneraux.Items.Count >= 1 && this._dataGridFraisGeneraux.DataContext != null) { if (this._dataGridFraisGeneraux.Items.GetItemAt(0) != null && ((Fiche_Frais)this._dataGridFraisGeneraux.Items.GetItemAt(this._dataGridFraisGeneraux.Items.Count - 1)).Numero != null) { tempff.Numero = ((Fiche_Frais)this._dataGridFraisGeneraux.Items.GetItemAt(this._dataGridFraisGeneraux.Items.Count - 1)).Numero + 1; } else { tempff.Numero = 1; } } else { tempff.Numero = 1; } tempff.Ligne_Fiche_Frais.Add(new Ligne_Fiche_Frais()); tempff.Total_HT = 0; tempff.Total_TTC = 0; tempff.Total_TVA = 0; if (datemoiscourant > ((Frais)this.DataContext).Date_Fin) { tempff.Date_Fiche = ((Frais)this.DataContext).Date_Debut; } else { tempff.Date_Fiche = DateTime.Today.Date; } tempff.Frais1 = ((Frais)this.DataContext); fraisAjoutWindow.DataContext = tempff; bool? dialogResult = fraisAjoutWindow.ShowDialog(); Fiche_Frais ff = (Fiche_Frais)fraisAjoutWindow.DataContext; if (dialogResult.HasValue == true && dialogResult.Value == false) { try { ((App)App.Current).mySitaffEntities.Detach(ff); } catch (Exception) { try { ((App)App.Current).mySitaffEntities.Fiche_Frais.DeleteObject(ff); } catch (Exception) { } } } RefreshAllTotaux(); }