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); } } }