private static Employee GetSuperior(DataContext ctx, WorkRole workRole) { if (WorkRole.BusinessAnalyst == workRole || WorkRole.TeamLeader == workRole || WorkRole.HumanResourceManager == workRole || WorkRole.ProjectManager == workRole || WorkRole.OfficeAssistant == workRole) { return(ctx.Employees.SingleOrDefault(e => e.WorkRole == WorkRole.CEO)); } else if (WorkRole.SoftwareTester == workRole || WorkRole.SoftwareEngineer == workRole) { return(ctx.Employees.SingleOrDefault(e => e.WorkRole == WorkRole.TeamLeader)); } else if (WorkRole.CEO == workRole) { throw new CeoSuperiorException(); } throw new InvalidWorkRoleException(workRole.ToString()); }
private static OrganizationUnit GetOrganizationUnit(DataContext ctx, WorkRole workRole) { if (WorkRole.BusinessAnalyst == workRole || WorkRole.CEO == workRole || WorkRole.HumanResourceManager == workRole || WorkRole.ProjectManager == workRole) { return(ctx.OrganizationUnits.SingleOrDefault(o => o.Abbreviation == "MGT")); } else if (WorkRole.SoftwareTester == workRole || WorkRole.SoftwareEngineer == workRole || WorkRole.TeamLeader == workRole) { return(ctx.OrganizationUnits.SingleOrDefault(o => o.Abbreviation == "IT")); } else if (WorkRole.OfficeAssistant == workRole) { return(ctx.OrganizationUnits.SingleOrDefault(o => o.Abbreviation == "BO")); } throw new InvalidWorkRoleException(workRole.ToString()); }