private void WriteUserResultInConsul(Result result, OldUser oldUser, Test test, ShellResult shell) { var dbManager = new ConsulIntegratorManager(); dbManager.AddShellResult(oldUser, result, test, shell); }
public void SaveResultsForImport(Result result, List<WebConcreteQuestion> webResultItems = null) { using (var shellResultRepository = new BaseRepository<ShellResult>()) { var user = GetUserByResult(result.Id); var test = GetTestByResult(result.Id); var resultItems = GetResultItemsByResult(result.Id); var resultConverterItem = new ResultConverter(user, test, resultItems); resultConverterItem.SetTestSettingsByDefault(); // Kot test //if (webResultItems != null && String.Equals(test.CodeName, Constraints.KKotCodeName)) //{ // resultConverterItem.FormKotAnswers(webResultItems); //} //else //{ // resultConverterItem.FormAnswers(); //} var shellResult = new ShellResult { ResultId = result.Id, TestDate = result.TestDate, UserId = user.Id, MethodId = resultConverterItem.TestSettings.MethodId }; if (webResultItems != null && String.Equals(test.CodeName, Constraints.KKotCodeName)) { shellResult.Answer = resultConverterItem.FormKotAnswers(webResultItems); } else { shellResult.Answer = resultConverterItem.FormAnswers(); } if (!shellResultRepository.Create(shellResult).Status) { throw new CreateException(); } } }
public void AddShellResult(OldUser oldUser, Result result, Test test, ShellResult shellResut) { try { _connection.Open(); int count = -1; // Check OldUser exists String name = oldUser.FirstName + " " + oldUser.LastName; if (name.Length == 1) { name = String.Empty; } String login = oldUser.Login; String gender = String.Empty; if (oldUser.Gender) { gender = "M"; } else { gender = "F"; } var query = String.Empty; if (name.Length > 0) { query = @"SELECT count(*) FROM [USER] where [NAME] = '" + name + "'" + " AND [GENDER] = '" + gender + "' AND [DATE] = #" + oldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; } else { query = @"SELECT count(*) FROM [USER] where [NAME] = '" + login + "'" + " AND [GENDER] = '" + gender + "' AND [DATE] = #" + oldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; } //query = @"SELECT count(*) FROM [USER] where [NAME] IN ('" + name + "','" + login + "') " + // " AND [GENDER] = '" + gender + "' AND [DATE] = #" + OldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; var command = new OleDbCommand(query, _connection); var reader = command.ExecuteReader(); while (reader.Read()) { count = reader.GetInt32(0); } if (count <= 0) { // Select firstname + lastname ot login var resName = String.Empty; if (name.Length <= 0) { resName = login; } else { resName = name; } // Cut name to 30 symbols if (resName.Length >= 30) { resName = resName.Remove(29); } // Create OldUser query = "INSERT INTO [USER] (NAME, GENDER, [DATE]) VALUES('" + resName + "', '" + gender +"', #" + oldUser.BirthDate.ToString("yyyy-MM-dd") + "#)"; command = new OleDbCommand(query, _connection); if (command.ExecuteNonQuery() <= 0) { throw new ConsulDBException(); } } // GET id of OldUser int userId = -1; if (name.Length > 0) { query = @"SELECT ID FROM [USER] where [NAME] = '" + name + "'" + " AND [GENDER] = '" + gender + "' AND [DATE] = #" + oldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; } else { query = @"SELECT ID FROM [USER] where [NAME] = '" + login + "'" + " AND [GENDER] = '" + gender + "' AND [DATE] = #" + oldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; } //query = @"SELECT ID FROM [USER] where [NAME] = '" + name + "'" + // " AND [GENDER] = '" + gender + "' AND [DATE] = #" + OldUser.BirthDate.ToString("yyyy-MM-dd") + "#"; command = new OleDbCommand(query, _connection); reader = command.ExecuteReader(); while (reader.Read()) { userId = reader.GetInt32(0); } var comment = result.TestDate.ToString("dd.MM.yyyy_HH.mm.ss") + "_" + oldUser.FirstName + "_" + oldUser.LastName + "_" + oldUser.BirthDate.ToString("dd.MM.yyyy") + "_" + test.CodeName; // Create result query = "INSERT INTO [RESULT] (U_ID, M_ID, DATA, COMMENT, [DATE]) VALUES (" + userId + ", " + shellResut.MethodId + ", '" + shellResut.Answer + "', '" + comment + "', #" + result.TestDate.ToString("yyyy-MM-dd HH:mm:ss") + "#)"; command = new OleDbCommand(query, _connection); if (command.ExecuteNonQuery() <= 0) { throw new ConsulDBException(); } _connection.Close(); } catch (Exception) { throw new ConsulDBException(); } }