protected int SetVariable(string n, string m, string name, string value) { if (elements[name].Write == false) { throw new CmiReadWriteOnlyException(Translations.InteractionCorrectResponses_SetValue_Requested_variable_is_read_only); } int interactionRef, number; int.TryParse(n, out interactionRef); int.TryParse(m, out number); List <TblVarsInteractionCorrectResponses> list = ServerModel.DB.Query <TblVarsInteractionCorrectResponses>( new AndCondition( new CompareCondition <int>( DataObject.Schema.LearnerSessionRef, new ValueCondition <int>(LearnerSessionId), COMPARE_KIND.EQUAL), new CompareCondition <string>( DataObject.Schema.Name, new ValueCondition <string>(name), COMPARE_KIND.EQUAL), new CompareCondition <int>( DataObject.Schema.InteractionRef, new ValueCondition <int>(interactionRef), COMPARE_KIND.EQUAL), new CompareCondition <int>( DataObject.Schema.Number, new ValueCondition <int>(number), COMPARE_KIND.EQUAL))); if (list.Count > 0) { list[0].Value = value; ServerModel.DB.Update <TblVarsInteractionCorrectResponses>(list[0]); return(list[0].ID); } else { TblVarsInteractionCorrectResponses lsv = new TblVarsInteractionCorrectResponses { LearnerSessionRef = LearnerSessionId, InteractionRef = interactionRef, Name = name, Value = value, Number = number }; return(ServerModel.DB.Insert <TblVarsInteractionCorrectResponses>(lsv)); } }
protected int SetVariable(string n, string m, string name, string value) { if (elements[name].Write == false) { throw new CmiReadWriteOnlyException(Translations.InteractionCorrectResponses_SetValue_Requested_variable_is_read_only); } int interactionRef, number; int.TryParse(n, out interactionRef); int.TryParse(m, out number); List<TblVarsInteractionCorrectResponses> list = ServerModel.DB.Query<TblVarsInteractionCorrectResponses>( new AndCondition( new CompareCondition<int>( DataObject.Schema.LearnerSessionRef, new ValueCondition<int>(LearnerSessionId), COMPARE_KIND.EQUAL), new CompareCondition<string>( DataObject.Schema.Name, new ValueCondition<string>(name), COMPARE_KIND.EQUAL), new CompareCondition<int>( DataObject.Schema.InteractionRef, new ValueCondition<int>(interactionRef), COMPARE_KIND.EQUAL), new CompareCondition<int>( DataObject.Schema.Number, new ValueCondition<int>(number), COMPARE_KIND.EQUAL))); if (list.Count > 0) { list[0].Value = value; ServerModel.DB.Update<TblVarsInteractionCorrectResponses>(list[0]); return list[0].ID; } else { TblVarsInteractionCorrectResponses lsv = new TblVarsInteractionCorrectResponses { LearnerSessionRef = LearnerSessionId, InteractionRef = interactionRef, Name = name, Value = value, Number = number }; return ServerModel.DB.Insert<TblVarsInteractionCorrectResponses>(lsv); } }