public void SaveTask(Task task) { var sql = @" if exists(select * from Task where TaskID=@TaskID) begin update Task set ProjectID = @ProjectID , Title = @Title , Description = @Description , EstimatedHours = @EstimatedHours , ActualHours = @ActualHours , DueDate = @DueDate , TaskPriorityID = @TaskPriorityID , TaskTypeID = @TaskTypeID , Reference = @Reference , IsComplete = @IsComplete , RootTaskID = @RootTaskID , ParentTaskID = @ParentTaskID , DateCompleted = @DateCompleted , DateCreated = @DateCreated , CreatedBy = @CreatedBy , DateStarted = @DateStarted , MemberNames = @MemberNames where TaskID=@TaskID end else begin insert into Task( ProjectID , Title , Description , EstimatedHours , ActualHours , DueDate , TaskPriorityID , TaskTypeID , Reference , IsComplete , RootTaskID , ParentTaskID , DateCompleted , DateCreated , CreatedBy , DateStarted , MemberNames )values( @ProjectID , @Title , @Description , @EstimatedHours , @ActualHours , @DueDate , @TaskPriorityID , @TaskTypeID , @Reference , @IsComplete , @RootTaskID , @ParentTaskID , @DateCompleted , @DateCreated , @CreatedBy , @DateStarted , @MemberNames ); select scope_identity(); end "; using (var cmd = new SqlCommand(sql)) { cmd.Parameters.Add("@TaskID", SqlDbType.Int).Value = task.TaskID; cmd.Parameters.Add("@ProjectID", SqlDbType.Int).Value = ValueOrNull(task.ProjectID); cmd.Parameters.Add("@Title", SqlDbType.VarChar, 200).Value = task.Title; cmd.Parameters.Add("@Description", SqlDbType.VarChar, 2000).Value = ValueOrNull(task.Description); cmd.Parameters.Add("@EstimatedHours", SqlDbType.Decimal).Value = ValueOrNull(task.EstimatedHours); cmd.Parameters.Add("@ActualHours", SqlDbType.Decimal).Value = ValueOrNull(task.ActualHours); cmd.Parameters.Add("@DueDate", SqlDbType.DateTime).Value = ValueOrNull(task.DueDate); cmd.Parameters.Add("@TaskPriorityID", SqlDbType.Int).Value = ValueOrNull(task.TaskPriorityID); cmd.Parameters.Add("@TaskTypeID", SqlDbType.Int).Value = ValueOrNull(task.TaskTypeID); cmd.Parameters.Add("@Reference", SqlDbType.VarChar, 20).Value = ValueOrNull(task.Reference); cmd.Parameters.Add("@IsComplete", SqlDbType.Bit).Value = ValueOrNull(task.IsComplete); cmd.Parameters.Add("@RootTaskID", SqlDbType.Int).Value = task.RootTaskID; cmd.Parameters.Add("@ParentTaskID", SqlDbType.Int).Value = task.ParentTaskID; cmd.Parameters.Add("@DateCompleted", SqlDbType.DateTime).Value = ValueOrNull(task.DateCompleted); cmd.Parameters.Add("@DateCreated", SqlDbType.DateTime).Value = ValueOrNull(task.DateCreated); cmd.Parameters.Add("@CreatedBy", SqlDbType.Int).Value = ValueOrNull(task.CreatedBy); cmd.Parameters.Add("@DateStarted", SqlDbType.DateTime).Value = ValueOrNull(task.DateStarted); cmd.Parameters.Add("@MemberNames", SqlDbType.VarChar, 100).Value = ValueOrNull(task.MemberNames); var id = _helper.ExecuteScalar<int>(cmd); if (task.TaskID == 0) { task.TaskID = id; } } }
public void SaveQuickTask(int memberID, int projectID, string title) { var task = new Task(); task.ProjectID = projectID; task.Title = title; task.DateCreated = DateTime.Now; task.CreatedBy = memberID; task.Description = task.Title; this._taskRepo.SaveTask(task); task.ParentTaskID = task.TaskID; task.RootTaskID = task.TaskID; this._taskRepo.SaveTask(task); }