private bool TeamNameEquals(TeamV other, string description, TeamNameType teamNameType, LanguageType languageType) { var existingEntity = other.TeamNames.FirstOrDefault(f => f.TeamNameType == teamNameType && f.LanguageType == languageType); if (!string.IsNullOrWhiteSpace(description)) { if (existingEntity == null) { return(false); } if (existingEntity.Description != description) { return(false); } } else { if (existingEntity != null) { return(false); } } return(true); }
private static void SyncTeamName(this TeamV teamV, IRepositoryProvider dbProvider, string description, TeamNameType teamNameType, LanguageType languageType) { var existingEntity = teamV.TeamNames.FirstOrDefault(f => f.TeamNameType == teamNameType && f.LanguageType == languageType); if (!string.IsNullOrWhiteSpace(description)) { if (existingEntity != null) { existingEntity.Description = description.Trim(); } else { var newTeamName = new TeamName() { PrimaryKey = Guid.NewGuid(), TeamVKey = teamV.PrimaryKey, TeamNameType = teamNameType, LanguageType = languageType, Description = description.Trim() }; teamV.TeamNames.Add(newTeamName); dbProvider.Attach(teamV); } } else { if (existingEntity != null) { teamV.TeamNames.Remove(existingEntity); } } }
public static string GetTeamName(this TeamV teamV, TeamNameType teamNameType, LanguageType languageType) { var teamName = teamV.TeamNames.FirstOrDefault(w => w.TeamNameType == teamNameType && w.LanguageType == languageType); return(teamName != null ? teamName.Description : string.Empty); }