public void StartExam([FromBody] ClientSheetRequest clientSheetRequest) { var sheet = repoOnSite.GetSheetBySheetId(clientSheetRequest.SheetId); if (sheet != null) { var newStatus = new StatusExtension { _id = Guid.NewGuid().ToString(), ClientId = clientSheetRequest.ClientId, CreateDateTime = DateTime.Now, Status = "TESTING", }; var active = repoOnSite.GetLastActive().ActiveThruDateTime; if (active >= DateTime.Now.AddMinutes(sheet.Subject.ExamDuration)) { sheet.ActiveThruDateTime = DateTime.Now.AddMinutes(sheet.Subject.ExamDuration); } else { sheet.ActiveThruDateTime = active; } sheet.StatusExtensions.Add(newStatus); sheet.LatestStatus = "TESTING"; sheet.StartDateTime = DateTime.Now; repoOnSite.UpdateSheet(sheet); } }
public void EndExam([FromBody] ClientSheetRequest clientSheetRequest) { var sheet = repoOnSite.GetSheetBySheetId(clientSheetRequest.SheetId); var newStatus = new StatusExtension { _id = Guid.NewGuid().ToString(), ClientId = clientSheetRequest.ClientId, CreateDateTime = DateTime.Now, Status = sheet.CorrectScore >= sheet.Subject.PassScore ? "PASS" : "FAIL", }; sheet.StatusExtensions.Add(newStatus); sheet.LatestStatus = newStatus.Status; sheet.ExamDateTime = DateTime.Now; repoOnSite.UpdateSheet(sheet); //Update testreg status by sirinarin //var testreg = repoOnSite.GetTestRegisById(sheet.TestRegisID); //testreg.Status = newStatus.Status; //repoOnSite.UpdateTestRegis(testreg); if (sheet.LatestStatus == "PASS") { SyncExam(sheet); } }
public void StartExam(ClientSheetRequest clientsheet) { var client = new RestClient(serviceUrl); var request = new RestRequest("Client/StartExam", Method.POST); request.AddParameter("application/json", JsonConvert.SerializeObject(clientsheet), ParameterType.RequestBody); var response = client.Execute(request); }
public void EndExam([FromBody] ClientSheetRequest clientSheetRequest) { using (var client = new WebClient()) { try { var json = Newtonsoft.Json.JsonConvert.SerializeObject(clientSheetRequest); var dataByte = System.Text.Encoding.UTF8.GetBytes(json); client.Headers[HttpRequestHeader.ContentType] = "application/json"; dataByte = client.UploadData(this.svconfig.admindbip + "/api/Client/EndExam/", "POST", dataByte); } catch (Exception e) { throw new Exception(e.Message); } } }