Beispiel #1
0
        /// <summary>
        /// les donnee concernant une salaire
        /// </summary>
        public PayrollCard (Payroll payroll)
        {
            PayrollGuid=payroll.PayrollGuid;
            Designation=payroll.Designation;
            IsPaid = payroll.IsPaid;
            TotalSalary = 0;

            Employment employ;
            using (var db = new StationContext()) employ=db.Employments.Find(payroll.EmploymentGuid);

            var payrollStart = employ.SalaryRecurrence == InstallmentRecurrence.Once ? employ.StartDate.GetValueOrDefault() 
                               : payroll.PaycheckDate.GetValueOrDefault().AddMonths(-((int)employ.SalaryRecurrence));

            switch (employ.PayType)
            {
                case PayType.HoursTaught:
                    //TotalSalary=PayrollManager.StaticGetTeachingSalary(employ.StaffGuid, payrollStart, payroll.PaycheckDate, true);
                    RenumerationsCards.Add(new ViewCard {
                        Info1="Heures Enseignées",
                        //Info2=StudyManager.StaticGetHoursTaught(employ.StaffGuid, payrollStart, payroll.PaycheckDate, true).TotalHoursMins(),
                        Info3=TotalSalary.ToString("0.##", CultureInfo.CurrentCulture)+ " dhs"
                    });
                    break;
                //case PayType.HoursWorked:
                //    TotalSalary=(payroll.HoursWorked.TotalMinutes*(employ.HourlyPay/60));
                //    RenumerationsCards.Add(new DataCard {
                //        Info1="Heures Travaillées",
                //        Info2=payroll.HoursWorked.TotalHoursMins(),
                //        Info3=TotalSalary.ToString("0.##", CultureInfo.CurrentCulture)+" dhs"
                //    });
                //    break;
            }

            foreach (var salary in PayrollManager.StaticGetSalaries(employ.EmploymentGuid, payrollStart, payroll.PaycheckDate)) {
                RenumerationsCards.Add(new ViewCard(salary));
                TotalSalary+= salary.Remuneration;
            }

            if (payroll.PaycheckDate > DateTime.Today)
                TotalSalaryString="Estimation: "+TotalSalary.ToString("0.##", CultureInfo.CurrentCulture)+" dhs";
            else
                TotalSalaryString="Total: "+TotalSalary.ToString("0.##", CultureInfo.CurrentCulture)+" dhs";         

            if (!payroll.IsPaid) return;
            TotalSalary = payroll.FinalPaycheck;
            TotalSalaryString ="Paid: "+TotalSalary.ToString("0.##", CultureInfo.CurrentCulture)+" dhs";
            NumeroReference="Ref: "+payroll.NumeroReference;
            Observations = "Finance User ("+payroll.DatePaid.GetValueOrDefault().ToShortDateString()+")";    //+" par "+payroll.PaymentMethode.GetEnumDescription();
            YesNoColor ="Blue";
        }
Beispiel #2
0
        /// <summary>
        /// Verifie L'existence d'une payroll
        /// </summary>
        /// <param name="payroll"></param>
        /// <returns>True pour oui</returns>
        protected internal static bool PayRollExist(Payroll payroll)
        {
            using (var db = new StationContext())
            {
                if (db.Payrolls.Find(payroll.PayrollGuid) != null) return true;

                return db.Payrolls.Any(r => r.EmploymentGuid == payroll.EmploymentGuid &&
                                            r.Designation.Equals(payroll.Designation)  &&
                                            r.PaycheckDate == payroll.PaycheckDate);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Ajouter un Payroll
        /// </summary>
        /// <returns></returns>
        protected internal static bool StaticAddPayRoll(Payroll payRoll)
        {
            if (PayRollExist(payRoll)) return true;
 
            using (var db = new StationContext())
            {
                if (payRoll.PayrollGuid == Guid.Empty) payRoll.PayrollGuid = Guid.NewGuid();

                payRoll.DateAdded        = DateTime.Now;
                payRoll.AddUserGuid      = Guid.Empty;
                payRoll.LastEditDate     = DateTime.Now;
                payRoll.LastEditUserGuid = Guid.Empty;

                db.Payrolls.Add(payRoll);
                return db.SaveChanges() > 0;
            }
        }