public Project Clone() { var clone = new Project { Id = (string)Id.Clone(), Name = (string)Name.Clone(), IsActive = IsActive, LiftImported = LiftImported, AutocompleteSetting = AutocompleteSetting, VernacularWritingSystem = VernacularWritingSystem.Clone(), AnalysisWritingSystems = new List <WritingSystem>(), SemanticDomains = new List <SemanticDomain>(), ValidCharacters = new List <string>(), RejectedCharacters = new List <string>(), CustomFields = new List <CustomField>(), WordFields = new List <string>(), PartsOfSpeech = new List <string>(), InviteTokens = new List <EmailInvite>() }; foreach (var aw in AnalysisWritingSystems) { clone.AnalysisWritingSystems.Add(aw.Clone()); } foreach (var sd in SemanticDomains) { clone.SemanticDomains.Add(sd.Clone()); } foreach (var cs in ValidCharacters) { clone.ValidCharacters.Add((string)cs.Clone()); } foreach (var cs in RejectedCharacters) { clone.RejectedCharacters.Add((string)cs.Clone()); } foreach (var cf in CustomFields) { clone.CustomFields.Add(cf.Clone()); } foreach (var wf in WordFields) { clone.WordFields.Add((string)wf.Clone()); } foreach (var pos in PartsOfSpeech) { clone.PartsOfSpeech.Add((string)pos.Clone()); } foreach (var it in InviteTokens) { clone.InviteTokens.Add(it.Clone()); } return(clone); }
public Project Clone() { var clone = new Project { Id = Id.Clone() as string, Name = Name.Clone() as string, VernacularWritingSystem = VernacularWritingSystem.Clone() as string, SemanticDomains = new List <SemanticDomain>(), AnalysisWritingSystems = new List <string>(), ValidCharacters = new List <string>(), RejectedCharacters = new List <string>(), CustomFields = new List <CustomField>(), WordFields = new List <string>(), PartsOfSpeech = new List <string>() }; foreach (var sd in SemanticDomains) { clone.SemanticDomains.Add(sd.Clone()); } foreach (var aws in AnalysisWritingSystems) { clone.AnalysisWritingSystems.Add(aws.Clone() as string); } foreach (var cs in ValidCharacters) { clone.ValidCharacters.Add(cs.Clone() as string); } foreach (var cs in RejectedCharacters) { clone.RejectedCharacters.Add(cs.Clone() as string); } foreach (var cf in CustomFields) { clone.CustomFields.Add(cf.Clone()); } foreach (var wf in WordFields) { clone.WordFields.Add(wf.Clone() as string); } foreach (var pos in PartsOfSpeech) { clone.PartsOfSpeech.Add(pos.Clone() as string); } return(clone); }