/// <summary> /// Obtient la liste des stagiaires PFE depuis la base de données /// </summary> /// <returns>La liste des stagiaires PFE</returns> public List <Stagiaire> GetStagiairesPfeList() { var context = new Data.AGADataBaseContainer(); List <Data.Stagiaire> stagiairesPfeList = context.StagiaireSet.ToList(); context.Dispose(); return(StagiaireMapping.EntityToDto(stagiairesPfeList)); }
/// <summary> /// Retourne la liste des demandes en cours de traitement par une assistante donnée /// </summary> /// <param name="idAssistante">L'id de l'assistante</param> /// <returns>La liste des demandes</returns> public List <Demande> GetDemandesEnCoursParAssistante(int idAssistante) { var context = new Data.AGADataBaseContainer(); List <Data.Demande> demandesList = context.DemandeSet.Where(d => d.Assistante.Id == idAssistante).ToList(); context.Dispose(); return(DemandeMapping.EntityToDto(demandesList)); }
/// <summary> /// Retourne toutes les demandes faites par un collaborateur donné /// </summary> /// <param name="idCollaborateur">L'id du collaborateur</param> /// <returns>La liste des demandes</returns> public List <Demande> GetDemandesListParCollaborateur(int idCollaborateur) { var context = new Data.AGADataBaseContainer(); List <Data.Demande> demandesList = context.DemandeSet.Where(d => d.Collaborateur.Id == idCollaborateur).ToList(); context.Dispose(); return(DemandeMapping.EntityToDto(demandesList)); }
/// <summary> /// Retourne la liste des demandes "En Attente" /// </summary> /// <returns>Liste des demandes</returns> public List <Demande> GetDemandesEnAttenteList() { var context = new Data.AGADataBaseContainer(); List <Data.Demande> demandesList = context.DemandeSet.Where(d => d.Statut.Label == "En Attente").ToList(); context.Dispose(); return(DemandeMapping.EntityToDto(demandesList)); }
/// <summary> /// Récupère le statut de la base de donnée /// </summary> /// <param name="label">Le label du statut</param> /// <returns></returns> private Statut GetStatut(String label) { var context = new Data.AGADataBaseContainer(); Data.Statut statut = context.StatutSet.FirstOrDefault(s => s.Label == label); context.Dispose(); return(StatutMapping.EntityToDto(statut)); }
/// <summary> /// Obtient la liste des collaborateurs ayant comme poste "assistante" /// </summary> /// <returns>La liste des assistantes</returns> // TODO : Assistantes comme poste dans la db "assitante"? public List <Collaborateur> GetAssistantesList() { var context = new Data.AGADataBaseContainer(); List <Data.Collaborateur> listeCollaborateur = context.CollaborateurSet.Where(c => c.Poste == "Assistante").ToList(); context.Dispose(); return(CollaborateurMapping.EntityToDto(listeCollaborateur)); }
/// <summary> /// Cherche la liste des collaborateur non eligibles pour l'attestation irrévocable de salaire /// </summary> /// <returns>La liste des collaborateurs non eligibles</returns> public List <Collaborateur> GetCollaborateursNonEligiblesList() { var context = new Data.AGADataBaseContainer(); List <Data.Collaborateur> collaborateursList = context.CollaborateurSet.Where(c => c.IsEligible == false).ToList(); context.Dispose(); return(CollaborateurMapping.EntityToDto(collaborateursList)); }
/// <summary> /// Récupère la template d'une attestation depuis la base donnée /// </summary> /// <param name="attestationLabel">le nom de l'attestation</param> /// <returns>Le Docx de la template</returns> private DocX getTemplate(String attestationLabel) { var context = new Data.AGADataBaseContainer(); Data.TypeAttestation typeAttestation = context.TypeAttestationSet.FirstOrDefault(type => type.Label == attestationLabel); context.Dispose(); String pathTmp = Path.GetTempFileName(); File.WriteAllBytes(pathTmp, typeAttestation.Template); return(DocX.Load(pathTmp)); }
/// <summary> /// Notifie le responsable de la demande en attente de sa décision /// </summary> /// <param name="demande">La demande</param> //TODO: Mail du responsable public void NotifierResponsable(Demande demande) { var context = new Data.AGADataBaseContainer(); MailTemplate mailTemplate = MailTemplateMapping.EntityToDto(context.MailTemplateSet.FirstOrDefault(i => i.Code == "ResponsableNotif")); String objet = mailTemplate.Objet; context.Dispose(); Dictionary <String, String> dictionnaireTokens = new Dictionary <String, String>(); dictionnaireTokens.Add("%typeAttestation%", demande.TypeAttestation.Label); dictionnaireTokens.Add("%nom%", demande.Collaborateur.Nom); dictionnaireTokens.Add("%prenom%", demande.Collaborateur.Prenom); String contenuMail = EditTemplateText(dictionnaireTokens, mailTemplate.Contenu); this.Notifier("", objet, contenuMail); }
/// <summary> /// Notifie les assistantes par mail du nombre des demandes en attente /// </summary> public void NotifierAssistantesDemandesEnAttente() { var context = new Data.AGADataBaseContainer(); MailTemplate mailTemplate = MailTemplateMapping.EntityToDto(context.MailTemplateSet.FirstOrDefault(i => i.Code == "AssistanteNotif")); String objet = mailTemplate.Objet; context.Dispose(); ITraiterDemande demandeService = new TraiterDemande(); Dictionary <String, String> dictionnaireTokens = new Dictionary <String, String>(); dictionnaireTokens.Add("%nombre%", demandeService.GetNombreDemandesEnAttente().ToString()); String contenuMail = EditTemplateText(dictionnaireTokens, mailTemplate.Contenu); ITraiterCollaborateur collaborateurService = new TraiterCollaborateur(); List <String> destinatairesList = collaborateurService.GetEmailList(collaborateurService.GetAssistantesList()); this.Notifier(destinatairesList, objet, contenuMail); }