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); } } }
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); } }
//************************************************************************************************** // 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) { } } }
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); } } }
//***************************************************************************************************************** // 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); } } }
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); } } }