private void Window_Loaded(object sender, RoutedEventArgs e) { ChoixAffichage();//Affiche ou masque certains champs/colonnes... suivant l'utilisateur PlaceUtilisateur();//trouve la place de l'utilisateur dans la listSalarie et place la comboBoxNomSalarie sur le salarié if (this.DataContext == null) { NouveauFrais();//Créé un nouveau frais rattaché au salarié connecté et le met dans le DataContext } RechargeAvances();//met les avances double totalTTC = 0; double totalHT = 0; double totalTVA = 0; double totalARembourser = 0; this.listARecupererFicheFrais.Clear(); foreach (Fiche_Frais item in ((Frais)this.DataContext).Fiche_Frais.OfType<Fiche_Frais>()) { Fiche_Frais tempff = new Fiche_Frais(); tempff.Total_TVA = 0; tempff.Numero = item.Numero; tempff.Date_Fiche = item.Date_Fiche; if (item.Total_HT != null) { totalHT += item.Total_HT.Value; } if (item.Total_TTC != null) { totalTTC += item.Total_TTC.Value; } if (item.Total_TVA != null) { totalTVA += item.Total_TVA.Value; } foreach (Ligne_Fiche_Frais lff in item.Ligne_Fiche_Frais.OfType<Ligne_Fiche_Frais>()) { totalARembourser += lff.TVA_Recuperable; tempff.Total_TVA += lff.TVA_Recuperable; } this.listARecupererFicheFrais.Add(tempff); } ((Frais)this.DataContext).Total_HT = totalHT; ((Frais)this.DataContext).Total_TTC = totalTTC; ((Frais)this.DataContext).Total_TVA = totalTVA; ((Frais)this.DataContext).Total_A_Rembourser = totalARembourser; double Arembourser = 0; try { listFraisKmARembourse.Clear(); foreach (Frais_Km item in ((Frais)this.DataContext).Frais_Km.OfType<Frais_Km>()) { //calcul if (item.Km != null && item.Base != null) { int cv = 0; int.TryParse(item.Base.ToString(), out cv); //Arembourser += baremeKM(item.Km, cv); Arembourser += item.Km * item.Base; Frais_Km fk = new Frais_Km(); //fk.Km = baremeKM(item.Km, cv); fk.Km = item.Km * item.Base; fk.Libelle = item.Libelle; listFraisKmARembourse.Add(fk);//ajoute le frais Km a la liste des détails des frais Km } } } catch (Exception) { } ((Frais)this.DataContext).Total_A_Rembourser += Arembourser; double totalAvanceVerser = 0; foreach (Avance item in ((Frais)this.DataContext).Avance.OfType<Avance>()) { totalAvanceVerser += item.Somme.Value; } ((Frais)this.DataContext).Total_Avance = totalAvanceVerser; //met la personnalisation des lignes alterné sur le datagrid des Frais Généraux ( pas sur le RowDetails) this._dataGridFraisGeneraux.AlternatingRowBackground = ((App)App.Current).personnalisation.BackGroundUserControlDataGridAlternateColor; }
public ObservableCollection<Frais_Km> PasteDataFraisWindow() { if (Clipboard.ContainsText(TextDataFormat.Text)) { ObservableCollection<Frais_Km> toReturn = new ObservableCollection<Frais_Km>(); String data = Clipboard.GetText(); ObservableCollection<String> listLignes = new ObservableCollection<string>(data.Split('\n')); int nbLignes = 1; int ligneToIgnore = listLignes.Count(); foreach (String ligne in listLignes) { if (nbLignes != ligneToIgnore) { if (this.verifNombreColonnes(ligne, 6)) { ObservableCollection<String> listColonnes = new ObservableCollection<string>(ligne.Split('\t')); int i = 1; Frais_Km toAdd = new Frais_Km(); foreach (String colonne in listColonnes) { if (i == 1) { //on ne colle pas l'affaire } if (i == 2) { bool val; bool.TryParse(colonne, out val); toAdd.ImputerAffaire = val; } if (i == 3) { toAdd.Libelle = colonne; } if (i == 4) { //one ne colle pas la puissance fiscale } if (i == 5) { double val; if (double.TryParse(colonne, out val)) { toAdd.Km = double.Parse(colonne.Replace(".", ",")); } else { MessageBox.Show("Le collage s'arrete car à la ligne n°" + nbLignes + ", vous essayez de rentrer un Kilomètre erroner", "Coller : erreur !", MessageBoxButton.OK, MessageBoxImage.Error); return null; } } if (i == 6) { double val; if (double.TryParse(colonne, out val)) { toAdd.Base = double.Parse(colonne.Replace(".", ",")); } else { MessageBox.Show("Le collage s'arrete car à la ligne n°" + nbLignes + ", vous essayez de rentrer une Base de chevaux fiscaux erroner", "Coller : erreur !", MessageBoxButton.OK, MessageBoxImage.Error); return null; } } toReturn.Add(toAdd); i = i + 1; } nbLignes = nbLignes + 1; } else { MessageBox.Show("Le collage s'arrete car à la ligne n°" + nbLignes + ", le nombre de colonne n'est pas bon, il doit y en avoir 5 (Affaire,Imputer sur affaire,Libellé,Km,Base).", "Coller : erreur !", MessageBoxButton.OK, MessageBoxImage.Error); return null; } } } return toReturn; } else { return null; } }
//calcul totaux Frais_Km private void CalculFraisKm() { if (this._dataGridFraisKm.HasItems) { double Arembourser = 0; try { listFraisKmARembourse.Clear(); foreach (Frais_Km item in this._dataGridFraisKm.Items.OfType<Frais_Km>()) { //calcul if (item.Km != null && item.Base != null) { int cv = 0; int.TryParse(item.Base.ToString(), out cv); //Arembourser += baremeKM(item.Km, cv); Arembourser += item.Km * item.Base; Frais_Km fk = new Frais_Km(); //fk.Km = baremeKM(item.Km, cv); fk.Km = item.Km * item.Base; fk.Libelle = item.Libelle; listFraisKmARembourse.Add(fk);//ajoute le frais Km a la liste des détails des frais Km } } } catch (Exception) { } ((Frais)this.DataContext).Total_A_Rembourser += Arembourser; } }