示例#1
0
 /// <summary>
 /// Affiche dans les champs de la vue les infos du bagage.
 /// </summary>
 /// <param name="bagage">Bagage à afficher.</param>
 private void afficherBagageInfo(ServiceReferencePim.BagageDefinition bagage)
 {
     this.textBox_Compagnie.Text        = bagage.Compagnie;
     this.textBox_Ligne1.Text           = bagage.Ligne;
     this.textBox_JourExploitation.Text = bagage.DateVol.ToString();
     this.textBox_Itineraire.Text       = bagage.Itineraire;
     this.textBox_ClasseBagage.Text     = bagage.Classe;
     this.checkBox_Continuation.Checked = bagage.EnContinuation;
     this.checkBox_Rush.Checked         = bagage.Rush;
 }
示例#2
0
        /// <summary>
        /// Récupère depuis le webservice le bagage associé au code Iata entré, et affiche les informations du bagage.
        /// Si le code Iata n'existe pas en base, il est alors possible de créer le bagage.
        /// Dans le cas de plusieurs bagages associés au code Iata, un popup demande quel bagage afficher.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_getBagage_Click(object sender, EventArgs e)
        {
            try
            {
                ServiceReferencePim.BagageDefinition bagage = this.proxy.GetBagageByCodeIata(this.textBox_CodeIata.Text);

                if (bagage != null)
                {
                    this.afficherBagageInfo(bagage);
                    this.State = PimState.AffichageBagage;
                }
                else
                {
                    this.State = PimState.CreationBagage;
                    this.toolStripStatusLabelMessage.Text = "Aucune correspondance trouvée";
                }
            }
            catch (FaultException <ServiceReferencePim.MultipleBagageFault> ex)            //Plusieurs bagages retournés
            {
                this.State = PimState.SelectionBagage;
                this.toolStripStatusLabelMessage.Text = ex.Detail.Message;

                //Ouvre un popup listant les bagages retournés.
                ChooseBagagePopup popup = new ChooseBagagePopup(new List <ServiceReferencePim.BagageDefinition>(ex.Detail.ListBagages));
                if (popup.ShowDialog(this) == DialogResult.OK)
                {
                    this.afficherBagageInfo(ex.Detail.ListBagages[popup.IndexBagageChoisi]);
                    this.State = PimState.AffichageBagage;
                }
                else
                {
                    this.State = PimState.AttenteBagage;
                }
                popup.Dispose();
            }
            catch (FaultException)
            {
                MessageBox.Show("Une erreur s'est produite dans le traitement de votre demande.");
            }
            catch (CommunicationException)
            {
                MessageBox.Show("Une erreur de communication s'est produite dans le traitement de votre demande.");
            }
            catch (Exception)
            {
                MessageBox.Show("Une erreur s’est produite dans le traitement de votre demande.\nMerci de bien vouloir réessayer ultérieurement ou contacter votre administrateur.", "Erreur dans le traitement de votre demande", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        /// <summary>
        /// Demande au service web de créer un bagage dans la base de données en lui transmettant les informations du bagage renseignées par l'utilisateur.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_CreerBagage_Click(object sender, EventArgs e)
        {
            try
            {
                ServiceReferencePim.BagageDefinition newBag = new ServiceReferencePim.BagageDefinition
                {
                    IdBagage       = -1,               //ID à -1 car ce n'est pas à nous de le créer, il est auto-incrémenté à l'insertion dans la base
                    CodeIata       = this.textBox_CodeIata.Text,
                    Compagnie      = this.textBox_Compagnie.Text,
                    Ligne          = this.textBox_Ligne1.Text,
                    DateVol        = DateTime.Parse(this.textBox_JourExploitation.Text), //Conversion string en DateTime
                    Itineraire     = this.textBox_Itineraire.Text,
                    Prioritaire    = false,                                              //False par défaut, car pas de champ dans l'interface pour renseigner ce paramètre (également en rapport avec la classe du bagage pas gérée non plus)
                    Classe         = this.textBox_ClasseBagage.Text,
                    EnContinuation = this.checkBox_Continuation.Checked,
                    Rush           = this.checkBox_Rush.Checked
                };

                if (this.proxy.CreateBagage(newBag))
                {
                    this.State = PimState.AffichageBagage;
                    this.toolStripStatusLabelMessage.Text = "Bagage créé";
                }
                else
                {
                    MessageBox.Show("Le bagage n'a pas pu être créé.");
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Le jour d'exploitation doit respecter le format jj/mm/aaa hh:mm:ss");
            }
            catch (FaultException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (CommunicationException)
            {
                MessageBox.Show("Une erreur de communication s'est produite dans le traitement de votre demande.");
            }
            catch
            {
                MessageBox.Show("Une erreur s’est produite dans le traitement de votre demande.\nMerci de bien vouloir réessayer ultérieurement ou contacter votre administrateur.", "Erreur dans le traitement de votre demande", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }