Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 public string updateRedis(AttendanceWinformRequest request)
 {
     return(updateRedisAttendance(request));
 }
Ejemplo n.º 5
0
 public Message CreateMessageOfWinform(AttendanceWinformRequest request)
 {
     return(CreateMess(request.EmpCode, request.FaceMachineCode, request.Mode, request.base64StringImg, request.createTime, null));
 }