def add_group(): return facade.add("groups", Group(generate_group_name(), create_id_list(lambda: add_student())))
def add_employee(): return facade.add("employees", Employee(generate_person_name(), generate_surname(), generate_patronymic(), generate_id(), "сотрудник"))
def add_head(): return facade.add("heads", Employee(generate_person_name(), generate_surname(), generate_patronymic(), generate_id(), "руководитель"))
def add_student(): return facade.add("students", Student(generate_person_name(), generate_surname(), generate_patronymic(), generate_id(), 1600))
def add_teacher(): return facade.add("teachers", Person(generate_person_name(), generate_surname(), generate_patronymic(), generate_id()))
def add_scientific_educational(): return facade.add("scientific_educational", Scientific_Educational(create_id_list(lambda: add_megaFaculty())))
def add_university(): facade.add("university", University("ИТМО", generate_id(), add_head(), add_address(), [add_administrative(), add_scientific_educational()]))
def add_unit(name): return facade.add(name, Unit(name, generate_id(), create_id_list(lambda: add_employee()), add_head()))
def add_administrative(): return facade.add("administrative", Administrative(add_unit("ректорат"), add_unit("бухгалтерия")))
def add_address(): return facade.add("address", Address("Санкт-Петербург", "Кроверский проспект 49", "197101"))
def add_megaFaculty(): return facade.add("megaFaculties", Faculty(generate_name("мегафакультет"), generate_id(), add_head(), create_id_list(lambda: add_employee()), create_id_list(lambda: add_faculty())))
def add_chair(): return facade.add("chairs", Chair(generate_name("Кафедра"), generate_id(), add_head(), create_id_list(lambda: add_teacher()), create_id_list(lambda: add_eduProgram())))
def add_eduProgram(): return facade.add("eduPrograms", EduProgram(generate_name("Образовательная программа"), add_studyYear()))
def add_studyYear(): return facade.add("studyYear", StudyYear("2018/2019", create_id_list(lambda: add_group())))