public ACSessionDTO Save(ACSessionDTO session) { if (session == null) { throw new ArgumentNullException(nameof(session)); } try { ValidationResult validationResult; if (IsValid(session, out validationResult)) { ACSessionModel sessionModel = this.ACSessionModel; bool isTransient = session.acSessionId == 0; ACSession sessionInstance = isTransient ? null : sessionModel.GetOneById(session.acSessionId).Value; sessionInstance = this.ConvertDto(session, sessionInstance); sessionModel.RegisterSave(sessionInstance, true); return(new ACSessionDTO(sessionInstance)); } var error = this.GenerateValidationError(validationResult); this.LogError("ACSession.Save", error); throw new FaultException <Error>(error, error.errorMessage); } catch (Exception ex) { Logger.Error("ACSession.Save", ex); throw; } }
public SNMemberSaveAllDTO SaveAll(SNMemberDTO[] results) { results = results ?? new SNMemberDTO[0]; var result = new SNMemberSaveAllDTO(); var faults = new List <string>(); var created = new List <SNMember>(); var sessionModel = SNSessionMemberModel; ACSessionModel acSessionModel = ACSessionModel; foreach (var appletResultDTO in results) { ValidationResult validationResult; var isValidDto = IsValid(appletResultDTO, out validationResult); var profileModel = new VCFProfileDTO { xmlProfile = appletResultDTO.participantProfile }; ValidationResult profileValidationResult; var isValidProfile = IsValid(profileModel, out profileValidationResult); if (isValidDto && isValidProfile) { var isTransient = appletResultDTO.snMemberId == 0; var appletResult = isTransient ? null : sessionModel.GetOneById(appletResultDTO.snMemberId).Value; appletResult = ConvertDto(appletResultDTO, appletResult, acSessionModel); sessionModel.RegisterSave(appletResult); created.Add(appletResult); } else { if (!isValidDto) { faults.AddRange(UpdateResultToString(validationResult)); } if (!isValidProfile) { faults.AddRange(UpdateResultToString(profileValidationResult)); } } } if (created.Any()) { //var companyId = results.FirstOrDefault(x => x.companyId != 0).With(x => x.companyId); //if (companyId != default(int)) //{ // IoC.Resolve<RealTimeNotificationModel>().NotifyClientsAboutChangesInTable<SNMember>(NotificationType.Update, companyId, 0); //} result.saved = created.Select(x => new SNMemberDTO(x)).ToArray(); } if (faults.Any()) { result.faults = faults.ToArray(); } return(result); }
public async Task SaveAll(TestSummaryResultDTO testResult) { if (testResult == null) { throw new ArgumentNullException(nameof(testResult)); } if (testResult.testResults == null) { testResult.testResults = new TestResultDTO[0]; } try { if (!IsValid(testResult, out var valResult)) { return; } Test test = TestModel.GetOneById(testResult.testId).Value; ACSession acSession = ACSessionModel.GetOneById(testResult.acSessionId).Value; if (acSession == null) { throw new ArgumentException($"There are not session with acSessionId : {testResult.acSessionId}"); } int acSessionId = acSession.Id; foreach (var appletResultDTO in testResult.testResults) { appletResultDTO.acSessionId = testResult.acSessionId; if (IsValid(appletResultDTO, out var validationResult)) { var appletResult = ConvertDto(appletResultDTO, test, acSessionId); TestResultModel.RegisterSave(appletResult); if (appletResultDTO.results != null) { SaveAll(appletResult, appletResultDTO.results); } } } } catch (ArgumentException ex) { Logger.Error("TestResultService.SaveAll: ", ex); throw; } catch (Exception ex) { Logger.Error($"TestResultService.SaveAll json={JsonConvert.SerializeObject(testResult)}", ex); throw; } }
public async Task SaveAll(SurveySummaryResultDTO sResult) { if (sResult == null) { throw new ArgumentNullException(nameof(sResult)); } if (sResult.surveyResults == null) { sResult.surveyResults = new SurveyResultDTO[0]; } try { if (!IsValid(sResult, out ValidationResult valResult)) { return; } Survey survey = SurveyModel.GetOneById(sResult.surveyId).Value; ACSession acSession = ACSessionModel.GetOneById(sResult.acSessionId).Value; if (acSession == null) { throw new ArgumentException($"There are not session with acSessionId : {sResult.acSessionId}"); } int acSessionId = acSession.Id; foreach (var surveyResultDTO in sResult.surveyResults) { surveyResultDTO.acSessionId = sResult.acSessionId; if (IsValid(surveyResultDTO, out ValidationResult validationResult)) { var surveyResult = ConvertDto(surveyResultDTO, survey, acSessionId); SurveyResultModel.RegisterSave(surveyResult); if (surveyResultDTO.results != null) { await SaveAllAsync(surveyResult, surveyResultDTO.results); } } } } catch (ArgumentException ex) { Logger.Error("SurveyResultService.SaveAll: ", ex); throw; } catch (Exception ex) { Logger.Error($"SurveyResultService.SaveAll json={JsonConvert.SerializeObject(sResult)}", ex); throw; } }
private static SNMember ConvertDto(SNMemberDTO sessionMember, SNMember instance, ACSessionModel acSessionModel) { instance = instance ?? new SNMember(); instance.ParticipantProfile = sessionMember.participantProfile; instance.Participant = sessionMember.participant; instance.DateCreated = DateTime.Now; instance.IsBlocked = sessionMember.isBlocked; instance.ACSessionId = acSessionModel.GetOneById(sessionMember.acSessionId).Value.With(x => x.Id); return(instance); }
public IEnumerable <QuizSessionDTO> GetQuizSessionsByUserId() { var userId = int.Parse(User.Identity.GetUserId()); return(ACSessionModel.GetQuizSessionsByUserId(userId).Select(x => new QuizSessionDTO(x))); }
public IEnumerable <TestSessionDTO> GetTestSessionsByMeetingUrl(string meetingUrl) { var userId = int.Parse(User.Identity.GetUserId()); return(ACSessionModel.GetTestSessionsByUserIdMeetingUrl(userId, meetingUrl)); }
public IEnumerable <TestSessionDTO> GetTestSessionsByUserId() { var userId = int.Parse(User.Identity.GetUserId()); return(ACSessionModel.GetTestSessionsByUserId(userId)); }
public IEnumerable <SurveySessionDTO> GetSurveySessionsByMeetingUrl(string meetingUrl) { var userId = int.Parse(User.Identity.GetUserId()); return(ACSessionModel.GetSurveySessionsByUserIdMeetingUrl(userId, meetingUrl).Select(x => new SurveySessionDTO(x))); }
public async Task <OperationResultDto> SaveAll(QuizSummaryResultDTO quizResult) { if (quizResult == null) { Logger.Fatal("QuizResultService.SaveAll: ArgumentNullException for quizResult"); throw new ArgumentNullException(nameof(quizResult)); } if (quizResult.quizResults == null) { quizResult.quizResults = new QuizResultDTO[0]; } Logger.Info($"QuizResultService.SaveAll Start: AcSessionId {quizResult.acSessionId}, quizId : {quizResult.quizId}, companyId : {quizResult.companyId}, Count : {quizResult.quizResults.Length}"); IList <string> errorMessages = new List <string>(); try { //TRICK to get eventQuizMappingId var eventQuizMappingId = GetEventQuizMappingId(quizResult); // Quiz quiz = QuizModel.GetOneById(quizResult.quizId).Value; ACSession acSession = ACSessionModel.GetOneById(quizResult.acSessionId).Value; if (acSession == null) { throw new ArgumentException($"There are not session with acSessionId : {quizResult.acSessionId}"); } int acSessionId = acSession.Id; CompanyEventQuizMapping companyEventQuizMapping = null; if (eventQuizMappingId.HasValue && eventQuizMappingId.Value != 0) { companyEventQuizMapping = EventQuizMappingModel.GetOneById(eventQuizMappingId.Value).Value; } if (!IsValid(quizResult, out ValidationResult validationSummaryDtoResult)) { errorMessages = UpdateResultToShortString(validationSummaryDtoResult); return(OperationResultDto.Error(string.Join(";", errorMessages))); } foreach (var appletResultDTO in quizResult.quizResults) { appletResultDTO.acSessionId = quizResult.acSessionId; if (IsValid(appletResultDTO, out ValidationResult validationResult)) { var appletResult = ConvertDto(appletResultDTO, quiz, acSessionId, companyEventQuizMapping); QuizResultModel.RegisterSave(appletResult); if (appletResultDTO.results != null) { await SaveAllAsync(appletResult, appletResultDTO.results); } } else { errorMessages.AddRange(UpdateResultToShortString(validationResult)); } } } catch (ArgumentException ex) { Logger.Error("QuizResultService.SaveAll:", ex); throw; } catch (Exception ex) { Logger.Error($"QuizResultService.SaveAll json={JsonConvert.SerializeObject(quizResult)}", ex); throw; } return(errorMessages.Any() ? OperationResultDto.Error(string.Join(";", errorMessages)) : OperationResultDto.Success()); }