/// <summary> /// /// </summary> /// <param name="entity"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <param name="status"></param> /// <returns></returns> public bool Create(MembershipEntity entity, DbConnection connection, DbTransaction transaction, out MembershipCreateStatus status) { status = MembershipCreateStatus.ProviderError; entity.Password = KandaHashAlgorithm.ComputeHash(typeof(SHA512Managed).FullName, ((SecureString)entity.Password).GetString(), Encoding.Unicode); var error = MembershipsGateway.Insert(entity, connection, transaction); switch (error) { case KandaTableDataGateway.NO_ERRORS: status = MembershipCreateStatus.Success; return(true); case KandaTableDataGateway.DUPLICATE_USER_NAME: status = MembershipCreateStatus.DuplicateUserName; break; //case KandaTableDataGateway.DUPLICATE_PROVIDER_USER_KEY: // status = MembershipCreateStatus.DuplicateProviderUserKey; // break; default: break; } return(false); //return (error == KandaTableDataGateway.NO_ERRORS); }
public async Task SelectAsyncFact() { var connection = this.Factory.CreateConnection(); var transaction = default(DbTransaction); var token = CancellationToken.None; try { connection.Open(); transaction = connection.BeginTransaction(IsolationLevel.Serializable); // 登録 var entity = new MembershipEntity() { ID = 0, Name = string.Format("MembershipsGatewayFacts.FindAsyncFact(new MembershipEntity {{ Name={0} }}) ", new Random().Next()), Password = @"password", Enabled = true, Email = @"*****@*****.**", CreatedOn = DateTime.Now, // UpdatedOn = CreatedOn, }; var inserted = await MembershipsGateway.InsertAsync(entity, connection, transaction, token); Assert.True(0 < inserted); // 取得 var criteria = new MembershipsCriteria() { ID = inserted, }; var selected = await MembershipsGateway.SelectAsync(criteria, connection, transaction, token); Assert.True(selected.Read()); selected.Close(); // 削除 var deleted = await MembershipsGateway.DeleteAsync(inserted, connection, transaction, token); Assert.True(deleted == 1); transaction.Commit(); } catch { if (transaction != null) { transaction.Rollback(); } } finally { if (connection != null) { connection.Close(); } } }
/// <summary> /// /// </summary> /// <param name="entity"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public bool Create(MembershipEntity entity, DbConnection connection, DbTransaction transaction) { if (entity.ID <= 0) { entity.ID = MembershipsGateway.SelectNextID(connection, transaction); } var created = MembershipsGateway.Insert(entity, connection, transaction); return(created == 1); }
/// <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(); } } }
public async Task <MembershipEntity> FindAsync(MembershipsCriteria criteria, DbConnection connection, DbTransaction transaction, CancellationToken token) { var reader = default(DbDataReader); try { reader = await MembershipsGateway.SelectAsync(criteria, connection, transaction, token); var entity = await reader.ReadAsync() ? KandaDataMapper.MapToObject <MembershipEntity>(reader) : MembershipEntity.Empty; return(entity); } 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(); } } }
public async Task InserAsyncFact() { var entity = new MembershipEntity() { ID = 0, Name = string.Format(@"MembershipsGatewayFacts.InserAsyncFact.{0}", new Random().Next()), Password = @"", Enabled = true, CreatedOn = DateTime.Now, }; var connection = this.Factory.CreateConnection(); var transaction = default(DbTransaction); var token = CancellationToken.None; try { connection.Open(); transaction = connection.BeginTransaction(IsolationLevel.Serializable); var inserted = await MembershipsGateway.InsertAsync(entity, connection, transaction, token); Assert.True(0L < inserted); } finally { if (transaction != null) { transaction.Rollback(); } if (connection != null) { connection.Close(); } } }
/// <summary> /// /// </summary> /// <param name="connction"></param> /// <param name="transaction"></param> /// <returns></returns> internal bool Truncate(DbConnection connction, DbTransaction transaction) { var error = MembershipsGateway.Truncate(connction, transaction); return(error == 0); }
/// <summary> /// /// </summary> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> internal bool Delete(DbConnection connection, DbTransaction transaction) { var deleted = MembershipsGateway.Delete(connection, transaction); return(0 <= deleted); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> internal bool Delete(long id, DbConnection connection, DbTransaction transaction) { var deleted = MembershipsGateway.Delete(id, connection, transaction); return(deleted == KandaTableDataGateway.NO_ERRORS); }
/// <summary> /// /// </summary> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public long IdentCurrent(DbConnection connection, DbTransaction transaction) { var current = MembershipsGateway.IdentCurrent(connection, transaction); return(decimal.ToInt64(current)); }
/// <summary> /// /// </summary> /// <param name="entity"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> public bool Update(MembershipEntity entity, DbConnection connection, DbTransaction transaction) { var updated = MembershipsGateway.Update(entity, connection, transaction); return(updated == 1); }
/// <summary> /// / /// </summary> /// <param name="id"></param> /// <param name="connection"></param> /// <param name="transaction"></param> /// <returns></returns> internal bool Delete(long id, DbConnection connection, DbTransaction transaction) { var deleted = MembershipsGateway.Delete(id, connection, transaction); return(deleted == 1); }