public IWardNumberAssignedOperatingRooms Calculate(
     IWardNumberAssignedOperatingRoomsResultElementFactory wardNumberAssignedOperatingRoomsResultElementFactory,
     IWardNumberAssignedOperatingRoomsFactory wardNumberAssignedOperatingRoomsFactory,
     IWardNumberAssignedOperatingRoomsResultElementCalculation wardNumberAssignedOperatingRoomsResultElementCalculation,
     IW W,
     ITPz z)
 {
     return(wardNumberAssignedOperatingRoomsFactory.Create(
                W.Value
                .Select(i => wardNumberAssignedOperatingRoomsResultElementCalculation.Calculate(
                            wardNumberAssignedOperatingRoomsResultElementFactory,
                            i,
                            z))
                .ToImmutableList()));
 }
        public IWardNumberAssignedOperatingRoomsFactory CreateWardNumberAssignedOperatingRoomsFactory()
        {
            IWardNumberAssignedOperatingRoomsFactory factory = null;

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

            return(factory);
        }