public async Task<ActionResult> AttendanceWinform([FromBody]AttendanceWinformRequest request) { ActionResult response = NotFound(); try { AttendanceService service = new AttendanceService(_unitOfWork); Message message = service.CreateMessageOfWinform(request); if(message!= null) { // Send a message to the device corresponding to the provided // registration token. String HTTPProtocol = await FirebaseMessaging.DefaultInstance.SendAsync(message).ConfigureAwait(true); JObject o = new JObject(new JProperty("name", HTTPProtocol)); response = Ok(o); // Response is a message ID string. } } catch { response = BadRequest(); } return response; }
private string updateRedisAttendance(AttendanceWinformRequest request) { string machineCode = request.FaceMachineCode; string base64 = request.base64StringImg; DateTime time = request.createTime; string json = getRedisLastAttendance(machineCode); string _jsonRedis = _redisCache.GetString("AttendanceList"); if (_jsonRedis == null) { List <AttendanceRedis> attendances = new List <AttendanceRedis>(); attendances.Add(new AttendanceRedis() { machineCode = machineCode, base64 = base64, createTime = time }); _jsonRedis = JsonSerializer.Serialize <List <AttendanceRedis> >(attendances); var options = new DistributedCacheEntryOptions(); options.SetAbsoluteExpiration(DateTimeOffset.Now.AddDays(2)); _redisCache.SetString("AttendanceList", _jsonRedis, options); } else { JsonSerializerOptions opt = new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }; List <AttendanceRedis> data = JsonSerializer.Deserialize <List <AttendanceRedis> >(_jsonRedis, opt); var cacheAttendance = data.FirstOrDefault(p => p.machineCode == machineCode); if (cacheAttendance == null) { data.Add(new AttendanceRedis() { machineCode = machineCode, base64 = base64, createTime = time }); } else { cacheAttendance.base64 = base64; cacheAttendance.createTime = time; } var jsonPlaylists = JsonSerializer.Serialize <List <AttendanceRedis> >(data); var options = new DistributedCacheEntryOptions(); options.SetAbsoluteExpiration(DateTimeOffset.Now.AddDays(2)); _redisCache.SetString("AttendanceList", jsonPlaylists, options); } return(json); }
public async Task<ActionResult> getRedis([FromBody]AttendanceWinformRequest request) { ActionResult response = NotFound(); try { RedisConnectionService service = new RedisConnectionService(_unitOfWork,_redisCache); string result = service.updateRedis(request); if(!result.Equals("")) { response = Ok(result); } } catch { response = BadRequest(); } return await Task.FromResult(response); }
public string updateRedis(AttendanceWinformRequest request) { return(updateRedisAttendance(request)); }
public Message CreateMessageOfWinform(AttendanceWinformRequest request) { return(CreateMess(request.EmpCode, request.FaceMachineCode, request.Mode, request.base64StringImg, request.createTime, null)); }