Exemplo n.º 1
0
        private void click_enregistre(object sender, RoutedEventArgs e)
        {
            // Envoie des champs en base de données afin de modifier les champs.
            try
            {
                // Mise à jour d'un paye avec tous les champs dans les textbox.
                MySqlPaieService _service = new MySqlPaieService();
               /* Voici ce que le système fait pour nous :
                * _Paie.MontantAllocations = float.Parse(allocation.Text.Replace(".",","));
                _Paie.MontantBrute = float.Parse(Montant.Text.Replace(".", ","));
                _Paie.MontantIndemnite = float.Parse(indemite.Text.Replace(".", ","));
                _Paie.MontantNet = float.Parse(montantNet.Text.Replace(".", ","));
                _Paie.MontantPourboire = float.Parse(pourboire.Text.Replace(".", ","));
                _Paie.MontantPrime = float.Parse(prime.Text.Replace(".", ","));
                _Paie.NombreHeure = float.Parse(heure.Text.Replace(".", ","));
                _Paie.NombreHeureSupp = float.Parse(heureSupp.Text.Replace(".", ","));*/

                if (!_service.updatePay(_Paie))
                {
                    throw new Exception();
                }

                MessageBox.Show("Enregistrement complété.");
                Dictionary<string, object> parametre = new Dictionary<string, object>() { { "paie", _Paie } };
                IApplicationService applicationService = ServiceFactory.Instance.GetService<IApplicationService>();
                applicationService.ChangeView<DetailPaieView>(new DetailPaieView(parametre));
            }catch(Exception){
                MessageBox.Show("Une erreure s'est produite, veuillez recommencer");
            }
        }
Exemplo n.º 2
0
        public float getTauxFederal(float montantBrute, float heure, float heureSupp, String idPeriode)
        {
            MySqlPaieService _service = new MySqlPaieService();
            DataTable Periode;
            Periode = _service.anciennePeriode(idPeriode);
            DateTime start = (DateTime)Periode.Rows[0][0],
                    end = (DateTime)Periode.Rows[0][1];

            TimeSpan t = end - start;
            Double days = t.TotalDays;
            days = 365 / (days + 1);

            return (tauxCombineQC_CA((days * montantBrute)));
        }
Exemplo n.º 3
0
        private void calculeHeureSupp(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Math.Round(Paies.NombreHeureSupp,2) != Math.Round(float.Parse(heureSupp.Text.Replace(".", ",")),2))
                {
                    MySqlPaieService _service = new MySqlPaieService();
                    float tauxHoraire = float.Parse(_service.tauxHorraire(Paies.idEmploye));
                    float heureNormal = float.Parse(heureSupp.Text.Replace(".", ","));

                    float temporaire = (float)((tauxHoraire * 1.5) * Paies.NombreHeureSupp);
                    Paies.MontantBrute -= temporaire;

                    Paies.MontantBrute += (float)((_Paie.NombreHeureSupp = heureNormal) * (tauxHoraire * 1.5));
                    float taux = Paies.getTauxFederal(Paies.MontantBrute, Paies.NombreHeure, Paies.NombreHeureSupp, Paies.idPeriode);
                    Paies.MontantNet = (Paies.MontantBrute * (1 - taux));
                }

            }
            catch (Exception)
            {
                MessageBox.Show("Le montant entré est invalide! format accepté : 00.00");
            }
        }
Exemplo n.º 4
0
        // Fin de la classe de test.
        public void GenererPaies()
        {
            MySqlPaieService _service = new MySqlPaieService();
            DataTable Periode;

            float temps;
            try
            {
                // Aller chercher tous les employés
                MySqlEmployeService _emService = new MySqlEmployeService();
                IList<Employe> emp = _emService.RetrieveAll();
                Periode = _service.PeriodeTemps();

                if (Periode.Rows.Count == 0)
                {
                    throw new Exception("Toutes les périodes de paies ont déjà été générer. Allez en rentré de nouvelle pour la nouvelle année.");
                }
                else
                {
                    DateTime start = (DateTime)Periode.Rows[0][0],
                    end = (DateTime)Periode.Rows[0][1];
                    DateTime date = DateTime.Now;
                    PeriodePaie tmpTime = new PeriodePaie(date, date);
                    if(tmpTime.Fin < end)
                    {
                        throw new Exception("La période que vous essayez de générer est en cours.");
                    }
                    float HeureSupp = 0;
                    int compteurTemps = 0;
                    int totalEmp = emp.Count;
                // Pour chaque employé aller chercher leur temps.
                    foreach (Employe em in emp)
                    {
                        {

                            temps = _service.RetrieveCompteurs(em.ID, start, end);
                            // Vérification dans le cas ou personne n'aurais travailler dans cette période.
                            if(temps == 0)
                            {
                                compteurTemps++;
                                if(compteurTemps == totalEmp)
                                {
                                    StringBuilder mess = new StringBuilder();
                                    mess.Append("Aucune employé à travail durant la période. Cette période à été noté comme généré: ");
                                    mess.Append(start.ToString());
                                    mess.Append(end.ToString());
                                    if (!(_service.periodeGenere(start, end)))
                                    {
                                        throw new Exception("Problème avec l'état des périodes de paie, vérifier que votre période courrante est cohérente.");
                                    }
                                    throw new Exception(mess.ToString());
                                }
                            }
                            else
                            {
                                if (temps > supp)
                                {
                                    HeureSupp = temps - supp;
                                    temps = temps - supp;
                                }

                                float Brute = ((float)em.Salaire * temps) + ((float)em.SalaireOver * HeureSupp);
                                TimeSpan t = end - start;
                                Double days = t.TotalDays;
                                days = 365/(days+1);
                                double EstimatedAnnualSalary = days * Brute;
                                float Net = 0;
                                Net = Brute * (1 - tauxCombineQC_CA((double)(days * Brute)));

                                Paie tmpPaie = new Paie() { MontantBrute = Brute, MontantNet = Net, NombreHeure = temps, NombreHeureSupp = HeureSupp };
                                if (!(_service.periodeGenere(start, end)))
                                {
                                    throw new Exception("Problème avec l'état des périodes de paie, vérifier que votre période courrante est cohérente.");
                                }
                                // Appel  de la fonction de génération de paie.
                                if (!(_service.insertPaie(tmpPaie, start, end, em.ID)))
                                {
                                    throw new Exception("Impossible de générer la paie de " + em.Prenom + " , " + em.Nom + " correctements vérifier les dates de vos périodes de paies.");
                                }
                           }
                        }
                    }
                    // change la période paye à terminé.
                    throw new Exception("Réussite de la génération des paies pour la période de :" + (start.Date).ToString("d") + " au " + (end.Date).ToString("d"));
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }