public ISurgeonNumberAssignedOperatingRooms Calculate(
     ISurgeonNumberAssignedOperatingRoomsResultElementFactory surgeonNumberAssignedOperatingRoomsResultElementFactory,
     ISurgeonNumberAssignedOperatingRoomsFactory surgeonNumberAssignedOperatingRoomsFactory,
     ISurgeonNumberAssignedOperatingRoomsResultElementCalculation surgeonNumberAssignedOperatingRoomsResultElementCalculation,
     Is s,
     Ix x)
 {
     return(surgeonNumberAssignedOperatingRoomsFactory.Create(
                s.Value
                .Select(w => surgeonNumberAssignedOperatingRoomsResultElementCalculation.Calculate(
                            surgeonNumberAssignedOperatingRoomsResultElementFactory,
                            w,
                            x))
                .ToImmutableList()));
 }
        public ISurgeonNumberAssignedOperatingRoomsFactory CreateSurgeonNumberAssignedOperatingRoomsFactory()
        {
            ISurgeonNumberAssignedOperatingRoomsFactory factory = null;

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

            return(factory);
        }