public static User AddUpdateUser(User user) { using (var connection = new SqlCeConnection($"Data Source=\"{AppDomain.CurrentDomain.BaseDirectory}Data\\UserData.sdf\"; Password=\"test_password\"")) { if (user.TestUserId == 0) { connection.Execute(@"INSERT INTO TestUser ( [FirstName] ,[LastName] ,[EmailAddress] ) VALUES ( @FirstName ,@LastName ,@EmailAddress )" , new { user.TestUserId, user.FirstName, user.LastName, user.EmailAddress }); user.TestUserId = connection.ExecuteScalar <int>("SELECT MAX([TestUserId]) FROM TestUser"); } else { connection.Execute(@"UPDATE TestUser SET [FirstName] = @FirstName ,[LastName] = @LastName ,[EmailAddress] = @EmailAddress ,[ModifiedDate] = GETDATE() WHERE [TestUserId] = @TestUserId" , new { user.TestUserId, user.FirstName, user.LastName, user.EmailAddress }); } return(GetUser(user.TestUserId)); } }
/// <summary> /// A SqlCeConnection extension method that executes the scalar operation. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="cmdText">The command text.</param> /// <param name="commandType">Type of the command.</param> /// <param name="transaction">The transaction.</param> /// <returns>An object.</returns> public static object ExecuteScalar(this SqlCeConnection @this, string cmdText, CommandType commandType, SqlCeTransaction transaction) { return(@this.ExecuteScalar(cmdText, null, commandType, transaction)); }
/// <summary> /// A SqlCeConnection extension method that executes the scalar operation. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="cmdText">The command text.</param> /// <returns>An object.</returns> public static object ExecuteScalar(this SqlCeConnection @this, string cmdText) { return(@this.ExecuteScalar(cmdText, null, CommandType.Text, null)); }
/// <summary> /// A SqlCeConnection extension method that executes the scalar operation. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="cmdText">The command text.</param> /// <param name="parameters">Options for controlling the operation.</param> /// <param name="commandType">Type of the command.</param> /// <returns>An object.</returns> public static object ExecuteScalar(this SqlCeConnection @this, string cmdText, SqlCeParameter[] parameters, CommandType commandType) { return(@this.ExecuteScalar(cmdText, parameters, commandType, null)); }
/// <summary> /// A SqlCeConnection extension method that executes the scalar operation. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="cmdText">The command text.</param> /// <param name="parameters">Options for controlling the operation.</param> /// <param name="transaction">The transaction.</param> /// <returns>An object.</returns> public static object ExecuteScalar(this SqlCeConnection @this, string cmdText, SqlCeParameter[] parameters, SqlCeTransaction transaction) { return(@this.ExecuteScalar(cmdText, parameters, CommandType.Text, transaction)); }