示例#1
0
        public static void InstancieUnContrat(MCollaborateur leCollaborateur)
        {
            leCollaborateur.initialiseListeContrats();

            //instancier un dbContext si besoin
            if (DonneesDAO.DBContextABI == null)
            {
                DonneesDAO.DBContextABI = new Model1Container();
            }

            //Recupere un collaborateur avec une matricrule specifique
            var query = from a in DonneesDAO.DBContextABI.ContratsSet
                        where a.Collaborateur.Matricule == leCollaborateur.Matricule
                        select a;

            MContrat leContrat;

            foreach (Contrats item in query)
            {
                //si le ciontrat c'est un CDI
                if (item is CDI)
                {
                    leContrat = new MCdi(item.NumeroContrat,
                                         item.Qualification,
                                         item.SalaireBrut,
                                         item.DateDebut);
                }
                //Si le contrat est un Interim
                else if (item is Interim)
                {
                    leContrat = new MInterim(item.NumeroContrat,
                                             item.Qualification,
                                             item.DateDebut,
                                             ((Interim)item).DateFin,
                                             ((Interim)item).Motf,
                                             ((Interim)item).AgenceInterim,
                                             ((Interim)item).Indemnites);
                }

                //Si le contrat est un cdd
                else if (item is Cdd)
                {
                    leContrat = new MCdd(item.NumeroContrat,
                                         item.Qualification,
                                         item.SalaireBrut,
                                         item.DateDebut,
                                         ((Cdd)item).DateFin,
                                         ((Cdd)item).Motf);
                }

                //si le contrat est un Stage
                else
                {
                    leContrat = new MStagiaire(item.NumeroContrat,
                                               item.Qualification,
                                               item.SalaireBrut,
                                               item.DateDebut,
                                               ((Stage)item).DateFin,
                                               ((Stage)item).Motf,
                                               ((Stage)item).Ecole,
                                               ((Stage)item).Mission);
                }

                leCollaborateur.AjouterContrat(leContrat);
            }
        }
        /// <summary>
        /// Méthode qui récupère les contrats correspondants au collaborateur choisi en DB pour construire le dictionnaire
        /// </summary>
        /// <param name="leCollab">l'instance de MCollaborateur dont on recherche les contrats</param>
        public static void InstancieContrats(MCollaborateur leCollab)
        {
            if (DonneesDAO.DbContextAbiDao == null)
            {
                DonneesDAO.DbContextAbiDao = new AbiDaoContainer();
            }

            var query = from b in DonneesDAO.DbContextAbiDao.ContratSet
                        where b.Collaborateur.Matricule == leCollab.Matricule
                        select b;

            MContrat leContrat;

            foreach (Contrat contrat in query)
            {
                if (contrat is CDD)
                {
                    leContrat = new MCdd((contrat as CDD).SalaireBrut,
                                         contrat.DateDebutContrat,
                                         contrat.Qualification,
                                         contrat.NumContrat,
                                         (contrat as CDD).Motif,
                                         (DateTime)(contrat as CDD).DateFinPrevue,
                                         contrat.DateFinContrat);

                    leCollab.AddContrat(leContrat);
                }
                else if (contrat is CDI)
                {
                    leContrat = new MCdi((contrat as CDI).SalaireBrut,
                                         contrat.NumContrat,
                                         contrat.Qualification,
                                         contrat.DateDebutContrat,
                                         contrat.DateFinContrat);

                    leCollab.AddContrat(leContrat);
                }
                else if (contrat is Stage)
                {
                    leContrat = new MStage((contrat as Stage).Ecole,
                                           (contrat as Stage).Mission,
                                           (Decimal)(contrat as Stage).Indemnite,
                                           (contrat as Stage).Motif,
                                           (DateTime)(contrat as Stage).DateFinPrevue,
                                           contrat.NumContrat,
                                           contrat.Qualification,
                                           contrat.DateDebutContrat,
                                           contrat.DateFinContrat);

                    leCollab.AddContrat(leContrat);
                }
                else
                {
                    leContrat = new MInterim((contrat as Interim).AgenceInterim,
                                             (contrat as Interim).Motif,
                                             (DateTime)(contrat as Interim).DateFinPrevue,
                                             contrat.NumContrat,
                                             contrat.Qualification,
                                             contrat.DateDebutContrat,
                                             contrat.DateFinContrat);

                    leCollab.AddContrat(leContrat);
                }
            }
        }