I have a method like this:-
public List<InterestedParty> GetDealViewData(string username,Guid opportunityId, int fromIndex, int toindex, string IPStatus, Guid? JllBroker, string ipsearch,ref string sortby, ref string direction, out int totalRecords, int offerType)
{
if (sortby == null)
sortby = string.Empty;
if (direction == null)
direction = string.Empty;
InterestedPartyMapper interestedPartyMapper = new InterestedPartyMapper();
InterestedParty dummyIP = new InterestedParty();
SqlParameter outParam = new SqlParameter();
outParam.ParameterName = "@TotalRecords";
outParam.SqlDbType = SqlDbType.Int;
outParam.Direction = ParameterDirection.Output;
SqlParameter sortParam = new SqlParameter();
sortParam.ParameterName = "@sortby";
sortParam.SqlDbType = SqlDbType.VarChar;
sortParam.Size = 500;
sortParam.Value = sortby.Trim();
sortParam.Direction = ParameterDirection.InputOutput;
SqlParameter dirParam = new SqlParameter();
dirParam.ParameterName = "@direction";
dirParam.SqlDbType = SqlDbType.VarChar;
dirParam.Size = 500;
dirParam.Value = direction.Trim();
dirParam.Direction = ParameterDirection.InputOutput;
IEnumerable<InterestedParty> interestedParties = DatabaseUtility.ExecuteReader<InterestedParty>(DatabaseUtility.DataWarehouseConnectionString,
"cp_GetDealViewInterestedParties",
CommandType.StoredProcedure,
new SqlParameter[] { new SqlParameter("@opportunityid", opportunityId),
new SqlParameter("@fromIndex", fromIndex),
new SqlParameter("@toindex", toindex),
new SqlParameter("@ipstatus", IPStatus),
new SqlParameter("@jllbroker", JllBroker),
new SqlParameter("@IPNameSearch", ipsearch),
new SqlParameter("@domainname", username),
sortParam,
dirParam,
new SqlParameter("@offerType", offerType),
outParam},
interestedPartyMapper.Mapper);
totalRecords = Convert.ToInt32(outParam.Value);
sortby = sortParam.Value.ToString();
direction = dirParam.Value.ToString();
return interestedParties.ToList();
}
The stored procedure parameters are like this:
ALTER PROCEDURE [dbo].[cp_GetDealViewInterestedParties]
@opportunityid uniqueidentifier,
@ipstatus nvarchar(250) = null,
@jllbroker uniqueidentifier = null,
@fromindex int = 1,
@toindex int = 40,
@IPNameSearch nvarchar(255) = null,
@offerType int = 0,
@sortby nvarchar(255) OUTPUT,
@direction varchar(4) OUTPUT,
@domainname varchar(255) = null,
@TotalRecords int OUTPUT
with recompile
AS
BEGIN
set nocount on
DECLARE @defaultSortBy nvarchar(255) = 'ModifiedOn'
DECLARE @defaultDirection varchar(4) = 'desc'
DECLARE @userPreferenceLookupResults nvarchar(255)
I get the following error:
The formal parameter "@sortby" was not declared as an OUTPUT parameter, but the actual parameter passed in requested output.
Any ideas and thoughts are appreciated