예제 #1
0
        public async Task <RecordResult> SignOut([FromBody] SignOutModel model)
        {
            // 从数据库获取签到记录
            Record record = await(from r in _context.Records
                                  where r.SignOutTime == null &&
                                  r.StudentId == model.StudentId
                                  select r).FirstAsync();

            // 签退
            record.SignOut();

            // 更新签到记录
            try
            {
                _context.Update(record);
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                _logger.LogError($"DataBase Error: {e.Message}");
                return(RecordResult.Fail(RecordErrorResource.DataBaseError));
            }

            return(RecordResult.Success());
        }
예제 #2
0
        public async Task <object> SignOut(string userId)
        {
            Record record = await(from r in _context.Records
                                  where r.SignOutTime == null &&
                                  r.UserId == userId
                                  select r).FirstOrDefaultAsync();

            if (record == null)
            {
                return(new
                {
                    result = false,
                    msg = "未能找到对于记录!"
                });
            }

            record.SignOutTime = DateTime.UtcNow;

            _context.Update(record);
            await _context.SaveChangesAsync();

            return(new
            {
                result = true,
                msg = ""
            });
        }