/// <summary> /// /// </summary> /// <returns></returns> public IEnumerable <MembershipEntity> Get(MembershipsCriteria criteria, DbConnection connection, DbTransaction transaction) { var reader = default(DbDataReader); try { reader = MembershipsGateway.Select(criteria, connection, transaction); var memberships = KandaDbDataMapper.MapToEnumerable <MembershipEntity>(reader); return(memberships); } finally { if (reader != null) { reader.Close(); } } }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="password"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public MembershipUser Find(string name, string password, DbConnection connection, DbTransaction transaction) { var reader = default(KandaDbDataReader); try { reader = MembershipsGateway.Select(name, password, connection, transaction); var membership = (reader.Read() ? KandaDbDataMapper.MapToObject <MembershipEntity>(reader) : default(MembershipEntity)); return(new KandaMembershipUser(membership)); } finally { if (reader != null) { reader.Close(); } } }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public MembershipEntity Find(long id, DbConnection connection, DbTransaction transaction) { var reader = default(KandaDbDataReader); try { reader = MembershipsGateway.Select(id, connection, transaction); if (!reader.Read()) { return(null); } return(KandaDbDataMapper.MapToObject <MembershipEntity>(reader)); } finally { if (reader != null) { reader.Close(); } } }
/// <summary> /// /// </summary> /// <param name="criteria"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public MembershipEntity Find(MembershipsCriteria criteria, DbConnection connection, DbTransaction transaction) { var password = criteria.Password; if (password == null) { this.DoNothing(); } else { if (criteria.Password is SecureString) { password = ((SecureString)criteria.Password).GetString(); } var hash = KandaHashAlgorithm.ComputeHash(typeof(SHA512Managed).FullName, (string)password, Encoding.Unicode); password = hash; } criteria.Password = password; var reader = default(KandaDbDataReader); try { reader = MembershipsGateway.Select(criteria, connection, transaction); var found = (reader.Read() ? KandaDbDataMapper.MapToObject <MembershipEntity>(reader) : MembershipEntity.Empty); return(found); } finally { if (reader != null) { reader.Close(); } } }