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