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); } } }
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); } } }
protected void Page_Load(object sender, EventArgs e) { // Afficher un message d'erreur qui dépend de la valeur de la variable ErrorType if (!IsPostBack) { var errorType = HttpUtility.UrlEncode(Request.QueryString["ErrorType"]); if (!String.IsNullOrEmpty(errorType)) { string errorMessage = String.Empty; int intErrorType; if (Int32.TryParse(errorType, out intErrorType)) { switch (intErrorType) { case 1: errorMessage = @"Les données attendues n'ont pas été reconnues"; break; } } UctMessage.Show(UserControls.MessageType.Error, errorMessage); } } }
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); } } }