public async Task <SessionModel> StartNewSession(string workerId) { string sql = @"select * from Sessions where WorkerId = @WorkerId"; SessionModel sm = await _db.LoadDataSingleAsync <dynamic, SessionModel>(sql, new { WorkerId = workerId }); if (sm != null) { return(sm); } var dollarsPerBar = await GetDollarsPerBar(); sql = @"insert into dbo.Sessions (WorkerId, Time, DollarsPerBar) output inserted.* values (@WorkerId, @Time, @DollarsPerBar)"; DateTime utcNow = DateTime.UtcNow; sm = new SessionModel() { WorkerId = workerId.ToUpper(), Time = utcNow, DollarsPerBar = dollarsPerBar }; return(await _db.SaveData <SessionModel, SessionModel>(sql, sm)); }