/// <summary> /// Permet de remplir les propriétés de mappage de l'entité question. /// </summary> /// <param name="reader">reader contenant les données.</param> /// <returns>Un objet questionDTO.</returns> public override Mappage.DTOBase populateDTO(System.Data.SqlClient.SqlDataReader reader) { questionDTO question = new questionDTO(); // On crée un nouveau questionDTO. Etant donné qu'il hérite de DTOBase on peut l'utiliser comme valeur de retour. // On utilise l'ordinal correspondant pour s'assurer que la valeur retournée par le reader n'est pas null. // Si cette valeur n'est pas null, on utilise getXXX typée du reader pour obtenir la valeur. if (!reader.IsDBNull(ordQuestionGuid)) { question.questionGuid = reader.GetGuid(ordQuestionGuid); } if (!reader.IsDBNull(ordQuestionIntitule)) { question.questionIntitule = reader.GetString(ordQuestionIntitule); } if (!reader.IsDBNull(ordQuestionReponseGuid)) { question.questionReponseGuid = reader.GetInt32(ordQuestionReponseGuid); } if (!reader.IsDBNull(ordQuestionDifficulteGuid)) { question.questionDifficulteGuid = reader.GetInt32(ordQuestionDifficulteGuid); } if (!reader.IsDBNull(ordQuestionTypeGuid)) { question.questionTypeGuid = reader.GetInt32(ordQuestionTypeGuid); } question.isNew = false; return question; }
/// <summary> /// Permet de sauvegarde une question. /// </summary> /// <param name="question">Un objet question.</param> public static void saveQuestion(ref questionDTO question) { bool isNewRecord = false; if (question.questionGuid.Equals(DTOBase.guidNullValue)) { isNewRecord = true; } SqlCommand command = getDbSprocCommand("questionSave"); command.Parameters.Add(createParameter("@ID", question.questionGuid)); command.Parameters.Add(createParameter("@Intitule", question.questionIntitule)); command.Parameters.Add(createParameter("@IDReponse", question.questionReponseGuid)); command.Parameters.Add(createParameter("@IDDifficulte", question.questionDifficulteGuid)); command.Parameters.Add(createParameter("@IDType", question.questionTypeGuid)); SqlParameter paramNewQuestionGuid = createOutputParameter("@newQuestionID", SqlDbType.UniqueIdentifier); command.Parameters.Add(paramNewQuestionGuid); command.Connection.Open(); command.ExecuteNonQuery(); command.Connection.Close(); if (isNewRecord) { question.questionGuid = (Guid)paramNewQuestionGuid.Value; } }