public void Put(string id, TaskInstanceRecord obj) { var sql = @"UPDATE HomeTask.TaskInstances SET Id = @id, Description = @description, Status = @status, TaskId = @taskId, UserId = @userId, Due = @due, Price = @price, IsFunded = @isFunded, FundedOn = @fundedOn, FundedByUserId = @fundedByUserId, UpdatedStatusAt = @updatedStatusAt, UpdatedStatusByUserId = @updatedStatusByUserId WHERE Id = @id; IF @@ROWCOUNT = 0 BEGIN INSERT INTO HomeTask.TaskInstances (Id, Description, Status, TaskId, UserId, Due, Price, IsFunded, FundedOn, FundedByUserId, UpdatedStatusAt, UpdatedStatusByUserId) VALUES (@id, @description, @status, @taskId, @userId, @due, @price, @isFunded, @fundedOn, @fundedByUserId, @updatedStatusAt, @updatedStatusByUserId) END"; _db.Execute(sql, new { id = obj.Id, description = obj.Description, status = obj.Status.ToString(), taskId = obj.TaskId, userId = obj.UserId, due = UnixUtcTime.ToDateTime(obj.Due), price = obj.Price, isFunded = obj.IsFunded, fundedOn = UnixUtcTime.ToDateTime(obj.FundedOn), fundedByUserId = obj.FundedByUserId, updatedStatusAt = UnixUtcTime.ToDateTime(obj.UpdatedStatusAt), updatedStatusByUserId = obj.UpdatedStatusByUserId }); }
public void TaskInstancesTable_PutGet_Works() { var sampleTask = TaskInstanceRecord.New(SampleTaskId, "Task Description", SampleUserId, Clock.UnixUtcNow, 50); _taskInstances.Put(sampleTask.Id, sampleTask); Assert.IsTrue(_taskInstances.GetAll().Any(x => x.Id.Matches(sampleTask.Id))); var task = _taskInstances.Get(sampleTask.Id).Value; Assert.AreEqual(sampleTask.Id, task.Id); Assert.AreEqual(sampleTask.IsFunded, task.IsFunded); Assert.AreEqual(sampleTask.Price, task.Price); Assert.AreEqual(sampleTask.Status, task.Status); Assert.AreEqual(sampleTask.TaskId, task.TaskId); Assert.AreEqual(sampleTask.UserId, task.UserId); Assert.AreEqual(sampleTask.UpdatedStatusAt, task.UpdatedStatusAt); Assert.AreEqual(sampleTask.UpdatedStatusByUserId, task.UpdatedStatusByUserId); Assert.AreEqual(sampleTask.Due, task.Due); Assert.AreEqual(sampleTask.FundedByUserId, task.FundedByUserId); Assert.AreEqual(sampleTask.FundedOn, task.FundedOn); _taskInstances.Remove(sampleTask.Id); }