private TopEarnerModel GetTopEarner(PaycheckModel paycheck)
        {
            var topEarner = new TopEarnerModel
            {
                FirstName   = paycheck.FirstName,
                GrossPay    = paycheck.GrossPay,
                LastName    = paycheck.LastName,
                YearsWorked = GetYearsWorked(paycheck.StartDate)
            };

            return(topEarner);
        }
        public List <TopEarnerModel> GetTopEarners(List <PaycheckModel> paychecks)
        {
            var topEarnersPaychecks = GetTopEarnersPaychecks(paychecks);
            var topEarners          = new List <TopEarnerModel>();

            foreach (var paycheck in topEarnersPaychecks)
            {
                TopEarnerModel topEarner = GetTopEarner(paycheck);
                topEarners.Add(topEarner);
            }

            topEarners = topEarners.OrderByDescending(x => x.YearsWorked).ThenBy(x => x.LastName).ThenBy(x => x.FirstName).ToList();
            DocumentService.CreateTopEarnersDocument(topEarners);
            return(topEarners);
        }
Example #3
0
        public static List <TopEarnerModel> getSortedListGrossLastNameFirstName(EmployeePayrollEntry[] entries)
        {
            List <TopEarnerModel> topEarnerList = new List <TopEarnerModel>();

            for (int i = 0; i < entries.Length; i++)
            {
                EmployeePayrollEntry entry  = entries[i];
                TopEarnerModel       earner = new TopEarnerModel();
                earner.lastName       = entry.lastName;
                earner.firstName      = entry.firstName;
                earner.numYearsWorked = getNumYearsWorked(entry.startDate);
                earner.grossPay       = entry.getPeriodGrossPay();
                topEarnerList.Add(earner);
            }

            var top = topEarnerList.OrderBy(e => e.grossPay).
                      ThenBy(e => e.lastName).
                      ThenBy(e => e.firstName).
                      ToList();

            return(top);
        }