本文整理汇总了C#中ClinicDoctor.Data.TransactionManager类的典型用法代码示例。如果您正苦于以下问题:C# TransactionManager类的具体用法?C# TransactionManager怎么用?C# TransactionManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TransactionManager类属于ClinicDoctor.Data命名空间,在下文中一共展示了TransactionManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BulkInsert
/// <summary>
/// Lets you efficiently bulk insert many entities to the database.
/// </summary>
/// <param name="transactionManager">The transaction manager.</param>
/// <param name="entities">The entities.</param>
/// <remarks>
/// After inserting into the datasource, the ClinicDoctor.Entities.RosterType object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
public override void BulkInsert(TransactionManager transactionManager, TList<ClinicDoctor.Entities.RosterType> entities)
{
//System.Data.SqlClient.SqlBulkCopy bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
System.Data.SqlClient.SqlBulkCopy bulkCopy = null;
if (transactionManager != null && transactionManager.IsOpen)
{
System.Data.SqlClient.SqlConnection cnx = transactionManager.TransactionObject.Connection as System.Data.SqlClient.SqlConnection;
System.Data.SqlClient.SqlTransaction transaction = transactionManager.TransactionObject as System.Data.SqlClient.SqlTransaction;
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(cnx, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints, transaction); //, null);
}
else
{
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
}
bulkCopy.BulkCopyTimeout = 360;
bulkCopy.DestinationTableName = "RosterType";
DataTable dataTable = new DataTable();
DataColumn col0 = dataTable.Columns.Add("Id", typeof(System.Int64));
col0.AllowDBNull = false;
DataColumn col1 = dataTable.Columns.Add("Title", typeof(System.String));
col1.AllowDBNull = false;
DataColumn col2 = dataTable.Columns.Add("IsBooked", typeof(System.Boolean));
col2.AllowDBNull = false;
DataColumn col3 = dataTable.Columns.Add("ColorCode", typeof(System.String));
col3.AllowDBNull = true;
DataColumn col4 = dataTable.Columns.Add("Note", typeof(System.String));
col4.AllowDBNull = true;
DataColumn col5 = dataTable.Columns.Add("IsDisabled", typeof(System.Boolean));
col5.AllowDBNull = false;
DataColumn col6 = dataTable.Columns.Add("CreateUser", typeof(System.String));
col6.AllowDBNull = true;
DataColumn col7 = dataTable.Columns.Add("CreateDate", typeof(System.DateTime));
col7.AllowDBNull = false;
DataColumn col8 = dataTable.Columns.Add("UpdateUser", typeof(System.String));
col8.AllowDBNull = true;
DataColumn col9 = dataTable.Columns.Add("UpdateDate", typeof(System.DateTime));
col9.AllowDBNull = false;
bulkCopy.ColumnMappings.Add("Id", "Id");
bulkCopy.ColumnMappings.Add("Title", "Title");
bulkCopy.ColumnMappings.Add("IsBooked", "IsBooked");
bulkCopy.ColumnMappings.Add("ColorCode", "ColorCode");
bulkCopy.ColumnMappings.Add("Note", "Note");
bulkCopy.ColumnMappings.Add("IsDisabled", "IsDisabled");
bulkCopy.ColumnMappings.Add("CreateUser", "CreateUser");
bulkCopy.ColumnMappings.Add("CreateDate", "CreateDate");
bulkCopy.ColumnMappings.Add("UpdateUser", "UpdateUser");
bulkCopy.ColumnMappings.Add("UpdateDate", "UpdateDate");
foreach(ClinicDoctor.Entities.RosterType entity in entities)
{
if (entity.EntityState != EntityState.Added)
continue;
DataRow row = dataTable.NewRow();
row["Id"] = entity.Id;
row["Title"] = entity.Title;
row["IsBooked"] = entity.IsBooked;
row["ColorCode"] = entity.ColorCode;
row["Note"] = entity.Note;
row["IsDisabled"] = entity.IsDisabled;
row["CreateUser"] = entity.CreateUser;
row["CreateDate"] = entity.CreateDate;
row["UpdateUser"] = entity.UpdateUser;
row["UpdateDate"] = entity.UpdateDate;
dataTable.Rows.Add(row);
//.........这里部分代码省略.........
示例2: Delete
/// <summary>
/// Deletes a row from the DataSource.
/// </summary>
/// <param name="_id">. Primary Key.</param>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <remarks>Deletes based on primary key(s).</remarks>
/// <returns>Returns true if operation suceeded.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override bool Delete(TransactionManager transactionManager, System.Int64 _id)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_Delete", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@Id", DbType.Int64, _id);
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "Delete"));
int results = 0;
if (transactionManager != null)
{
results = Utility.ExecuteNonQuery(transactionManager, commandWrapper);
}
else
{
results = Utility.ExecuteNonQuery(database,commandWrapper);
}
//Stop Tracking Now that it has been updated and persisted.
if (DataRepository.Provider.EnableEntityTracking)
{
string entityKey = EntityLocator.ConstructKeyFromPkItems(typeof(RosterType)
,_id);
EntityManager.StopTracking(entityKey);
}
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "Delete"));
commandWrapper = null;
return Convert.ToBoolean(results);
}//end Delete
示例3: Insert
/// <summary>
/// Inserts a ClinicDoctor.Entities.DoctorRoster object into the datasource using a transaction.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="entity">ClinicDoctor.Entities.DoctorRoster object to insert.</param>
/// <remarks>
/// After inserting into the datasource, the ClinicDoctor.Entities.DoctorRoster object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
/// <returns>Returns true if operation is successful.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override bool Insert(TransactionManager transactionManager, ClinicDoctor.Entities.DoctorRoster entity)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.DoctorRoster_Insert", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@Id", DbType.String, entity.Id );
database.AddInParameter(commandWrapper, "@DoctorUserName", DbType.String, entity.DoctorUserName );
database.AddInParameter(commandWrapper, "@DoctorShortName", DbType.String, entity.DoctorShortName );
database.AddInParameter(commandWrapper, "@DoctorEmail", DbType.String, entity.DoctorEmail );
database.AddInParameter(commandWrapper, "@RosterTypeId", DbType.Int64, entity.RosterTypeId );
database.AddInParameter(commandWrapper, "@RosterTypeTitle", DbType.String, entity.RosterTypeTitle );
database.AddInParameter(commandWrapper, "@ColorCode", DbType.String, entity.ColorCode );
database.AddInParameter(commandWrapper, "@IsBooked", DbType.Boolean, (entity.IsBooked.HasValue ? (object) entity.IsBooked : System.DBNull.Value));
database.AddInParameter(commandWrapper, "@StartTime", DbType.DateTime, entity.StartTime );
database.AddInParameter(commandWrapper, "@EndTime", DbType.DateTime, entity.EndTime );
database.AddInParameter(commandWrapper, "@Note", DbType.String, entity.Note );
database.AddInParameter(commandWrapper, "@IsComplete", DbType.Boolean, entity.IsComplete );
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, entity.IsDisabled );
database.AddInParameter(commandWrapper, "@CreateUser", DbType.String, entity.CreateUser );
database.AddInParameter(commandWrapper, "@CreateDate", DbType.DateTime, entity.CreateDate );
database.AddInParameter(commandWrapper, "@UpdateUser", DbType.String, entity.UpdateUser );
database.AddInParameter(commandWrapper, "@UpdateDate", DbType.DateTime, entity.UpdateDate );
int results = 0;
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "Insert", entity));
if (transactionManager != null)
{
results = Utility.ExecuteNonQuery(transactionManager, commandWrapper);
}
else
{
results = Utility.ExecuteNonQuery(database,commandWrapper);
}
entity.OriginalId = entity.Id;
entity.AcceptChanges();
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "Insert", entity));
return Convert.ToBoolean(results);
}
示例4: GetByNurseUsername
/// <summary>
/// Gets rows from the datasource based on the FK_Appointment_Staff1 key.
/// FK_Appointment_Staff1 Description:
/// </summary>
/// <param name="start">Row number at which to start reading.</param>
/// <param name="pageLength">Number of rows to return.</param>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="_nurseUsername"></param>
/// <param name="count">out parameter to get total records for query</param>
/// <remarks></remarks>
/// <returns>Returns a typed collection of ClinicDoctor.Entities.Appointment objects.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override TList<Appointment> GetByNurseUsername(TransactionManager transactionManager, System.String _nurseUsername, int start, int pageLength, out int count)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.Appointment_GetByNurseUsername", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@NurseUsername", DbType.String, _nurseUsername);
IDataReader reader = null;
TList<Appointment> rows = new TList<Appointment>();
try
{
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "GetByNurseUsername", rows));
if (transactionManager != null)
{
reader = Utility.ExecuteReader(transactionManager, commandWrapper);
}
else
{
reader = Utility.ExecuteReader(database, commandWrapper);
}
//Create Collection
Fill(reader, rows, start, pageLength);
count = -1;
if(reader.NextResult())
{
if(reader.Read())
{
count = reader.GetInt32(0);
}
}
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "GetByNurseUsername", rows));
}
finally
{
if (reader != null)
reader.Close();
commandWrapper = null;
}
return rows;
}
示例5: GetAll
/// <summary>
/// Gets All rows from the DataSource.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="start">Row number at which to start reading.</param>
/// <param name="pageLength">Number of rows to return.</param>
/// <param name="count">out. The number of rows that match this query.</param>
/// <remarks></remarks>
/// <returns>Returns a typed collection of ClinicDoctor.Entities.RosterType objects.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override TList<RosterType> GetAll(TransactionManager transactionManager, int start, int pageLength, out int count)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_Get_List", _useStoredProcedure);
IDataReader reader = null;
//Create Collection
TList<RosterType> rows = new TList<RosterType>();
try
{
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "GetAll", rows));
if (transactionManager != null)
{
reader = Utility.ExecuteReader(transactionManager, commandWrapper);
}
else
{
reader = Utility.ExecuteReader(database, commandWrapper);
}
Fill(reader, rows, start, pageLength);
count = -1;
if(reader.NextResult())
{
if(reader.Read())
{
count = reader.GetInt32(0);
}
}
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "GetAll", rows));
}
finally
{
if (reader != null)
reader.Close();
commandWrapper = null;
}
return rows;
}//end getall
示例6: GetByIdIsDisabled
/// <summary>
/// Gets rows from the datasource based on the IX_RosterType_Id_IsDisabled index.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="_id"></param>
/// <param name="_isDisabled"></param>
/// <param name="start">Row number at which to start reading.</param>
/// <param name="pageLength">Number of rows to return.</param>
/// <param name="count">out parameter to get total records for query.</param>
/// <returns>Returns an instance of the <see cref="ClinicDoctor.Entities.RosterType"/> class.</returns>
/// <remarks></remarks>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override ClinicDoctor.Entities.RosterType GetByIdIsDisabled(TransactionManager transactionManager, System.Int64 _id, System.Boolean _isDisabled, int start, int pageLength, out int count)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_GetByIdIsDisabled", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@Id", DbType.Int64, _id);
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, _isDisabled);
IDataReader reader = null;
TList<RosterType> tmp = new TList<RosterType>();
try
{
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "GetByIdIsDisabled", tmp));
if (transactionManager != null)
{
reader = Utility.ExecuteReader(transactionManager, commandWrapper);
}
else
{
reader = Utility.ExecuteReader(database, commandWrapper);
}
//Create collection and fill
Fill(reader, tmp, start, pageLength);
count = -1;
if(reader.NextResult())
{
if(reader.Read())
{
count = reader.GetInt32(0);
}
}
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "GetByIdIsDisabled", tmp));
}
finally
{
if (reader != null)
reader.Close();
commandWrapper = null;
}
if (tmp.Count == 1)
{
return tmp[0];
}
else if (tmp.Count == 0)
{
return null;
}
else
{
throw new DataException("Cannot find the unique instance of the class.");
}
//return rows;
}
示例7: ExecuteScalar
/// <summary>
/// Executes the scalar.
/// </summary>
/// <param name="transactionManager">The transaction manager.</param>
/// <param name="storedProcedureName">Name of the stored procedure.</param>
/// <param name="parameterValues">The parameter values.</param>
/// <returns></returns>
public override object ExecuteScalar(TransactionManager transactionManager, string storedProcedureName, params object[] parameterValues)
{
Database database = transactionManager.Database;
return database.ExecuteScalar(transactionManager.TransactionObject, storedProcedureName, parameterValues);
}
示例8: Find
}//end Delete
#endregion
#region Find Functions
#region Parsed Find Methods
/// <summary>
/// Returns rows meeting the whereClause condition from the DataSource.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="whereClause">Specifies the condition for the rows returned by a query (Name='John Doe', Name='John Doe' AND Id='1', Name='John Doe' OR Id='1').</param>
/// <param name="start">Row number at which to start reading.</param>
/// <param name="pageLength">Number of rows to return.</param>
/// <param name="count">out. The number of rows that match this query.</param>
/// <remarks>Operators must be capitalized (OR, AND).</remarks>
/// <returns>Returns a typed collection of ClinicDoctor.Entities.RosterType objects.</returns>
public override TList<RosterType> Find(TransactionManager transactionManager, string whereClause, int start, int pageLength, out int count)
{
count = -1;
if (whereClause.IndexOf(";") > -1)
return new TList<RosterType>();
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_Find", _useStoredProcedure);
bool searchUsingOR = false;
if (whereClause.IndexOf(" OR ") > 0) // did they want to do "a=b OR c=d OR..."?
searchUsingOR = true;
database.AddInParameter(commandWrapper, "@SearchUsingOR", DbType.Boolean, searchUsingOR);
database.AddInParameter(commandWrapper, "@Id", DbType.Int64, DBNull.Value);
database.AddInParameter(commandWrapper, "@Title", DbType.String, DBNull.Value);
database.AddInParameter(commandWrapper, "@IsBooked", DbType.Boolean, DBNull.Value);
database.AddInParameter(commandWrapper, "@ColorCode", DbType.String, DBNull.Value);
database.AddInParameter(commandWrapper, "@Note", DbType.String, DBNull.Value);
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, DBNull.Value);
database.AddInParameter(commandWrapper, "@CreateUser", DbType.String, DBNull.Value);
database.AddInParameter(commandWrapper, "@CreateDate", DbType.DateTime, DBNull.Value);
database.AddInParameter(commandWrapper, "@UpdateUser", DbType.String, DBNull.Value);
database.AddInParameter(commandWrapper, "@UpdateDate", DbType.DateTime, DBNull.Value);
// replace all instances of 'AND' and 'OR' because we already set searchUsingOR
whereClause = whereClause.Replace(" AND ", "|").Replace(" OR ", "|") ;
string[] clauses = whereClause.ToLower().Split('|');
// Here's what's going on below: Find a field, then to get the value we
// drop the field name from the front, trim spaces, drop the '=' sign,
// trim more spaces, and drop any outer single quotes.
// Now handles the case when two fields start off the same way - like "Friendly='Yes' AND Friend='john'"
char[] equalSign = {'='};
char[] singleQuote = {'\''};
foreach (string clause in clauses)
{
if (clause.Trim().StartsWith("id ") || clause.Trim().StartsWith("id="))
{
database.SetParameterValue(commandWrapper, "@Id",
clause.Trim().Remove(0,2).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("title ") || clause.Trim().StartsWith("title="))
{
database.SetParameterValue(commandWrapper, "@Title",
clause.Trim().Remove(0,5).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("isbooked ") || clause.Trim().StartsWith("isbooked="))
{
database.SetParameterValue(commandWrapper, "@IsBooked",
clause.Trim().Remove(0,8).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("colorcode ") || clause.Trim().StartsWith("colorcode="))
{
database.SetParameterValue(commandWrapper, "@ColorCode",
clause.Trim().Remove(0,9).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("note ") || clause.Trim().StartsWith("note="))
{
database.SetParameterValue(commandWrapper, "@Note",
clause.Trim().Remove(0,4).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("isdisabled ") || clause.Trim().StartsWith("isdisabled="))
{
database.SetParameterValue(commandWrapper, "@IsDisabled",
clause.Trim().Remove(0,10).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("createuser ") || clause.Trim().StartsWith("createuser="))
{
database.SetParameterValue(commandWrapper, "@CreateUser",
clause.Trim().Remove(0,10).Trim().TrimStart(equalSign).Trim().Trim(singleQuote));
continue;
}
if (clause.Trim().StartsWith("createdate ") || clause.Trim().StartsWith("createdate="))
{
database.SetParameterValue(commandWrapper, "@CreateDate",
//.........这里部分代码省略.........
示例9: ExecuteNonQuery
/// <summary>
/// Executes the non query.
/// </summary>
/// <param name="transactionManager">The transaction manager.</param>
/// <param name="commandWrapper">The command wrapper.</param>
public override void ExecuteNonQuery(TransactionManager transactionManager, DbCommand commandWrapper)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
database.ExecuteNonQuery(commandWrapper, transactionManager.TransactionObject);
}
示例10: Update
/// <summary>
/// Update an existing row in the datasource.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="entity">ClinicDoctor.Entities.Staff object to update.</param>
/// <remarks>
/// After updating the datasource, the ClinicDoctor.Entities.Staff object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
/// <returns>Returns true if operation is successful.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override bool Update(TransactionManager transactionManager, ClinicDoctor.Entities.Staff entity)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.Staff_Update", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@Id", DbType.Int64, entity.Id );
database.AddInParameter(commandWrapper, "@OriginalId", DbType.Int64, entity.OriginalId);
database.AddInParameter(commandWrapper, "@FirstName", DbType.String, entity.FirstName );
database.AddInParameter(commandWrapper, "@LastName", DbType.String, entity.LastName );
database.AddInParameter(commandWrapper, "@ShortName", DbType.String, entity.ShortName );
database.AddInParameter(commandWrapper, "@UserName", DbType.String, entity.UserName );
database.AddInParameter(commandWrapper, "@Email", DbType.String, entity.Email );
database.AddInParameter(commandWrapper, "@Address", DbType.String, entity.Address );
database.AddInParameter(commandWrapper, "@HomePhone", DbType.String, entity.HomePhone );
database.AddInParameter(commandWrapper, "@WorkPhone", DbType.String, entity.WorkPhone );
database.AddInParameter(commandWrapper, "@CellPhone", DbType.String, entity.CellPhone );
database.AddInParameter(commandWrapper, "@Birthdate", DbType.DateTime, (entity.Birthdate.HasValue ? (object) entity.Birthdate : System.DBNull.Value) );
database.AddInParameter(commandWrapper, "@IsFemale", DbType.Boolean, entity.IsFemale );
database.AddInParameter(commandWrapper, "@Title", DbType.String, entity.Title );
database.AddInParameter(commandWrapper, "@Note", DbType.String, entity.Note );
database.AddInParameter(commandWrapper, "@Roles", DbType.String, entity.Roles );
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, entity.IsDisabled );
database.AddInParameter(commandWrapper, "@CreateUser", DbType.String, entity.CreateUser );
database.AddInParameter(commandWrapper, "@CreateDate", DbType.DateTime, entity.CreateDate );
database.AddInParameter(commandWrapper, "@UpdateUser", DbType.String, entity.UpdateUser );
database.AddInParameter(commandWrapper, "@UpdateDate", DbType.DateTime, entity.UpdateDate );
int results = 0;
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "Update", entity));
if (transactionManager != null)
{
results = Utility.ExecuteNonQuery(transactionManager, commandWrapper);
}
else
{
results = Utility.ExecuteNonQuery(database,commandWrapper);
}
//Stop Tracking Now that it has been updated and persisted.
if (DataRepository.Provider.EnableEntityTracking)
EntityManager.StopTracking(entity.EntityTrackingKey);
entity.OriginalId = entity.Id;
entity.AcceptChanges();
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "Update", entity));
return Convert.ToBoolean(results);
}
示例11: BulkInsert
/// <summary>
/// Lets you efficiently bulk insert many entities to the database.
/// </summary>
/// <param name="transactionManager">The transaction manager.</param>
/// <param name="entities">The entities.</param>
/// <remarks>
/// After inserting into the datasource, the ClinicDoctor.Entities.Staff object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
public override void BulkInsert(TransactionManager transactionManager, TList<ClinicDoctor.Entities.Staff> entities)
{
//System.Data.SqlClient.SqlBulkCopy bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
System.Data.SqlClient.SqlBulkCopy bulkCopy = null;
if (transactionManager != null && transactionManager.IsOpen)
{
System.Data.SqlClient.SqlConnection cnx = transactionManager.TransactionObject.Connection as System.Data.SqlClient.SqlConnection;
System.Data.SqlClient.SqlTransaction transaction = transactionManager.TransactionObject as System.Data.SqlClient.SqlTransaction;
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(cnx, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints, transaction); //, null);
}
else
{
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
}
bulkCopy.BulkCopyTimeout = 360;
bulkCopy.DestinationTableName = "Staff";
DataTable dataTable = new DataTable();
DataColumn col0 = dataTable.Columns.Add("Id", typeof(System.Int64));
col0.AllowDBNull = false;
DataColumn col1 = dataTable.Columns.Add("FirstName", typeof(System.String));
col1.AllowDBNull = false;
DataColumn col2 = dataTable.Columns.Add("LastName", typeof(System.String));
col2.AllowDBNull = false;
DataColumn col3 = dataTable.Columns.Add("ShortName", typeof(System.String));
col3.AllowDBNull = false;
DataColumn col4 = dataTable.Columns.Add("UserName", typeof(System.String));
col4.AllowDBNull = false;
DataColumn col5 = dataTable.Columns.Add("Email", typeof(System.String));
col5.AllowDBNull = true;
DataColumn col6 = dataTable.Columns.Add("Address", typeof(System.String));
col6.AllowDBNull = true;
DataColumn col7 = dataTable.Columns.Add("HomePhone", typeof(System.String));
col7.AllowDBNull = true;
DataColumn col8 = dataTable.Columns.Add("WorkPhone", typeof(System.String));
col8.AllowDBNull = true;
DataColumn col9 = dataTable.Columns.Add("CellPhone", typeof(System.String));
col9.AllowDBNull = true;
DataColumn col10 = dataTable.Columns.Add("Birthdate", typeof(System.DateTime));
col10.AllowDBNull = true;
DataColumn col11 = dataTable.Columns.Add("IsFemale", typeof(System.Boolean));
col11.AllowDBNull = false;
DataColumn col12 = dataTable.Columns.Add("Title", typeof(System.String));
col12.AllowDBNull = true;
DataColumn col13 = dataTable.Columns.Add("Note", typeof(System.String));
col13.AllowDBNull = true;
DataColumn col14 = dataTable.Columns.Add("Roles", typeof(System.String));
col14.AllowDBNull = false;
DataColumn col15 = dataTable.Columns.Add("IsDisabled", typeof(System.Boolean));
col15.AllowDBNull = false;
DataColumn col16 = dataTable.Columns.Add("CreateUser", typeof(System.String));
col16.AllowDBNull = true;
DataColumn col17 = dataTable.Columns.Add("CreateDate", typeof(System.DateTime));
col17.AllowDBNull = false;
DataColumn col18 = dataTable.Columns.Add("UpdateUser", typeof(System.String));
col18.AllowDBNull = true;
DataColumn col19 = dataTable.Columns.Add("UpdateDate", typeof(System.DateTime));
col19.AllowDBNull = false;
bulkCopy.ColumnMappings.Add("Id", "Id");
bulkCopy.ColumnMappings.Add("FirstName", "FirstName");
bulkCopy.ColumnMappings.Add("LastName", "LastName");
bulkCopy.ColumnMappings.Add("ShortName", "ShortName");
bulkCopy.ColumnMappings.Add("UserName", "UserName");
bulkCopy.ColumnMappings.Add("Email", "Email");
bulkCopy.ColumnMappings.Add("Address", "Address");
bulkCopy.ColumnMappings.Add("HomePhone", "HomePhone");
bulkCopy.ColumnMappings.Add("WorkPhone", "WorkPhone");
bulkCopy.ColumnMappings.Add("CellPhone", "CellPhone");
bulkCopy.ColumnMappings.Add("Birthdate", "Birthdate");
bulkCopy.ColumnMappings.Add("IsFemale", "IsFemale");
bulkCopy.ColumnMappings.Add("Title", "Title");
bulkCopy.ColumnMappings.Add("Note", "Note");
bulkCopy.ColumnMappings.Add("Roles", "Roles");
bulkCopy.ColumnMappings.Add("IsDisabled", "IsDisabled");
bulkCopy.ColumnMappings.Add("CreateUser", "CreateUser");
bulkCopy.ColumnMappings.Add("CreateDate", "CreateDate");
bulkCopy.ColumnMappings.Add("UpdateUser", "UpdateUser");
bulkCopy.ColumnMappings.Add("UpdateDate", "UpdateDate");
foreach(ClinicDoctor.Entities.Staff entity in entities)
{
if (entity.EntityState != EntityState.Added)
continue;
DataRow row = dataTable.NewRow();
row["Id"] = entity.Id;
//.........这里部分代码省略.........
示例12: Insert
/// <summary>
/// Inserts a ClinicDoctor.Entities.RosterType object into the datasource using a transaction.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="entity">ClinicDoctor.Entities.RosterType object to insert.</param>
/// <remarks>
/// After inserting into the datasource, the ClinicDoctor.Entities.RosterType object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
/// <returns>Returns true if operation is successful.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override bool Insert(TransactionManager transactionManager, ClinicDoctor.Entities.RosterType entity)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_Insert", _useStoredProcedure);
database.AddOutParameter(commandWrapper, "@Id", DbType.Int64, 8);
database.AddInParameter(commandWrapper, "@Title", DbType.String, entity.Title );
database.AddInParameter(commandWrapper, "@IsBooked", DbType.Boolean, entity.IsBooked );
database.AddInParameter(commandWrapper, "@ColorCode", DbType.String, entity.ColorCode );
database.AddInParameter(commandWrapper, "@Note", DbType.String, entity.Note );
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, entity.IsDisabled );
database.AddInParameter(commandWrapper, "@CreateUser", DbType.String, entity.CreateUser );
database.AddInParameter(commandWrapper, "@CreateDate", DbType.DateTime, entity.CreateDate );
database.AddInParameter(commandWrapper, "@UpdateUser", DbType.String, entity.UpdateUser );
database.AddInParameter(commandWrapper, "@UpdateDate", DbType.DateTime, entity.UpdateDate );
int results = 0;
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "Insert", entity));
if (transactionManager != null)
{
results = Utility.ExecuteNonQuery(transactionManager, commandWrapper);
}
else
{
results = Utility.ExecuteNonQuery(database,commandWrapper);
}
object _id = database.GetParameterValue(commandWrapper, "@Id");
entity.Id = (System.Int64)_id;
entity.AcceptChanges();
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "Insert", entity));
return Convert.ToBoolean(results);
}
示例13: Update
/// <summary>
/// Update an existing row in the datasource.
/// </summary>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <param name="entity">ClinicDoctor.Entities.RosterType object to update.</param>
/// <remarks>
/// After updating the datasource, the ClinicDoctor.Entities.RosterType object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
/// <returns>Returns true if operation is successful.</returns>
/// <exception cref="System.Exception">The command could not be executed.</exception>
/// <exception cref="System.Data.DataException">The <paramref name="transactionManager"/> is not open.</exception>
/// <exception cref="System.Data.Common.DbException">The command could not be executed.</exception>
public override bool Update(TransactionManager transactionManager, ClinicDoctor.Entities.RosterType entity)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_Update", _useStoredProcedure);
database.AddInParameter(commandWrapper, "@Id", DbType.Int64, entity.Id );
database.AddInParameter(commandWrapper, "@Title", DbType.String, entity.Title );
database.AddInParameter(commandWrapper, "@IsBooked", DbType.Boolean, entity.IsBooked );
database.AddInParameter(commandWrapper, "@ColorCode", DbType.String, entity.ColorCode );
database.AddInParameter(commandWrapper, "@Note", DbType.String, entity.Note );
database.AddInParameter(commandWrapper, "@IsDisabled", DbType.Boolean, entity.IsDisabled );
database.AddInParameter(commandWrapper, "@CreateUser", DbType.String, entity.CreateUser );
database.AddInParameter(commandWrapper, "@CreateDate", DbType.DateTime, entity.CreateDate );
database.AddInParameter(commandWrapper, "@UpdateUser", DbType.String, entity.UpdateUser );
database.AddInParameter(commandWrapper, "@UpdateDate", DbType.DateTime, entity.UpdateDate );
int results = 0;
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "Update", entity));
if (transactionManager != null)
{
results = Utility.ExecuteNonQuery(transactionManager, commandWrapper);
}
else
{
results = Utility.ExecuteNonQuery(database,commandWrapper);
}
//Stop Tracking Now that it has been updated and persisted.
if (DataRepository.Provider.EnableEntityTracking)
EntityManager.StopTracking(entity.EntityTrackingKey);
entity.AcceptChanges();
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "Update", entity));
return Convert.ToBoolean(results);
}
示例14: BulkInsert
/// <summary>
/// Lets you efficiently bulk insert many entities to the database.
/// </summary>
/// <param name="transactionManager">The transaction manager.</param>
/// <param name="entities">The entities.</param>
/// <remarks>
/// After inserting into the datasource, the ClinicDoctor.Entities.Appointment object will be updated
/// to refelect any changes made by the datasource. (ie: identity or computed columns)
/// </remarks>
public override void BulkInsert(TransactionManager transactionManager, TList<ClinicDoctor.Entities.Appointment> entities)
{
//System.Data.SqlClient.SqlBulkCopy bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
System.Data.SqlClient.SqlBulkCopy bulkCopy = null;
if (transactionManager != null && transactionManager.IsOpen)
{
System.Data.SqlClient.SqlConnection cnx = transactionManager.TransactionObject.Connection as System.Data.SqlClient.SqlConnection;
System.Data.SqlClient.SqlTransaction transaction = transactionManager.TransactionObject as System.Data.SqlClient.SqlTransaction;
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(cnx, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints, transaction); //, null);
}
else
{
bulkCopy = new System.Data.SqlClient.SqlBulkCopy(this._connectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
}
bulkCopy.BulkCopyTimeout = 360;
bulkCopy.DestinationTableName = "Appointment";
DataTable dataTable = new DataTable();
DataColumn col0 = dataTable.Columns.Add("Id", typeof(System.String));
col0.AllowDBNull = false;
DataColumn col1 = dataTable.Columns.Add("CustomerId", typeof(System.String));
col1.AllowDBNull = false;
DataColumn col2 = dataTable.Columns.Add("CustomerName", typeof(System.String));
col2.AllowDBNull = true;
DataColumn col3 = dataTable.Columns.Add("ContentId", typeof(System.Int64));
col3.AllowDBNull = true;
DataColumn col4 = dataTable.Columns.Add("ContentTitle", typeof(System.String));
col4.AllowDBNull = true;
DataColumn col5 = dataTable.Columns.Add("DoctorUsername", typeof(System.String));
col5.AllowDBNull = true;
DataColumn col6 = dataTable.Columns.Add("DoctorShortName", typeof(System.String));
col6.AllowDBNull = true;
DataColumn col7 = dataTable.Columns.Add("DoctorEmail", typeof(System.String));
col7.AllowDBNull = true;
DataColumn col8 = dataTable.Columns.Add("RoomId", typeof(System.Int64));
col8.AllowDBNull = true;
DataColumn col9 = dataTable.Columns.Add("RoomTitle", typeof(System.String));
col9.AllowDBNull = true;
DataColumn col10 = dataTable.Columns.Add("NurseUsername", typeof(System.String));
col10.AllowDBNull = true;
DataColumn col11 = dataTable.Columns.Add("NurseShortName", typeof(System.String));
col11.AllowDBNull = true;
DataColumn col12 = dataTable.Columns.Add("StatusId", typeof(System.Int64));
col12.AllowDBNull = true;
DataColumn col13 = dataTable.Columns.Add("StatusTitle", typeof(System.String));
col13.AllowDBNull = true;
DataColumn col14 = dataTable.Columns.Add("Note", typeof(System.String));
col14.AllowDBNull = true;
DataColumn col15 = dataTable.Columns.Add("StartTime", typeof(System.DateTime));
col15.AllowDBNull = true;
DataColumn col16 = dataTable.Columns.Add("EndTime", typeof(System.DateTime));
col16.AllowDBNull = true;
DataColumn col17 = dataTable.Columns.Add("ColorCode", typeof(System.String));
col17.AllowDBNull = false;
DataColumn col18 = dataTable.Columns.Add("IsComplete", typeof(System.Boolean));
col18.AllowDBNull = false;
DataColumn col19 = dataTable.Columns.Add("IsDisabled", typeof(System.Boolean));
col19.AllowDBNull = false;
DataColumn col20 = dataTable.Columns.Add("CreateUser", typeof(System.String));
col20.AllowDBNull = true;
DataColumn col21 = dataTable.Columns.Add("CreateDate", typeof(System.DateTime));
col21.AllowDBNull = false;
DataColumn col22 = dataTable.Columns.Add("UpdateUser", typeof(System.String));
col22.AllowDBNull = true;
DataColumn col23 = dataTable.Columns.Add("UpdateDate", typeof(System.DateTime));
col23.AllowDBNull = false;
bulkCopy.ColumnMappings.Add("Id", "Id");
bulkCopy.ColumnMappings.Add("CustomerId", "CustomerId");
bulkCopy.ColumnMappings.Add("CustomerName", "CustomerName");
bulkCopy.ColumnMappings.Add("ContentId", "ContentId");
bulkCopy.ColumnMappings.Add("ContentTitle", "ContentTitle");
bulkCopy.ColumnMappings.Add("DoctorUsername", "DoctorUsername");
bulkCopy.ColumnMappings.Add("DoctorShortName", "DoctorShortName");
bulkCopy.ColumnMappings.Add("DoctorEmail", "DoctorEmail");
bulkCopy.ColumnMappings.Add("RoomId", "RoomId");
bulkCopy.ColumnMappings.Add("RoomTitle", "RoomTitle");
bulkCopy.ColumnMappings.Add("NurseUsername", "NurseUsername");
bulkCopy.ColumnMappings.Add("NurseShortName", "NurseShortName");
bulkCopy.ColumnMappings.Add("StatusId", "StatusId");
bulkCopy.ColumnMappings.Add("StatusTitle", "StatusTitle");
bulkCopy.ColumnMappings.Add("Note", "Note");
bulkCopy.ColumnMappings.Add("StartTime", "StartTime");
bulkCopy.ColumnMappings.Add("EndTime", "EndTime");
bulkCopy.ColumnMappings.Add("ColorCode", "ColorCode");
bulkCopy.ColumnMappings.Add("IsComplete", "IsComplete");
bulkCopy.ColumnMappings.Add("IsDisabled", "IsDisabled");
bulkCopy.ColumnMappings.Add("CreateUser", "CreateUser");
//.........这里部分代码省略.........
示例15: GetPaged
}//end getall
#endregion
#region GetPaged Methods
/// <summary>
/// Gets a page of rows from the DataSource.
/// </summary>
/// <param name="start">Row number at which to start reading.</param>
/// <param name="pageLength">Number of rows to return.</param>
/// <param name="count">Number of rows in the DataSource.</param>
/// <param name="whereClause">Specifies the condition for the rows returned by a query (Name='John Doe', Name='John Doe' AND Id='1', Name='John Doe' OR Id='1').</param>
/// <param name="orderBy">Specifies the sort criteria for the rows in the DataSource (Name ASC; BirthDay DESC, Name ASC);</param>
/// <param name="transactionManager"><see cref="TransactionManager"/> object</param>
/// <remarks></remarks>
/// <returns>Returns a typed collection of ClinicDoctor.Entities.RosterType objects.</returns>
public override TList<RosterType> GetPaged(TransactionManager transactionManager, string whereClause, string orderBy, int start, int pageLength, out int count)
{
SqlDatabase database = new SqlDatabase(this._connectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "dbo.RosterType_GetPaged", _useStoredProcedure);
if (commandWrapper.CommandType == CommandType.Text
&& commandWrapper.CommandText != null)
{
commandWrapper.CommandText = commandWrapper.CommandText.Replace(SqlUtil.PAGE_INDEX, string.Concat(SqlUtil.PAGE_INDEX, Guid.NewGuid().ToString("N").Substring(0, 8)));
}
database.AddInParameter(commandWrapper, "@WhereClause", DbType.String, whereClause);
database.AddInParameter(commandWrapper, "@OrderBy", DbType.String, orderBy);
database.AddInParameter(commandWrapper, "@PageIndex", DbType.Int32, start);
database.AddInParameter(commandWrapper, "@PageSize", DbType.Int32, pageLength);
IDataReader reader = null;
//Create Collection
TList<RosterType> rows = new TList<RosterType>();
try
{
//Provider Data Requesting Command Event
OnDataRequesting(new CommandEventArgs(commandWrapper, "GetPaged", rows));
if (transactionManager != null)
{
reader = Utility.ExecuteReader(transactionManager, commandWrapper);
}
else
{
reader = Utility.ExecuteReader(database, commandWrapper);
}
Fill(reader, rows, 0, int.MaxValue);
count = rows.Count;
if(reader.NextResult())
{
if(reader.Read())
{
count = reader.GetInt32(0);
}
}
//Provider Data Requested Command Event
OnDataRequested(new CommandEventArgs(commandWrapper, "GetPaged", rows));
}
catch(Exception)
{
throw;
}
finally
{
if (reader != null)
reader.Close();
commandWrapper = null;
}
return rows;
}