public RecognizerInfoOutput FetchInstruction([FromBody] RecognizerInfoInput input) { RecognizerInfoOutput output = new RecognizerInfoOutput(); if (input == null) { Response.StatusCode = 400; output.Result = "INPUT_IS_NULL"; } else { RecognizerService recogService = new RecognizerService(input.RecognizerId, input.RecognizerKey, _db); if (recogService.IsAuthentic) { RecognizerTask task = recogService.GetLastUnreadTask(); if (task == null) { output.Result = "NO_NEW_TASK"; } else { task.Status = 2; task.DateModified = DateTime.UtcNow.AddHours(8); _db.SaveChanges(); output.TaskId = task.Id; output.Command = task.Command; output.PrimaryValue = task.PrimaryValue; output.SecondaryValue = task.SecondaryValue; output.Result = "OK"; } } else { Response.StatusCode = 400; output.Result = "CREDENTIAL_ERROR"; } } return(output); }
public RecognizerInfoOutput MarkTaskComplete([FromBody] RecognizerInfoInput input) { RecognizerInfoOutput output = new RecognizerInfoOutput(); if (input == null) { Response.StatusCode = 400; output.Result = "INPUT_IS_NULL"; } else { RecognizerService recogService = new RecognizerService(input.RecognizerId, input.RecognizerKey, _db); if (recogService.IsAuthentic) { RecognizerTask task = recogService.Recognizer.List_RecognizerTask.Where(e => e.Id.Equals(input.RecognizerTaskId) && e.Deleted == false).FirstOrDefault(); if (task == null) { Response.StatusCode = 400; output.Result = "TASK_NOT_EXIST"; } else { task.DateModified = DateTime.UtcNow.AddHours(8); task.Status = 3; _db.SaveChanges(); output.Result = "OK"; } } else { Response.StatusCode = 400; output.Result = "CREDENTIAL_ERROR"; } } return(output); }
public async Task <RecognizerInfoOutput> GetStatus([FromBody] RecognizerInfoInput input) { RecognizerInfoOutput output = new RecognizerInfoOutput(); if (input == null) { Response.StatusCode = 400; output.Result = "INPUT_IS_NULL"; } else { AspUserService aspUser = new AspUserService(_db, this); if (aspUser.IsAdmin) { RecognizerService recogService = new RecognizerService(input.RecognizerId, _db); if (!recogService.IsExist) { Response.StatusCode = 400; output.Result = "RECOGNIZER_NOT_EXIST"; } else { string trainingStatus = "NONE"; if (!string.IsNullOrEmpty(input.Type)) { if (input.Type.Equals("REGISTER_NEW_FACE")) { string personGroupId = _db.SiteConfigs.Where(e => e.Key.Equals("PERSONGROUP")).FirstOrDefault().Value; Uri uri = new Uri("https://bcp-facial.cognitiveservices.azure.com/face/v1.0/persongroups/" + personGroupId + "/training"); HttpClientHandler handler = new HttpClientHandler(); HttpClient client = new HttpClient(handler); //string respond = null; client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "8d4c42ecbb784d909275492115ea56f0"); HttpResponseMessage response = await client.GetAsync(uri); string siteUrl = _db.SiteConfigs.Where(e => e.Key.Equals("SITEURL")).First().Value; string respond = await response.Content.ReadAsStringAsync(); dynamic jsonObj = JsonConvert.DeserializeObject(respond); if (jsonObj.status != null) { trainingStatus = jsonObj.status; } else { trainingStatus = "NONE"; } } } output.RecognizerId = recogService.Recognizer.Id; output.RecognizerStatus = recogService.GetStatus(); output.LastActivity = recogService.GetDurationSince(); if (trainingStatus == "running") { output.Result = "TRAINING_IN_PROGRESS"; } else { output.Result = "OK"; } } } else { Response.StatusCode = 400; output.Result = "NO_PRIVILEGE"; } } return(output); }