Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }