diff --git a/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/Actions/GetFreeEmployeesAction.cs b/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/Actions/GetFreeEmployeesAction.cs index 12f45fac..4c260cec 100644 --- a/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/Actions/GetFreeEmployeesAction.cs +++ b/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/Actions/GetFreeEmployeesAction.cs @@ -51,7 +51,7 @@ public override async Task BeginDialogAsync(DialogContext dc, { employee.NormalizeAppointments(dc); var nextUnavailability = EmployeesHelper.GetNextUnavailability(employee, date, out var freeDays); - int billableDays = EmployeesHelper.GetTotalBilledDays(employee.Projects, out var billableHours); + int billableDays = EmployeesHelper.GetBilledDays(employee, employee.Projects.FirstOrDefault(), out var billableHours); return new FreeEmployeeModel { FirstName = employee.FirstName, diff --git a/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/EmployeesHelper.cs b/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/EmployeesHelper.cs index 3e9b6c1b..041314b4 100644 --- a/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/EmployeesHelper.cs +++ b/bots/employee-finder/src/SSW.SophieBot.HttpClientComponents.PersonQuery/EmployeesHelper.cs @@ -52,7 +52,7 @@ public static List GetBillableEmployees( foreach (var employeeProject in employeeProjects) { double billableHours = employeeProject.BillableHours; - int billedDays = GetBilledDays(billableHours); + int billedDays = GetBilledDays(e, employeeProject, out billableHours); billedProjects.Add(new BilledProject { BilledDays = billedDays, @@ -174,28 +174,44 @@ public static BookingStatus GetBookingStatus(GetEmployeeModel employee, DateTime return BookingStatus.Unknown; } - public static int GetBilledDays(double billableHours) - { - const int HOURS_PER_DAY = 8; - - return (int)Math.Ceiling(billableHours / HOURS_PER_DAY); - } - - public static int GetTotalBilledDays(List Projects, out double billableHours) - { - billableHours = 0; - - if (Projects == null || !Projects.Any()) - { - return 0; - } - - foreach (var project in Projects) - { - billableHours += project.BillableHours; - } - - return GetBilledDays(billableHours); + // public static int GetBilledDays(double billableHours) + // { + // const int HOURS_PER_DAY = 8; + // + // return (int)Math.Ceiling(billableHours / HOURS_PER_DAY); + // } + // + // public static int GetTotalBilledDays(List Projects, out double billableHours) + // { + // billableHours = 0; + // + // if (Projects == null || !Projects.Any()) + // { + // return 0; + // } + // + // foreach (var project in Projects) + // { + // billableHours += project.BillableHours; + // } + // + // return GetBilledDays(billableHours); + // } + + public static int GetBilledDays(GetEmployeeModel employee, GetEmployeeProjectModel project, out double billableHours) + { + + + if (project != null && project.CustomerName != "SSW") + { + billableHours = project?.BillableHours ?? 0; + } + else { + billableHours = 0; + } + + + return billableHours == 0 ? 0 : (int)Math.Ceiling(billableHours / 8); } public static int GetBookedDays(GetEmployeeModel employee, DateTime startDate)