コード例 #1
0
        public Task InitialiserEnvironnementAsync()
        {
            Client client = GetClientByIdAsync(1).Result;

            if (client == null)
            {
                string[] territoires = new string[] { "Alberta", "Colombie Britannique", "Île-du-Prince-Édouard", "Manitoba", "Nouveau-Brunswick", "Nouvelle-Écosse", "Nunavut", "Ontario", "Québec", "Saskatchewan", "Terre-Neuve-et-Labrador", "Territoires-du-Nord-Ouest", "Yukon" };


                foreach (string t in territoires)
                {
                    AddTerritoire(new Territoire(t));
                }

                Territoire territoire = GetTerritoireByNomAsync("Québec").Result[0];

                ClientPersonne client1 = new ClientPersonne("123456789", "g5l 3x8 rimouski", territoire, "ayman", "chafni");

                AddClientPersonneAsync(client1);

                EmployéRC employérc1 = new EmployéRC("test", "michel", "antoin", "632145789", "g5l 3x8 montréal", 20);
                AddEmployéRCAsync(employérc1);
                Technicien technicien = new Technicien("test", "bilal", "rami", "457895123", "g5l 3x8 montréal", 24, territoire);
                AddTechnicienAsync(technicien);
                Compte compte1 = new Compte(ModeFacturation.Annuel, client1, employérc1);
                Compte compte2 = new Compte(ModeFacturation.Mensuel, client1, employérc1);

                AddCompteAsync(compte1);
                AddCompteAsync(compte2);
            }

            return(new Task(null));
        }
コード例 #2
0
 //**************************************************************************************************
 private void btnModifierMateriel_Click(object sender, EventArgs e)
 {
     // On récupère Tous les attributs du matériel
     using (MaterielManager materielManager = new MaterielManager())
     {
         materielSelectionne.TypeMateriel = textBoxTypeMateriel.Text.Trim();
         materielSelectionne.NumeroTel    = mTxtBoxNumtel.Text.Trim();
         materielSelectionne.Imei         = textBoxCodeIMEI.Text.Trim();
         materielSelectionne.IdGoogle     = textBoxIdGoogle.Text.Trim();
         // il faut chercher si un technicien a en usage le matériel
         // si oui et si etatMatériel n'est pas égale à enService il faut
         // l'enlever de l'affectation du technicien
         using (TechnicienManager technicienManager = new TechnicienManager())
         {
             Technicien technicien = new Technicien();
             technicien.FkIdMateriel = materielSelectionne.IdMateriel;
             // on recherche le technicien qui possédait le matériel
             technicien = technicienManager.getTechnicien(technicien);
             if ((materielSelectionne.EtatMateriel == "enService") && ((string)comBoxEtatMatériel.SelectedItem != "enService"))
             {
                 // il faut retirer l'affectation du matériel au technicien
                 technicien.FkIdMateriel = 0;
                 technicienManager.ajoutModifTechnicien(ref technicien);
             }
         }
         materielSelectionne.EtatMateriel = comBoxEtatMatériel.SelectedItem.ToString();
         materielSelectionne.FkLoginE     = UtilisateurConnecte.Login;
         // On persiste les modifications
         materielManager.insertUpdateMateriel(ref materielSelectionne);
         MessageToast.Show("Matériel modifié avec succès");
         RafraichirIHM();
     }
 }
コード例 #3
0
        private async void LoginButton_Clicked(object sender, EventArgs e)
        {
            if (FieldsValidated())
            {
                LoginButton.IsEnabled = false;
                var admin = new Technicien {
                    Login = TechnicianLoginEntry.Text, MotDePasse = PasswordEntry.Text
                };
                var bytesAdmin = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(admin));
                var req        = WebRequest.CreateHttp(Constants.VerifyTechnicianLoginURL);
                req.ContentType = "application/json";
                req.Method      = "POST";
                await req.GetRequestStream().WriteAsync(bytesAdmin, 0, bytesAdmin.Length);

                var result = new StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd();
                if (result.Equals("null"))
                {
                    await DisplayAlert("Échéc de login", "Votre Login/Mot de passe est incorrect", "Ok");

                    return;
                }
                CurrentTechnician = JsonConvert.DeserializeObject <Technicien>(result);
                await Navigation.PushAsync(new MainPage(CurrentTechnician));
            }
            else
            {
                await DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
            }
        }
コード例 #4
0
        //**************************************************************************************************
        private void btnAjouterTechnicien_Click(object sender, EventArgs e)
        {
            // créer un technicien et lui affecte les champs remplis
            Technicien monTechnicien = new Technicien();

            if ((textBoxNom.Text != String.Empty) && (textBoxPrenom.Text != String.Empty) &&
                (textBoxLoginT.Text != String.Empty) && (txtBoxMdp.Text != String.Empty))
            {
                using (TechnicienManager technicienManager = new TechnicienManager())
                {
                    monTechnicien.Nom     = textBoxNom.Text.Trim();
                    monTechnicien.Prenom  = textBoxPrenom.Text.Trim();
                    monTechnicien.LoginT  = textBoxLoginT.Text.Trim();
                    monTechnicien.PasswdT = Utils.getMd5Hash(txtBoxMdp.Text.Trim());
                    bool resultat = technicienManager.ajoutModifTechnicien(ref monTechnicien);
                    // On ajoute le technicien en BDD

                    if (resultat)  // si l'ajout s'est bien passé
                    {
                        MessageToast.Show("Technicien ajouté avec succès");
                    }
                    else
                    {
                        MessageToast.Show("Les champs remplis sont incorrectes");
                    }
                }
            }
            else
            {
                MessageBox.Show("Merci de remplir tous les champs");
            }
        }
コード例 #5
0
        //*****************************************************************************************************************
        // pour chaque technicien il faut :
        // faire un split du string csv représentant un enregistrement technicien
        // peupler une entité technicien et l'inscrire en BDD
        // liste des valeurs pour peupler la table des techniciens
        // les techniciens ne sont pas enregistrés sur l'actice directory
        // login,mdp,prenom,nom,fk matériel affecté
        private void peuplerTableTechnicien()
        {
            Technicien technicien = new Technicien();

            using (TechnicienManager technicienManager = new TechnicienManager())
            {
                // Lire chaque ligne du fichier.
                // Chaque élément du tableau représente une ligne du fichier
                String[] tabLines = System.IO.File.ReadAllLines(@"..\..\..\DonneesInitialesBdd\Techniciens.csv", Encoding.GetEncoding("iso-8859-1"));

                foreach (String line in tabLines)   // pour toutes les lignes du jeux d'essais
                {
                    String[] str = line.Split(';'); // on a choisi # comme séparateur csv
                    if (str[0] != "#")              // si oui c'est une ligne de commentaire
                    {
                        technicien.LoginT  = str[0];
                        technicien.PasswdT = Utils.getMd5Hash(str[1]);
                        technicien.Prenom  = str[2];
                        technicien.Nom     = str[3];
                        if (str[4] != "")
                        {
                            technicien.FkIdMateriel = Convert.ToInt32(str[4]); // on pourra affecter d'office un matériel
                        }
                        // On persiste l'entité en BDD
                        technicienManager.ajoutModifTechnicien(ref technicien);
                    }
                }
            }
        }
コード例 #6
0
ファイル: EnvoiSMSForm.cs プロジェクト: Fardadtorabian/PPE3
        //***********************************************************************************************
        private void dgvTechnicien_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int      IdxLigneActuelle = e.RowIndex;
            Materiel materiel         = new Materiel();

            viderChamps();

            if (IdxLigneActuelle >= 0)
            {
                // On récupère le login du technicien de la ligne sélectionnée dans le dgvTechnicien
                string loginTechnicien = (string)dgvTechnicien.Rows[IdxLigneActuelle].Cells[2].Value;
                // On récupère l'indice de ce technicien dans la listTechnicien
                int indiceDansListTechnicien = listTechnicien.FindIndex(item => item.LoginT == loginTechnicien);
                // On récupère le technicien complet
                technicienSelectionne = listTechnicien[indiceDansListTechnicien];
                // On affiche les données du Technicien
                textBoxNom.Text    = technicienSelectionne.Nom;
                textBoxPrenom.Text = technicienSelectionne.Prenom;
                // recherche du matériel affecté au technicien pour récupérer son numéro de téléphone
                int indiceDansListMateriel = listMateriel.FindIndex(materielRecherché => materielRecherché.IdMateriel == technicienSelectionne.FkIdMateriel);
                if (indiceDansListMateriel >= 0) // matériel trouvé si >=0
                {
                    materiel           = listMateriel[indiceDansListMateriel];
                    mTxtBoxNumtel.Text = materiel.NumeroTel;
                }
                else
                {
                    mTxtBoxNumtel.ResetText();
                    MessageBox.Show("Ce technicien n'a pas de matériel affecté, rentrer manuellement un numéro");
                }
            }
        }
コード例 #7
0
        private void Boutton_Ajouter_Click(object sender, EventArgs e)
        {
            IGestionTechnicienDAO IGTDAO = new GestionTechnicienDAO();

            Technicien T = new Technicien {
                CIN = Convert.ToInt32(textBox1.Text), Login = textBox4.Text, Password = textBox5.Text
            };

            var exist = IGTDAO.exist(T);

            if (exist)
            {
                MessageBox.Show("Ce Technicien existe deja");
            }
            else
            {
                Personne T1 = new Technicien();



                T.CIN      = Convert.ToInt32(textBox1.Text);
                T.Nom      = textBox2.Text;
                T.Prenom   = textBox3.Text;
                T.Login    = textBox4.Text;
                T.Password = textBox5.Text;
                IGTDAO.AjouterTechnicien(T);
                MessageBox.Show("Le Technicien a été ajouté");
            }
        }
コード例 #8
0
 public void AddButton_Clicked(object sender, EventArgs e)
 {
     if (FieldsValidated())
     {
         try
         {
             var technicien = new Technicien {
                 Nom = TechnicianNameEntry.Text, Login = LoginEntry.Text, MotDePasse = PaswordEntry.Text
             };
             if (SendTechnician(technicien))
             {
                 DisplayAlert("Succés", "Technicien ajoutée avec succés", "Ok");
             }
             TechnicianNameEntry.Text = "";
             LoginEntry.Text          = "";
             PaswordEntry.Text        = "";
         }
         catch (WebException exc)
         {
             Console.WriteLine(exc.Message);
             DisplayAlert("Erreur", "Erreur lors de l'envoi des nouvelles données", "Ok");
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
             DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
         }
     }
     else
     {
         DisplayAlert("Erreur", "Verifier les valuers entrées", "Ok");
     }
 }
コード例 #9
0
        public MainTechnicienViewModel()
        {
            CurrentTechnicien = new Technicien();

            PageViewModels.Add(new CompteRenduTechnicienViewModel());
            PageViewModels.Add(new InterventionTechnicienViewModel());

            // Set starting page
            CurrentPageViewModel = PageViewModels[0];
        }
コード例 #10
0
        //**************************************************************************************************
        private void dgvTechnicien_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int IdxLigneActuelle = e.RowIndex;

            if (IdxLigneActuelle >= 0)
            {
                string loginTechnicien          = (string)dgvTechnicien.Rows[IdxLigneActuelle].Cells[2].Value;
                int    indiceDansListTechnicien = listTechniciens.FindIndex(item => item.LoginT == loginTechnicien);
                technicienSelectionne = listTechniciens[indiceDansListTechnicien];
                affichePlanningTechnicien(technicienSelectionne);
            }
        }
コード例 #11
0

        
コード例 #12
0
        public MyTasksPage(Technicien technicien)
        {
            InitializeComponent();
            this.Technicien = technicien;
            Position position = new Position(34.741094, 10.752437);
            MapSpan  mapSpan  = new MapSpan(position, 0.01, 0.01);

            MapView = new Map(mapSpan)
            {
                MapType = MapType.Satellite
            };
            MainGrid.Children.AddVertical(MapView);
        }
コード例 #13
0

        
コード例 #14
0

        
コード例 #15
0
        private bool SendTechnician(Technicien technicien)
        {
            var req = WebRequest.CreateHttp(Constants.AddTechnicianURL);

            req.Method      = "POST";
            req.ContentType = "application/json";
            var jsonTechnicien      = JsonConvert.SerializeObject(technicien);
            var byteArrayTechnicien = Encoding.UTF8.GetBytes(jsonTechnicien);

            req.GetRequestStream().Write(byteArrayTechnicien, 0, byteArrayTechnicien.Length);
            var resp = new StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd();

            return(resp.Equals("Technician Added Successfully"));
        }
コード例 #16
0
        //**************************************************************************************************
        private void affichePlanningTechnicien(Technicien technicien)
        {
            // RAZ des listes de rendez-vous et d'interventions
            listRdv.Clear();
            // Raz affichage
            lblValDebInter.ResetText();
            lblValFinInterv.ResetText();
            lblValDureeInterv.ResetText();

            // Chargement des interventions du jour d'un technicien et peuplement de la liste des rdv à afficher
            Intervention uneIntervention = new Intervention();

            uneIntervention.DebutIntervention = dayView.StartDate.Date;
            uneIntervention.FkLoginT          = technicien.LoginT;
            try
            {
                using (InterventionManager interventionManager = new InterventionManager())
                {
                    listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention);
                    if (listIntervention != null)
                    {
                        foreach (Intervention chaqueIntervention in listIntervention)
                        {
                            // on peuple la liste des rdv a afficher
                            Appointment rdv = new Appointment();
                            rdv.StartDate   = chaqueIntervention.DebutIntervention;
                            rdv.EndDate     = chaqueIntervention.FinIntervention;
                            rdv.BorderColor = Color.Red;                         // la couleur de l'entourage
                            rdv.Title       = chaqueIntervention.ObjectifVisite; // le texte à l'intérieur du rdv
                            listRdv.Add(rdv);
                            // On ajoute un tag (l'IdIntervention sur chaque rdv)
                            // IdIntervention sera récupérer grace à rdv.Layer de chaque rendez-vous
                            rdv.Layer = chaqueIntervention.IdIntervention;
                        }
                    }
                    else
                    {
                        Appointment rdv = new Appointment();
                        rdv.StartDate = dayView.StartDate;
                        rdv.EndDate   = dayView.StartDate;
                        rdv.Title     = String.Empty;
                    }
                    dayView.Invalidate(); // On force le conrole à ce redessiner
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #17
0
ファイル: Program.cs プロジェクト: championgaia/VenteBouquin
        static void Main(string[] args)
        {
            Technicien  technicien   = new Technicien();
            MonteurTour monteurTour1 = new MonteurTour1();
            MonteurTour monteurTour2 = new MonteurTour2();

            technicien.setMonteurTour(monteurTour1);
            technicien.construireTour();

            Tour tour = technicien.getTour();

            tour.Informations();

            Console.ReadKey();
        }
コード例 #18
0
        //**************************************************************************************************
        private void dgvTechnicien_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int IdxLigneActuelle = e.RowIndex;

            if (IdxLigneActuelle >= 0)
            {
                string loginTechnicien          = (string)dgvTechnicien.Rows[IdxLigneActuelle].Cells[2].Value;
                int    indiceDansListTechnicien = listTechnicien.FindIndex(indice => indice.LoginT == loginTechnicien);
                technicienSelectionne = listTechnicien[indiceDansListTechnicien];
                // recupère les données du Technicien
                textBoxNom.Text    = technicienSelectionne.Nom;
                textBoxPrenom.Text = technicienSelectionne.Prenom;
                textBoxLoginT.Text = technicienSelectionne.LoginT;
            }
        }
コード例 #19
0
        private void btnEntrer_Click(object sender, EventArgs e)
        {
            if (txtEmployéId.Text == null || txtEmployéId.Text == "" || txtMdp.Text == null || txtMdp.Text == "" || Util.StringToInt(txtEmployéId.Text) == int.MinValue)
            {
                errIncorrect.Visible = true;
                return;
            }

            Technicien employét = clientService.GetTechnicienByID(Util.StringToInt(txtEmployéId.Text));

            if (employét == null)
            {
                EmployéRC employérc = clientService.GetEmployéRCByID(Util.StringToInt(txtEmployéId.Text));
                if (employérc == null)
                {
                    errIncorrect.Visible = true;
                }
                else
                {
                    if (txtMdp.Text != employérc.mdp)
                    {
                        errIncorrect.Visible = true;
                    }
                    else
                    {
                        Session.employéRCID = employérc.Id;
                        GestionComptes formGestionComptes = new GestionComptes(clientService, facturationService);
                        formGestionComptes.ShowDialog();
                        this.Close();
                    }
                }
            }

            else
            {
                if (txtMdp.Text != employét.mdp)
                {
                    errIncorrect.Visible = true;
                }
                else
                {
                    Session.technicienID = employét.Id;
                    GestionInstallation formGestionInstallation = new GestionInstallation(clientService);
                    formGestionInstallation.ShowDialog();
                    this.Close();
                }
            }
        }
コード例 #20
0
        //**************************************************************************************************
        // Cette méthode récupère les rdv d'un technicien en BDD pour peupler la liste des rendez-vous à afficher
        //**************************************************************************************************
        private void affichePlanningTechnicien(Technicien technicien)
        {
            // Raz des listes contenant les rdv affichées et les instreventions d'un technicien récupérées en BDD
            listRdvBdd.Clear();

            // Raz de l'affichage
            clearTextBox();

            // On charge la liste des rendez-vous d'un technicien pour un jour donné
            Intervention uneIntervention = new Intervention();

            uneIntervention.DebutIntervention = dayView.StartDate.Date;
            uneIntervention.FkLoginT          = technicien.LoginT;
            try
            {
                using (InterventionManager interventionManager = new InterventionManager())
                {
                    listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention);
                    if (listIntervention != null)
                    {
                        foreach (Intervention chaqueIntervention in listIntervention)
                        {
                            // on peuple la liste des rdv a afficher
                            Appointment rdv = new Appointment();
                            rdv.StartDate   = chaqueIntervention.DebutIntervention;
                            rdv.EndDate     = chaqueIntervention.FinIntervention;
                            rdv.BorderColor = Color.Red;                         // la couleur de l'entourage
                            rdv.Title       = chaqueIntervention.ObjectifVisite; // le texte à l'intérieur du rdv
                            listRdvBdd.Add(rdv);
                            // On ajoute un tag (l'IdIntervention sur chaque rdv)
                            // IdIntervention sera récupérer grace à rdv.Layer de chaque rendez-vous
                            rdv.Layer = chaqueIntervention.IdIntervention;
                        }
                    }
                    else
                    {
                        Appointment rdv = new Appointment();
                        rdv.StartDate = dayView.StartDate;
                        rdv.EndDate   = dayView.StartDate;
                        rdv.Title     = String.Empty;
                    }
                    dayView.Invalidate(); // On force le controle à se redessiner
                }
            }
            catch (Exception ex)
            {
            }
        }
コード例 #21
0
        //**************************************************************************************************
        private void dgvListeTechniciens_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int IdxLigneActuelle = e.RowIndex; // indice de la ligne sélectionnée

            if (IdxLigneActuelle >= 0)
            {
                // loginT est caché dans la première colonne du dgv
                String logingT = (String)dgvListeTechniciens.Rows[IdxLigneActuelle].Cells[0].Value;
                // on récupère l'indice dans la liste des techniciend de celui qui est sélectionnée
                int indiceDansListTechnicien = listTechniciens.FindIndex(s => s.LoginT == logingT);
                // recupère le technicien sélectionnée
                technicienSelectionne = listTechniciens[indiceDansListTechnicien];
            }
            if ((materielSelectionne != null) && (technicienSelectionne != null))
            {
                this.btnAttribuerMateriel.Enabled = true;
            }
        }
コード例 #22
0
        private IList <Technicien> SearchTechnicienBase()
        {
            Technicien techniciens = new Technicien();

            techniciens.nom    = "";
            techniciens.prenom = "";
            techniciens.tel    = "";

            IList <Technicien> ListTechnicien = null;

            using (API_Daltons.Service1Client api = new API_Daltons.Service1Client())
            {
                {
                    ListTechnicien = api.SearchTechnicien();
                }
            }
            return(ListTechnicien);
        }
コード例 #23
0
        //**************************************************************************************************
        private void InitialiserDGV()
        {
            technicienSelectionne = null;
            List <int> listIdMaterielDispo = new List <int>();

            dgvTechnicien.Rows.Clear();
            // Récupération de la liste des techniciens et des clients
            using (Manager manager = new Manager())
            {
                // créer un liste de clients et récupère les clients de la BDD
                manager.getListe(ref listClient, "client");
                // Récuperation de la liste des techniciens
                manager.getListe(ref listTechniciens, "technicien");
            }

            // On rempli le dataGridView des Techniciens
            foreach (Technicien chaqueTechnicien in listTechniciens)
            {
                dgvTechnicien.Rows.Add(
                    chaqueTechnicien.Nom,
                    chaqueTechnicien.Prenom,
                    chaqueTechnicien.LoginT);
            }
            // Trier par ordre alphabétique des noms le dataGridView
            dgvTechnicien.Sort(dgvTechnicien.Columns[0], ListSortDirection.Ascending);
            // On rempli le dataGridView des Clients
            foreach (Client chaqueClient in listClient)
            {
                dgvClient.Rows.Add(
                    chaqueClient.IdClient,
                    chaqueClient.Entreprise,
                    chaqueClient.Prenom,
                    chaqueClient.Nom);
            }
            // Trie par ordre alphabétique des noms
            dgvClient.Sort(dgvClient.Columns[3], ListSortDirection.Ascending);

            // clear des textBox
            txtBoxPrenomContact.ResetText();
            txtBoxNomContact.ResetText();
            mTxtBoxTelephone.ResetText();
            txtBoxObjetVisite.ResetText();
        }
コード例 #24
0
        //**************************************************************************************************
        private void InitialiserDGV()
        {
            technicienSelectionne = null;
            List <int> listIdMaterielDispo = new List <int>();

            dgvTechnicien.Rows.Clear();
            // On rempli le dataGridView des Techniciens
            foreach (Technicien chaqueTechnicien in listTechniciens)
            {
                dgvTechnicien.Rows.Add(
                    chaqueTechnicien.Nom,
                    chaqueTechnicien.Prenom,
                    chaqueTechnicien.LoginT);
            }
            // Trier par ordre alphabétique des noms le dataGridView
            dgvTechnicien.Sort(dgvTechnicien.Columns[0], ListSortDirection.Ascending);
            // Raz de l'affichage
            clearTextBox();
        }
コード例 #25
0
        //**************************************************************************************************
        private void affichePlanningTechnicien(Technicien technicien)
        {
            listRdv.Clear();

            dayView.Refresh();
            dayView.Invalidate(); // On force le controle à ce redessiner

            if (listIntervention == null)
            {
                listIntervention = new List <Intervention>();
            }
            listIntervention.Clear();
            Intervention uneIntervention = new Intervention();

            uneIntervention.DebutIntervention = dayView.StartDate.Date;
            uneIntervention.FkLoginT          = technicien.LoginT;
            try
            {
                using (InterventionManager interventionManager = new InterventionManager())
                {
                    listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention);

                    foreach (Intervention chaqueIntervention in listIntervention)
                    {
                        Appointment rdv = new Appointment();
                        rdv.StartDate   = chaqueIntervention.DebutIntervention;
                        rdv.EndDate     = chaqueIntervention.FinIntervention;
                        rdv.BorderColor = Color.Red;
                        rdv.Title       = chaqueIntervention.ObjectifVisite;
                        listRdv.Add(rdv);
                    }
                    dayView.Invalidate(); // On force le controle à ce redessiner
                }
            }
            catch (Exception ex)
            {
            }
        }
コード例 #26
0

        
コード例 #27
0
        //**************************************************************************************************
        private void InitialiserDGV()
        {
            technicienSelectionne = null;
            List <int> listIdMaterielDispo = new List <int>();

            dgvTechnicien.Rows.Clear();
            // Récupération de la liste des techniciens et des clients
            using (Manager manager = new Manager())
            {
                // Récuperation de la liste des techniciens
                manager.getListe(ref listTechniciens, "technicien");
            }
            // On rempli le dataGridView des Techniciens
            foreach (Technicien chaqueTechnicien in listTechniciens)
            {
                dgvTechnicien.Rows.Add(
                    chaqueTechnicien.Nom,
                    chaqueTechnicien.Prenom,
                    chaqueTechnicien.LoginT);
            }
            // Trier par ordre alphabétique des noms le dataGridView
            dgvTechnicien.Sort(dgvTechnicien.Columns[0], ListSortDirection.Ascending);
        }
コード例 #28
0
        //**************************************************************************************************
        private void dgvMateriels_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int IdxLigneActuelle = e.RowIndex;

            if (IdxLigneActuelle >= 0)
            {
                int idMateriel             = (int)dgvMateriels.Rows[IdxLigneActuelle].Cells[0].Value;
                int indiceDansListMateriel = listMateriel.FindIndex(unMateriel => unMateriel.IdMateriel == idMateriel);
                materielSelectionne = listMateriel[indiceDansListMateriel];

                //On a récupéré l'objet matériel correspondant à la sélection,
                // on rempli les différents champs
                textBoxTypeMateriel.Text           = materielSelectionne.TypeMateriel;
                textBoxNumSerie.Text               = materielSelectionne.NumeroSerie;
                mTxtBoxNumtel.Text                 = materielSelectionne.NumeroTel;
                textBoxCodeIMEI.Text               = materielSelectionne.Imei;
                textBoxIdGoogle.Text               = materielSelectionne.IdGoogle;
                comBoxEtatMatériel.SelectedItem    = materielSelectionne.EtatMateriel;
                lblDateEnregistrementMateriel.Text = materielSelectionne.DateEnregistrement.ToString("dd/MM/yyyy");
                if (materielSelectionne.DateAffectation != DateTime.MinValue)
                {
                    lblValDateAffectation.Text = materielSelectionne.DateAffectation.ToString("dd/MM/yyyy");
                }
                else
                {
                    lblValDateAffectation.Text = "jamais affecté";
                }
                using (TechnicienManager technicienManager = new TechnicienManager())
                {
                    Technicien technicien = new Technicien();
                    technicien.FkIdMateriel = materielSelectionne.IdMateriel;
                    technicien = technicienManager.getTechnicien(technicien);
                    txtBoxAffectationMat.Text = technicien.Prenom + "  " + technicien.Nom;
                }
                btnModifierMateriel.Enabled = true;
            }
        }
コード例 #29
0

        
コード例 #30
0
        //**************************************************************************************************
        private void initialiserDgvMaterielsEtDgvTechniciens()
        {
            this.btnAttribuerMateriel.Enabled = false;
            materielSelectionne   = null;
            technicienSelectionne = null;
            List <int> listIdMaterielDispo = new List <int>();

            // RAZ des DGV
            dgvListeTechniciens.Rows.Clear();
            dgvMateriels.Rows.Clear();
            // Récupération de la liste des techniciens et des matériels
            using (Manager manager = new Manager())
            {
                // connexion déjà ouverte on peut la passer en paramètre

                // Récuperation de la liste des matériels
                manager.getListe(ref listMateriel, "materiel");
                // Récuperation de la liste des techniciens
                manager.getListe(ref listTechniciens, "technicien");
                // Récuperation de la liste des techniciens sans matériels
                // Utilisation de Linq
                //var listItem =
                //from technicien in listTechniciens
                //where technicien.FkIdMateriel == 0
                //select technicien;
                //listTechniciensSansMateriel = (List<Technicien>)listItem;

                // Ou utilisation de Linq avec Expression Lamda
                listTechniciensSansMateriel = listTechniciens.FindAll(technicien => technicien.FkIdMateriel == 0);

                // Récuperation de la liste des matériels non affectés (jointure + Différence entre list)
                // On commence par récupérer la liste des matériels affectés
                var result =
                    from materiel in listMateriel
                    join technicien in listTechniciens on materiel.IdMateriel equals technicien.FkIdMateriel
                    select materiel; // On obtient la liste des matériels attribués
                // Grace à la méthode Except on retire de la listMateriel le matériel affecté
                // On injecte le résultat dans la listMaterielDispo via la méthode ToList
                listMaterielDispo = listMateriel.Except(result).ToList <Materiel>();
            }
            // On rempli le dataGridView des techniciens sans matériel
            foreach (Technicien chaqueTechnicien in listTechniciensSansMateriel)
            {
                dgvListeTechniciens.Rows.Add(chaqueTechnicien.LoginT,
                                             chaqueTechnicien.Prenom,
                                             chaqueTechnicien.Nom);
            }
            // Trier par ordre alphabétique des noms le dataGridView
            dgvListeTechniciens.Sort(dgvListeTechniciens.Columns[2], ListSortDirection.Ascending);

            textBoxTypeMateriel.ResetText();
            textBoxNumSerie.ResetText();
            mTxtBoxNumtel.ResetText();
            // On affiche dans le dgvMateriel que les matériels trouvé dispo
            foreach (Materiel chaqueMateriel in listMaterielDispo)
            {
                dgvMateriels.Rows.Add(
                    chaqueMateriel.IdMateriel,
                    chaqueMateriel.TypeMateriel,
                    chaqueMateriel.NumeroSerie);
            }
        }