Пример #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
        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);
                }
            }
        }
Пример #3
0
 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);
         }
     }
 }
Пример #4
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);
                }
            }
        }