Esempio n. 1
0
        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));
        }