public ProjectModel(Project project) { this.id = project.id; this.information = new List<ProjectElement_Information>(); this.documents = new List<ProjectElement_Document>(); this.experience = new List<ProjectElement_Experience>(); this.pictures = new List<ProjectElement_Picture>(); this.videos = new List<ProjectElement_Video>(); this.audio = new List<ProjectElement_Audio>(); this.name = project.name; this.coverPicture = project.coverPicture; this.coverPictureThumbnail = project.coverPictureThumbnail; this.description = project.description; this.isActive = project.isActive; this.projectElementOrder = project.projectElementOrder; TagManager tm = new TagManager(); this.projectTags = tm.getAllProjectTags(project.id); foreach(ProjectElement element in project.projectElements){ if (element.GetType() == typeof(ProjectElement_Document)) { this.documents.Add((ProjectElement_Document)element); } else if (element.GetType() == typeof(ProjectElement_Experience)) { this.experience.Add((ProjectElement_Experience)element); } else if (element.GetType() == typeof(ProjectElement_Information)) { this.information.Add((ProjectElement_Information)element); } else if (element.GetType() == typeof(ProjectElement_Picture)) { this.pictures.Add((ProjectElement_Picture)element); } else if (element.GetType() == typeof(ProjectElement_Video)) { this.videos.Add((ProjectElement_Video)element); } else if (element.GetType() == typeof(ProjectElement_Audio)) { this.audio.Add((ProjectElement_Audio)element); } } }