public ISurgeonGroupNumberAssignedActiveDaysResultElement Calculate(
     ISurgeonGroupNumberAssignedActiveDaysResultElementFactory surgeonGroupNumberAssignedActiveDaysResultElementFactory,
     IsIndexElement sIndexElement,
     ITPz z)
 {
     return(surgeonGroupNumberAssignedActiveDaysResultElementFactory.Create(
                sIndexElement,
                z.Value
                .Where(i => i.sIndexElement == sIndexElement && i.Value)
                .Select(i => i.aIndexElement.Value.ToDateTimeOffset(TimeSpan.Zero).UtcDateTime.DayOfWeek)
                .Distinct()
                .Count()));
 }
 public ISurgeonGroupNumberAssignedActiveDays Calculate(
     ISurgeonGroupNumberAssignedActiveDaysResultElementFactory surgeonGroupNumberAssignedActiveDaysResultElementFactory,
     ISurgeonGroupNumberAssignedActiveDaysFactory surgeonGroupNumberAssignedActiveDaysFactory,
     ISurgeonGroupNumberAssignedActiveDaysResultElementCalculation surgeonGroupNumberAssignedActiveDaysResultElementCalculation,
     Is s,
     ITPz z)
 {
     return(surgeonGroupNumberAssignedActiveDaysFactory.Create(
                s.Value
                .Select(w => surgeonGroupNumberAssignedActiveDaysResultElementCalculation.Calculate(
                            surgeonGroupNumberAssignedActiveDaysResultElementFactory,
                            w,
                            z))
                .ToImmutableList()));
 }
        public ISurgeonGroupNumberAssignedActiveDaysResultElementFactory CreateSurgeonGroupNumberAssignedActiveDaysResultElementFactory()
        {
            ISurgeonGroupNumberAssignedActiveDaysResultElementFactory factory = null;

            try
            {
                factory = new SurgeonGroupNumberAssignedActiveDaysResultElementFactory();
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(factory);
        }