protected override IEnumerable <IIdentityUserLogin> PerformGetByQuery(IQuery <IIdentityUserLogin> query) { var sqlClause = GetBaseQuery(false); var translator = new SqlTranslator <IIdentityUserLogin>(sqlClause, query); var sql = translator.Translate(); var dtos = Database.Fetch <ExternalLoginDto>(sql); foreach (var dto in dtos) { yield return(ExternalLoginFactory.BuildEntity(dto)); } }
/// <summary> /// Query for user tokens /// </summary> /// <param name="query"></param> /// <returns></returns> public IEnumerable <IIdentityUserToken> Get(IQuery <IIdentityUserToken> query) { Sql <ISqlContext> sqlClause = GetBaseTokenQuery(false); var translator = new SqlTranslator <IIdentityUserToken>(sqlClause, query); Sql <ISqlContext> sql = translator.Translate(); List <ExternalLoginTokenDto> dtos = Database.Fetch <ExternalLoginTokenDto>(sql); foreach (ExternalLoginTokenDto dto in dtos) { yield return(ExternalLoginFactory.BuildEntity(dto)); } }
protected override IIdentityUserLogin PerformGet(int id) { var sql = GetBaseQuery(false); sql.Where(GetBaseWhereClause(), new { id = id }); var dto = Database.Fetch <ExternalLoginDto>(SqlSyntax.SelectTop(sql, 1)).FirstOrDefault(); if (dto == null) { return(null); } var entity = ExternalLoginFactory.BuildEntity(dto); // reset dirty initial properties (U4-1946) entity.ResetDirtyProperties(false); return(entity); }
protected override IIdentityUserLogin PerformGet(int id) { var sql = GetBaseQuery(false); sql.Where(GetBaseWhereClause(), new { Id = id }); var macroDto = Database.Fetch <ExternalLoginDto>(sql).FirstOrDefault(); if (macroDto == null) { return(null); } var factory = new ExternalLoginFactory(); var entity = factory.BuildEntity(macroDto); //on initial construction we don't want to have dirty properties tracked // http://issues.umbraco.org/issue/U4-1946 ((TracksChangesEntityBase)entity).ResetDirtyProperties(false); return(entity); }