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 Commit(IEnumerable <Event> events) { var sql = $@"INSERT INTO {_tableName} (EntityType, EntityId, Name, Version, JsonPayload, OccurredAt) values(@entityType, @entityId, @name, @version, @jsonPayload, @occurredAt)"; var items = events.Select(x => new InsertEvent { EntityId = x.EntityId, EntityType = x.EntityType, Name = x.Name, Version = x.Version, JsonPayload = x.JsonPayload, OccurredAt = UnixUtcTime.ToDateTime(x.OccurredAt) }); _db.UsingConnection(x => { var t = x.BeginTransaction(); x.Execute(sql, items, t); t.Commit(); }); }