2021-04-07 13:15:16 +10:00
|
|
|
class Usecase:
|
|
|
|
|
def __init__(self, file, **settings):
|
|
|
|
|
self.file = file
|
2021-04-29 02:43:14 +00:00
|
|
|
self.settings = {"work_calendar": None, "time_type": None}
|
2021-04-07 13:15:16 +10:00
|
|
|
for key, value in settings.items():
|
|
|
|
|
self.settings[key] = value
|
|
|
|
|
|
|
|
|
|
def execute(self):
|
2021-04-29 02:43:14 +00:00
|
|
|
work_time = self.file.create_entity("IfcWorkTime")
|
2021-04-07 13:15:16 +10:00
|
|
|
if self.settings["type"] == "WorkingTimes":
|
|
|
|
|
working_times = list(self.settings["work_calendar"].WorkingTimes or [])
|
|
|
|
|
working_times.append(work_time)
|
|
|
|
|
self.settings["work_calendar"].WorkingTimes = working_times
|
|
|
|
|
elif self.settings["type"] == "ExceptionTimes":
|
|
|
|
|
exception_times = list(self.settings["work_calendar"].ExceptionTimes or [])
|
|
|
|
|
exception_times.append(work_time)
|
2021-04-08 08:57:45 +10:00
|
|
|
self.settings["work_calendar"].ExceptionTimes = exception_times
|
2021-04-07 13:15:16 +10:00
|
|
|
return work_time
|