예제 #1
0
 public ObservableCollection<Contenu_Commande_Fournisseur> PasteDataCommandeWindow()
 {
     if (Clipboard.ContainsText(TextDataFormat.Text))
     {
         ObservableCollection<Contenu_Commande_Fournisseur> toReturn = new ObservableCollection<Contenu_Commande_Fournisseur>();
         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, 4))
                 {
                     ObservableCollection<String> listColonnes = new ObservableCollection<string>(ligne.Split('\t'));
                     int i = 1;
                     Contenu_Commande_Fournisseur toAdd = new Contenu_Commande_Fournisseur();
                     toAdd.Prix_Remise = 0;
                     toAdd.Taux_Remise = 0;
                     foreach (String colonne in listColonnes)
                     {
                         if (i == 1)
                         {
                             toAdd.Reference = colonne;
                         }
                         if (i == 2)
                         {
                             toAdd.Designation = colonne;
                         }
                         if (i == 3)
                         {
                             double val;
                             if (double.TryParse(colonne.Replace(".", ","), out val))
                             {
                                 toAdd.Quantite = double.Parse(colonne.Replace(".", ","));
                             }
                             else
                             {
                                 MessageBox.Show("Le collage s'arrete car à  la ligne n°" + nbLignes + ", vous essayez de rentrer une quantité qui n'est pas un chiffre", "Coller : erreur !", MessageBoxButton.OK, MessageBoxImage.Error);
                                 return null;
                             }
                         }
                         if (i == 4)
                         {
                             double val;
                             if (double.TryParse(colonne.Replace(".", ","), out val))
                             {
                                 toAdd.Prix_Unitaire = double.Parse(colonne.Replace(".", ","));
                             }
                             else
                             {
                                 MessageBox.Show("Le collage s'arrete car à  la ligne n°" + nbLignes + ", vous essayez de rentrer un prix unitaire qui n'est pas un chiffre", "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 4 (Référence, désignation, Quantité, Prix unitaire).", "Coller : erreur !", MessageBoxButton.OK, MessageBoxImage.Error);
                     return null;
                 }
             }
         }
         return toReturn;
     }
     else
     {
         return null;
     }
 }
 private void import()
 {
     if (this.commandeWindow != null)
     {
         foreach (ItemShop item in this._dataGridFournisseur.SelectedItems.OfType<ItemShop>())
         {
             try
             {
                 Contenu_Commande_Fournisseur newItem = new Contenu_Commande_Fournisseur();
                 newItem.Reference = item.Reference;
                 newItem.Designation = item.Designation;
                 newItem.Quantite = 1;
                 newItem.Prix_Unitaire = double.Parse(item.Min_Prix_Unitaire.ToString());
                 ((Commande_Fournisseur)this.commandeWindow.DataContext).Contenu_Commande_Fournisseur.Add(newItem);
             }
             catch (Exception) { }
         }
         try
         {
             this.commandeWindow._dataGridContenuCommande.Items.Refresh();
         }
         catch (Exception) { }
     }
     if (this.bonLivraisonWindow != null)
     {
         foreach (ItemShop item in this._dataGridFournisseur.SelectedItems.OfType<ItemShop>())
         {
             try
             {
                 Bon_Livraison_Contenu_Commande_Supplementaire newItem = new Bon_Livraison_Contenu_Commande_Supplementaire();
                 newItem.Reference = item.Reference;
                 newItem.Designation = item.Designation;
                 newItem.Quantite_Livree = 1;
                 newItem.Prix_Remise = double.Parse(item.Min_Prix_Unitaire.ToString());
                 ((Bon_Livraison)this.bonLivraisonWindow.DataContext).Bon_Livraison_Contenu_Commande_Supplementaire.Add(newItem);
             }
             catch (Exception) { }
         }
         try
         {
             this.bonLivraisonWindow._dataGridContenuSupplementaire.Items.Refresh();
         }
         catch (Exception) { }
     }
     if (this.sortieAtelierWindow != null)
     {
         foreach (ItemShop item in this._dataGridFournisseur.SelectedItems.OfType<ItemShop>())
         {
             try
             {
                 Contenu_Sortie_Atelier newItem = new Contenu_Sortie_Atelier();
                 newItem.Reference = item.Reference;
                 newItem.Designation = item.Designation;
                 newItem.Quantite = 1;
                 newItem.Prix = double.Parse(item.Moyenne_Prix_Unitaire.ToString());
                 newItem.Prix_Remise = double.Parse(item.Min_Prix_Unitaire.ToString());
                 ((Sortie_Atelier)this.sortieAtelierWindow.DataContext).Contenu_Sortie_Atelier.Add(newItem);
             }
             catch (Exception) { }
         }
         try
         {
             this.sortieAtelierWindow._dataGridContenu.Items.Refresh();
         }
         catch (Exception) { }
     }
 }
        private void _buttonEquCommande_Click(object sender, RoutedEventArgs e)
        {
            if (this._comboBoxNumeroAffaire.SelectedItem != null)
            {
                //Instancie une nouvelle fenêtre
                CommandeOrdreMissionWindow comWindow = new CommandeOrdreMissionWindow();

                if (((Ordre_Mission)this.DataContext).Mission_Tiers1.Commande_Fournisseur1 == null)
                {
                    //Nouvelle commande
                    Commande_Fournisseur item = new Commande_Fournisseur();
                    item.Mission_Tiers.Add(((Ordre_Mission)this.DataContext).Mission_Tiers1);
                    if (this._textBoxLibelleMission.Text.Trim() != "")
                    {
                        Contenu_Commande_Fournisseur temp = new Contenu_Commande_Fournisseur();
                        temp.Designation = this._textBoxLibelleMission.Text;
                        temp.Quantite = 1;
                        item.Contenu_Commande_Fournisseur.Add(temp);
                    }
                    if (this._datePickerDateDebut.SelectedDate != null)
                    {
                        item.Date_Commande = this._datePickerDateDebut.SelectedDate;
                        item.Date_Livraison_Prevu = this._datePickerDateDebut.SelectedDate;
                    }

                    //Instancie le nouveau data context
                    comWindow.DataContext = item;
                }
                else
                {
                    //Instancie le data context déjà exitant
                    comWindow.DataContext = ((Ordre_Mission)this.DataContext).Mission_Tiers1.Commande_Fournisseur1;
                }

                //booléen nullable vrai ou faux ou null
                bool? dialogResult = comWindow.ShowDialog();

                //Vérifie le retour
                if (dialogResult.HasValue && dialogResult.Value == true)
                {
                    //Si j'appuie sur le bouton Ok, je renvoi l'objet ordreMission dans le datacontext de la fenêtre
                    ((Ordre_Mission)this.DataContext).Mission_Tiers1.Commande_Fournisseur1 = (Commande_Fournisseur)comWindow.DataContext;
                }
                else if (comWindow.creation == true)
                {
                    ((Ordre_Mission)this.DataContext).Mission_Tiers1.Commande_Fournisseur1 = null;
                }

                this.verif_buttonEquCommande();
            }
        }
        /// <summary>
        /// duplique la commande passée en paramètre
        /// </summary>
        /// <param name="commande1">commande à dupliquer</param>
        private Commande_Fournisseur duplicateCommande(Commande_Fournisseur itemToCopy)
        {
            Commande_Fournisseur tmp = new Commande_Fournisseur();

            tmp.Affaire1 = itemToCopy.Affaire1;
            tmp.Contact1 = itemToCopy.Contact1;
            tmp.Entreprise = itemToCopy.Entreprise;
            tmp.Entreprise1 = itemToCopy.Entreprise1;
            tmp.Adresse = itemToCopy.Adresse;
            tmp.Fournisseur1 = itemToCopy.Fournisseur1;
            tmp.Salarie = itemToCopy.Salarie;
            tmp.Personne = itemToCopy.Personne;
            tmp.Total_Commande = itemToCopy.Total_Commande;
            tmp.Total_Ramene_A = itemToCopy.Total_Ramene_A;
            tmp.Remise = itemToCopy.Remise;
            tmp.Nature = itemToCopy.Nature;
            tmp.Type_Commande1 = itemToCopy.Type_Commande1;
            tmp.Franco = itemToCopy.Franco;
            tmp.Contact2 = itemToCopy.Contact2;
            tmp.Remise_Somme = itemToCopy.Remise_Somme;
            tmp.Liv_Atelier = itemToCopy.Liv_Atelier;
            tmp.Liv_Autre = itemToCopy.Liv_Autre;
            tmp.Liv_Chantier = itemToCopy.Liv_Chantier;
            tmp.Divers = itemToCopy.Divers;
            tmp.Stock = itemToCopy.Stock;
            tmp.Entreprise_Mere1 = itemToCopy.Entreprise_Mere1;
            foreach (Contenu_Commande_Fournisseur ccf in itemToCopy.Contenu_Commande_Fournisseur)
            {
                Contenu_Commande_Fournisseur toAdd = new Contenu_Commande_Fournisseur();
                toAdd.Reference = ccf.Reference;
                toAdd.Designation = ccf.Designation;
                toAdd.Quantite = ccf.Quantite;
                toAdd.Prix_Remise = ccf.Prix_Remise;
                toAdd.Prix_Unitaire = ccf.Prix_Unitaire;
                toAdd.Prix_Total = ccf.Prix_Total;
                toAdd.Taux_Remise = ccf.Taux_Remise;
                toAdd.Description = ccf.Description;
                tmp.Contenu_Commande_Fournisseur.Add(toAdd);
            }
            foreach (Commande_Fournisseur_Condition_Reglement cr in itemToCopy.Commande_Fournisseur_Condition_Reglement)
            {
                Commande_Fournisseur_Condition_Reglement toAdd = new Commande_Fournisseur_Condition_Reglement();
                toAdd.Condition_Reglement1 = cr.Condition_Reglement1;
                toAdd.Commentaire = cr.Commentaire;
                tmp.Commande_Fournisseur_Condition_Reglement.Add(toAdd);
            }
            tmp.Utilisateur1 = ((App)App.Current)._connectedUser;

            return tmp;
        }