public ActionResult DepartmentMeritSummary(string id) { if (User.IsInRole("manage-all") || User.IsInRole("read-" + id)) { var department = DbContext.Departments .Include("Unit") .Where(d => d.Id == id) .ToList()[0]; var salaries = DbContext.Salaries .Include("Person") .Include("Person.Employments") .Where(s => s.Person.Employments.Any(e => e.DepartmentId == id)) .OrderBy(s => s.RankType.SequenceValue) .ThenBy(s => s.Person.LastName) .ToList(); var package = new ExcelPackage(); var departments = new List<Department>() { department }; var report = new MeritSummaryReport(package, departments, salaries, false); return File(report.Package.GetAsByteArray(), report.FileType, report.FileName); } return new HttpUnauthorizedResult(); }
public ActionResult UnitMeritSummary(string id) { var authorizedDepartments = GetAuthorizedDepartments(id); if (authorizedDepartments.Count > 0) { var salaries = DbContext.Salaries .Include("Person") .Include("Person.Employments") .Where(s => s.Person.Employments.Any(e => e.Department.UnitId == id)) .OrderBy(s => s.RankType.SequenceValue) .ThenBy(s => s.Person.LastName) .ToList(); var package = new ExcelPackage(); var report = new MeritSummaryReport(package, authorizedDepartments, salaries, true); return File(report.Package.GetAsByteArray(), report.FileType, report.FileName); } return new HttpUnauthorizedResult(); }