示例#1
0
        protected void SearchButton_Click(object sender, EventArgs ev)
        {
            // Cette recherche affichera dans une grille le ou les employés correspondant aux critères

            // Vérifier que le url de la forme à charger après la recherche existe
            //var transferUrl = HttpUtility.UrlEncode(Request.QueryString["TransferUrl"]);
            var transferUrl = Request.QueryString["TransferUrl"];

            if (String.IsNullOrEmpty(transferUrl))
            {
                UctMessage.Show(UserControls.MessageType.Error, @"Aucune suite n'est prévue après la recherche. Recommencer à partir du menu principal.");
            }
            else
            {
                // Remplir Dto
                EmployeSearchDto emp = FillEmpSearchDto(transferUrl);
                // Vérifier que la recherche est valide
                List <String>  errorMessages = new List <string>(); // Pour conserver les messages d'erreurs éventuels
                EmployeManager empMan        = new EmployeManager();
                if (empMan.IsSearchValid(emp, ref errorMessages))
                {
                    //Effacer des éventuels message précédents
                    UctMessage.Hide();
                    //Afficher les résultat dans le GridView
                    GridViewEmployes.Visible    = true;
                    GridViewEmployes.DataSource = empMan.GetSearchResult(emp);
                    GridViewEmployes.DataBind();
                }
                else
                {
                    HideGridView();
                    UctMessage.Show(UserControls.MessageType.Error, @"Oops... quelques problèmes sont survenues:", errorMessages);
                }
            }
        }
示例#2
0
        private void SetEmployeInformation()
        {
            //Charger les données de l'employé dans les différents champs

            BtnCreateEmployee.Text = "Mettre à Jour";                    // Changer le libellé du bouton
            long longEmployeID = Int64.Parse(Request.QueryString["Id"]); // Id de l'employé

            // Créer les Dto pour recevoir les informations de l'employé
            EmployeDto        emp;
            EmployeSalaireDto empSalReg = new EmployeSalaireDto();
            EmployeSalaireDto empSalSpe = new EmployeSalaireDto();
            IEnumerable <EmployePrelevementDto> empPrelReg;
            IEnumerable <EmployePrelevementDto> empPrelSpe;
            IEnumerable <CongeDto> empConges;

            EmployeManager empMan = new EmployeManager();

            empMan.GetEmployeDetailsByID(longEmployeID, out emp, out empSalReg, out empSalSpe, out empConges,
                                         out empPrelReg, out empPrelSpe);

            SetInformationPersonnelles(emp);
            SetSalaireRegulier(empSalReg);
            SetConges(empConges);
            SetPrelevementsReguliers(empPrelReg);
            // Renseigner les champs du Salaire Spécial et des Prélèvements correspondant si le type de l'employe est "Special"
            if (emp.TypeEmployeID == (int)LookupEnum.TypeEmploye.Special)
            {
                SetSalaireSpecial(empSalSpe);
                SetPrelevementsSpecials(empPrelSpe);
            }
        }
示例#3
0
        //**************************************************************************************************
        // récupération propriétés utilisateur connecté sur le pc
        //**************************************************************************************************
        void recupererUtilisateurConnecte()
        {
            Employe employe = new Employe();

            // récupération du groupe de l'utilisateur
            if (VIA_ACTIVE_DIRECTORY == false)
            {
                // on est en local
                // Jeu de test
                UtilisateurConnecte.Login  = employe.LoginE = "administrateur";
                UtilisateurConnecte.Prenom = employe.Prenom = "Sa";
                UtilisateurConnecte.Nom    = employe.Nom = "ROOT";
                //UtilisateurConnecte.Groupe = employe.Groupe = "Inconnu";
                UtilisateurConnecte.Groupe = employe.Groupe = "Administration";
                //UtilisateurConnecte.Groupe = employe.Groupe = "Dispatcher";
                //UtilisateurConnecte.Groupe = employe.Groupe = "Commercial";
                //UtilisateurConnecte.Groupe = employe.Groupe= "Informatique";
                //UtilisateurConnecte.Groupe = employe.Groupe= "Recherche";
            }
            else
            {
                // on est sur l'AD
                // récupération information employé connecté sur AD
                InfoActiveDirectory infoActiveDirectory = new InfoActiveDirectory();
                employe = infoActiveDirectory.getEmployeFromAD(Environment.UserName);
            }
            if (employe != null)
            {
                UtilisateurConnecte.Groupe = employe.Groupe;
                UtilisateurConnecte.Login  = employe.LoginE;
                // on persiste cet employé en BDD local
                try
                {
                    using (EmployeManager employeManager = new EmployeManager())
                    {
                        employeManager.ajoutModifEmploye(ref employe);
                        validMenu(employe.Groupe);
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
示例#4
0
        protected void FindAndContinueButton_Click(object sender, EventArgs ev)
        {
            // Cette recherche retrouve l'employé directement à partir du numéro interne
            // et charge la forme initialement prévue directement

            Int64?EmployeId;
            // Vérifier que le url de la forme pour laquelle on recherche l'employé est correct
            var transferUrl = HttpUtility.UrlEncode(Request.QueryString["TransferUrl"]);

            if (String.IsNullOrEmpty(transferUrl))
            {
                UctMessage.Show(UserControls.MessageType.Error, @"Oops... aucune suite n'est prévue après la recherche. Recommencer à partir du menu principal.");
            }
            else
            {
                // Valider le contenu du champ du numéro interne de l'employé
                List <String>  errorMessages = new List <string>(); // Pour conserver les messages d'erreurs éventuels
                EmployeManager empMan        = new EmployeManager();
                int            compagnieId   = SessionHelper.GetCompanyIDFromSession(HttpContext.Current);
                int            numeroEmploye;
                if (empMan.IsSearchValid(TxbNumeroInterne.Text.Trim(), out numeroEmploye, ref errorMessages))
                {
                    EmployeId = empMan.GetEmployeID(compagnieId, numeroEmploye);
                    // Si EmployeId n'est pas null continuer, autrement afficher message erreur
                    if (EmployeId != null)
                    {
                        // Transférer vers la page qui avait été appelée au préalable
                        Response.Redirect(transferUrl + "?EmployeID=" + EmployeId.ToString());
                    }
                    else
                    {
                        HideGridView();
                        UctMessage.Show(UserControls.MessageType.Error, @"Oops... aucun employé ne correspond à ce numéro.");
                    }
                }
                else
                {
                    HideGridView();
                    UctMessage.Show(UserControls.MessageType.Error, @"Oops... des erreurs sont survenues:", errorMessages);
                }
            }
        }
示例#5
0
        //*****************************************************************************************************************
        // pour chaque employé il faut :
        // lire le fichier contenant les données à placer dans la table employé (employes.csv)
        // faire un split de chaque ligne du fichier représentant un employé
        // peupler une entité employé et la persister en BDD
        // (inutile dès que l'application est sur l'active directory)
        private void peuplerTableEmploye()
        {
            Employe employe = new Employe();

            using (EmployeManager employeManager = new EmployeManager())
            {
                // Lire chaque ligne du fichier.
                // Chaque élément du tableau représente une ligne du fichier
                String[] tabLines = System.IO.File.ReadAllLines(@"..\..\..\DonneesInitialesBdd\employes.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
                    employe.LoginE = str[0];
                    employe.Prenom = str[1];
                    employe.Nom    = str[2];
                    employe.Groupe = str[3];
                    // On persiste l'entité en BDD
                    employeManager.ajoutModifEmploye(ref employe);
                }
            }
        }
示例#6
0
        protected void CreateEmployeeButton_Click(object sender, EventArgs ev)
        {
            //Vérifier d'abord que les validations au niveau du formulaire sont correctes
            if (IsValid)
            {
                //Remplir les Dto avec les données du formulaire pour permettre la validation et la sauvegarde
                EmployeDto                   emp = FillEmployeDto();
                EmployeSalaireDto            empSalaireRegulier     = FillEmployeSalaireRegulierDto();
                List <CongeDto>              empConges              = FillCongeDto();
                List <EmployePrelevementDto> empPrelevementRegulier = FillPrelevementRegulierDto();

                // Remplir les Dto dans le cas d'un employé spécial
                EmployeSalaireDto            empSalaireSpecial     = null;
                List <EmployePrelevementDto> empPrelevementSpecial = null;
                if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special)
                {
                    empSalaireSpecial     = FillEmployeSalaireSpecialDto();
                    empPrelevementSpecial = FillPrelevementSpecialDto();
                }

                //Validation des règles (business rules)
                List <String> errorMessages = new List <string>(); // Pour conserver les messages d'erreurs éventuels
                // Validation employé données personnelles
                bool isValidEmp = new EmployeManager().IsValid(emp, ref errorMessages);
                // Validation salaire régulier
                bool isValidSalReg = new EmployeSalaireManager().IsValid(empSalaireRegulier, ref errorMessages);
                // Validation salaire spécial si on a à faire à ce type d'employé
                bool isValidSalSpe = true;
                if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special)
                {
                    isValidSalSpe = new EmployeSalaireManager().IsValid(empSalaireSpecial, ref errorMessages);
                }
                // Validation congés
                bool isValidConge = true;
                isValidConge = new CongeManager().IsValid(empConges, ref errorMessages);

                //Validation prélèvements régulier
                bool isValidPrelevementRegulier = new EmployePrelevementManager().IsValid(empPrelevementRegulier, ref errorMessages);
                // Validation prélèvements spécial si on a à faire à ce type d'employé
                bool isValidPrelevementSpecial = true;
                if (Int32.Parse(DdlTypeEmploye.SelectedValue) == (int)LookupEnum.TypeEmploye.Special)
                {
                    isValidPrelevementSpecial = new EmployePrelevementManager().IsValid(empPrelevementRegulier, ref errorMessages);
                }

                // Si les données sont correctes, sauvegarder les, sinon afficher les messages d'erreurs
                if (isValidEmp && isValidSalReg && isValidSalSpe && isValidConge && isValidPrelevementRegulier && isValidPrelevementSpecial)
                {
                    EmployeManager empMan = new EmployeManager();
                    //Insérer ou mettre à jour
                    if (_isEdit)
                    {
                        emp.EmployeID = Int64.Parse(Request.QueryString["Id"]);
                        empMan.UpdateEmploye(emp, empSalaireRegulier, empSalaireSpecial, empConges,
                                             empPrelevementRegulier, empPrelevementSpecial);
                        UctMessage.Show(UserControls.MessageType.Success,
                                        String.Format("L'employé {0} {1} a été mise à jour avec succès.", emp.Prenom, emp.Nom));
                    }
                    else
                    {
                        int numInterne = empMan.AddEmploye(emp, empSalaireRegulier, empSalaireSpecial, empConges,
                                                           empPrelevementRegulier, empPrelevementSpecial);
                        UctMessage.Show(UserControls.MessageType.Success,
                                        String.Format("L'employé {0} {1} a été créé avec succès. Son numéro interne est: {2}", emp.Prenom, emp.Nom, numInterne));
                        //Nettoyer la forme pour prochaine saisie
                        CleanForm();
                    }
                }
                else
                {
                    UctMessage.Show(Payroll.UserControls.MessageType.Error, @"Oops... des erreurs sont survenues:", errorMessages);
                }
            }
        }