public virtual async Task <ActionServiceResult> GetEntityByID(string id) { var response = new ActionServiceResult(); if (string.IsNullOrEmpty(id)) { response.Success = false; response.Code = Code.ValidateEntity; response.Message = Resources.ValidateEntity; } else { var entity = await _baseEntityService.GetEntityById(id); if (entity == null) { response.Success = false; response.Code = Code.NotFound; response.Message = Resources.NotFound; } else { response.Data = entity; } } return(response); }
public async Task <ActionServiceResult> ScoreStatistics(string contestID) { StringValues userHeader; Request.Headers.TryGetValue("UserID", out userHeader); var userID = userHeader.FirstOrDefault().ToString(); var result = new ActionServiceResult(); if (userID == null || string.IsNullOrEmpty(userID)) { result.Success = false; result.Code = Code.NotFound; } var user = await _baseUserEntityService.GetEntityById(userID); if (user == null) { return(new ActionServiceResult() { Success = false, Message = "User khong ton tai trong he thong", Code = Code.NotFound }); } //var roleName = string.IsNullOrEmpty(_role.GetValueOrDefault(user.RoleId.ToString())) ? "student" : _role.GetValueOrDefault(user.RoleId.ToString()); return(_contestService.ThongKe(userID, contestID, user.RoleId.ToString())); }
public virtual async Task <ActionResult <T> > GetEntityByID(string id) { var entity = await _baseEntityService.GetEntityById(id); if (entity == null) { return(NotFound()); } return(Ok(entity)); }
public async Task <ActionServiceResult> GetByID(string contestID) { StringValues userHeader; Request.Headers.TryGetValue("UserID", out userHeader); var userID = userHeader.FirstOrDefault().ToString(); var result = new ActionServiceResult(); if (userID == null || string.IsNullOrEmpty(userID)) { result.Success = false; result.Code = ApplicationCore.Enums.Enumration.Code.NotFound; } else { var response = await _baseEntityService.GetEntityById(contestID); result.Data = response; } return(result); }
public async Task <ActionServiceResult> GetByID(string examID) { StringValues userHeader; Request.Headers.TryGetValue("UserID", out userHeader); var userID = userHeader.FirstOrDefault().ToString(); var result = new ActionServiceResult(); if (userID == null || string.IsNullOrEmpty(userID) || examID == null) { result.Success = false; result.Code = Code.NotFound; } else { var response = new ActionServiceResult(); var exam = await _baseEntityService.GetEntityById(examID); if (exam == null) { response.Success = false; response.Code = Code.NotFound; response.Message = Resources.NotFound; return(response); } else { var contest = await _contestRepo.GetEntityByIdAsync(exam.ContestId); if (DateTime.Compare(Utils.GetNistTime(), contest.FinishTime) >= 0) { if (exam.Status == 0) { //Tinh diem exam.Point = Utils.TinhDiem(exam.Result, exam.Answer); exam.Status = 1; await _baseEntityService.Update(exam); } exam.IsDoing = null; exam.Result = null; exam.Status = null; } else if (DateTime.Compare(Utils.GetNistTime(), contest.StartTime) < 0) { return(null); } else { if (exam.TimeUsing < contest.TimeToDo) { if (exam.Status == 0) { if (exam.IsDoing == 1) { var now = DateTime.Now; if ((now - exam.ModifiedDate.Value).TotalSeconds > 10) { if (exam.StartAgain == null) { if (exam.TimeUsing == 0) { exam.TimeUsing += (exam.ModifiedDate.Value - exam.CreatedDate.Value).TotalSeconds / 60.0; exam.StartAgain = now; exam.ModifiedDate = now; } } else { exam.TimeUsing += (exam.ModifiedDate.Value - exam.StartAgain.Value).TotalSeconds / 60.0; exam.StartAgain = now; exam.ModifiedDate = now; } await _baseEntityService.Update(exam); return(new ActionServiceResult() { Success = true, Code = Code.Success, Data = exam }); } else { return(new ActionServiceResult() { Success = true, Code = Code.IsDoing, Data = null }); } } else { exam.IsDoing = 1; exam.CreatedDate = Utils.GetNistTime(); exam.ModifiedDate = Utils.GetNistTime(); await _baseEntityService.Update(exam); } } else { exam.IsDoing = null; exam.Result = null; exam.Status = null; } } else { //Tinh diem exam.Point = Utils.TinhDiem(exam.Result, exam.Answer); exam.Status = 1; await _baseEntityService.Update(exam); return(new ActionServiceResult() { Success = true, Code = Code.Success, Data = exam }); } } return(new ActionServiceResult() { Success = true, Code = Code.Success, Data = exam }); } } return(new ActionServiceResult()); }
public async Task <ActionServiceResult> GetTranscript(string contestID) { StringValues clientIDHeader; Request.Headers.TryGetValue("ClientID", out clientIDHeader); var clientID = clientIDHeader.FirstOrDefault().ToString(); var result = new ActionServiceResult(); Console.WriteLine(); if (clientID == null || clientID.Trim() != "714b320c-1046-4e37-a3c3-20bc6fcac014" || String.IsNullOrEmpty(clientID)) { return(new ActionServiceResult() { Success = false, Code = Code.ValidateEntity, Message = "Đầu vào dữ liệu không hợp lệ" }); } else { try { var contest = await _baseContestService.GetEntityById(contestID); if (contest == null) { return(new ActionServiceResult() { Success = false, Code = Code.ValidateEntity, Message = "Không tồn tại kì thi" }); } else { var response = await _baseTranscriptRepo.GetEntitites("Proc_GetTranscriptsByContestID", new object[] { contestID }); if (response == null) { return new ActionServiceResult() { Code = Code.Exception, Success = false, Data = null } } ; else { var tmp = _mapper.Map <List <IntegrationTranscript> >(response); var data = new { Contest = new { ContestName = contest.ContestName, StartTime = contest.StartTime, TimeToDo = contest.TimeToDo, FinishTime = contest.FinishTime }, Data = tmp }; result.Data = data; } } } catch (Exception) { return(new ActionServiceResult() { Code = Code.Exception, Success = false, Data = null }); } } return(result); }