//add a new task public Int32 AddTask(String taskName, String Description, DateTime?startDate, DateTime?dueDate, DateTime?completeDate, String assignTo, String Status, String createBy, DateTime?createDatetime) { Int32 taskID = 0; try { DBObject taskDB = new DBObject(); List <IDataParameter> pars = new List <IDataParameter>(); IDataParameter par; //assign all fields in the task table par = taskDB.CreateParameter; par.ParameterName = "@partaskName"; par.DbType = DbType.String; par.Value = taskName; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.String; par.ParameterName = "@pardescription"; par.Value = Description; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.DateTime; par.ParameterName = "@parstartDate"; par.Value = startDate; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.DateTime; par.ParameterName = "@pardueDate"; if (dueDate.HasValue) { par.Value = dueDate; } else { par.Value = DBNull.Value; } pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.DateTime; par.ParameterName = "@parcompleteDate"; if (completeDate.HasValue) { par.Value = completeDate; } else { par.Value = DBNull.Value; } pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.String; par.ParameterName = "@parassignTo"; par.Value = assignTo; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.String; par.ParameterName = "@parstatus"; par.Value = Status; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.String; par.ParameterName = "@parcreateBy"; par.Value = createBy; pars.Add(par); par = taskDB.CreateParameter; par.DbType = DbType.DateTime; par.ParameterName = "@parcreateDatetime"; par.Value = createDatetime; pars.Add(par); //insert a new task query string sql = @"insert into task(taskname, description, startdate, duedate, completedate," + "assignto, status, createby, createdatetime) " + " output inserted.taskid" + " values(@partaskName, @pardescription, @parstartDate, @pardueDate, @parcompleteDate, " + "@parassignTo, @parstatus, @parcreateBy, @parcreateDatetime)"; taskID = (Int32)taskDB.ExecuteScalar(sql, pars, CommandType.Text, true); } catch (Exception ex) { throw new Exception(ex.Message); } return(taskID); }