Exemple #1
0
        /// <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));
        }
Exemple #6
0
        /// <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));
        }
Exemple #7
0
        /// <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);
        }