All pastes #193024 Raw Edit

Someone

public text v1 · immutable
·published 2006-10-06 14:23 UTC
rendered paste body
		public AccountSearch WriteRecordToDatabase(AccountSearch accountSearch)
		{
			//get the appropriate command
			bool isCreateCommand = false;
			SqlCommand writeCommand = null;

			if (accountSearch.ID <= 0)
			{
				//get the insert command
				writeCommand = base.commandInsert(accountSearch, constructSearchMemberList(accountSearch));

				//add the search class-specific parameters
				writeCommand.Parameters.AddRange(constructWriteParameters(accountSearch));

				isCreateCommand = true;

				//execute the insert command
				base._sqlController.ExecuteInsertCommand(writeCommand);
			}
			else
			{
				//get the update command
				writeCommand = base.commandUpdate(accountSearch, constructSearchMemberList(accountSearch));

				//add the search class-specific parameters
				writeCommand.Parameters.AddRange(constructWriteParameters(accountSearch));

				//execute the update command
				base._sqlController.ExecuteUpdateCommand(writeCommand);
			}

			int recordID = 0;
			if (isCreateCommand)
			{
				//get the returned ID from the output parameter
				object outputIDValue = getParameterValue(PARAM_ID, writeCommand.Parameters);

				if (outputIDValue == null)
				{
					//TODO: throw exception as the ID could not be found
					throw new ApplicationException("The output ID parameter could not be found.");
				}

				//conver the value to an integer
				recordID = (int)outputIDValue;
				accountSearch.ID = recordID;	//put the ID onto the record
			}

			//return the updated object
			return accountSearch;
		}