i utilised Linq in the end using following code:
var results = from t in db.IT_Tasks
where (
((model.UserFilterTypeID == 0) || (model.UserFilterTypeID == 1 && t.CreatedByID == model.UserID)
|| (model.UserFilterTypeID == 2 && t.AssignedUserID == model.UserID)|| (model.UserFilterTypeID == 3 && t.UpdatedByID == model.UserID))&& (model.TaskStatusID == 0 || t.TaskStatusID == model.TaskStatusID)&& (model.TaskTypeID == 0 || t.TaskTypeID == model.TaskTypeID)&& ((model.DateTypeID == 0)|| (model.DateTypeID == 1 && t.DateCreated >= model.DateFrom && t.DateCreated <=model.DateTo )|| (model.DateTypeID==2 && t.DateUpdated >= model.DateFrom && t.DateUpdated <= model.DateTo))
)
select t;