コード例 #1
0
 public void InsertQuestion(int Id, OfficeHourQuestion model, string userId)
 {
     DataProvider.ExecuteNonQuery(GetConnection, "dbo.OfficeHourQuestions_InsertQuestion"
                                  , inputParamMapper : delegate(SqlParameterCollection param)
     {
         param.AddWithValue("@UserId", userId);
         param.AddWithValue("@OfficeHourId", Id);
         param.AddWithValue("@Question", model.Question);
     });
 }
コード例 #2
0
        public List <OfficeHour> GetList()
        {
            List <OfficeHour>                    session  = null;
            List <OfficeHourQuestion>            question = null;
            Dictionary <int, OfficeHour>         book     = null;
            Dictionary <int, OfficeHourQuestion> diary    = null;


            DataProvider.ExecuteCmd(GetConnection, "dbo.OfficeHours_SelectAll"
                                    , inputParamMapper : null,
                                    map : delegate(IDataReader reader, short set)
            {
                if (set == 0)
                {
                    if (session == null)
                    {
                        session = new List <OfficeHour>();
                    }

                    if (book == null)
                    {
                        book = new Dictionary <int, OfficeHour>();
                    }

                    ProcessOfficeHourData(reader, session, book);
                }
                else if (set == 1)
                {
                    OfficeHourQuestion item = OfficeHourQuestionMap(reader);

                    var parent = book[item.OfficeHourId];

                    if (parent.Questions == null)
                    {
                        parent.Questions = new List <OfficeHourQuestion>();
                    }

                    if (diary == null)
                    {
                        diary = new Dictionary <int, OfficeHourQuestion>();
                    }

                    parent.Questions.Add(item);

                    diary.Add(item.Id, item);
                }
                else if (set == 2)
                {
                    ProcessOfficeHourQuestionTagData(reader, diary, question);
                }
            }
                                    );

            return(session);
        }
コード例 #3
0
        public HttpResponseMessage Post(int Id, OfficeHourQuestion model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            SucessResponse response = new SucessResponse();
            string         userId   = UserService.GetCurrentUserId();

            _officeHourServices.InsertQuestion(Id, model, userId);
            return(Request.CreateResponse(response));
        }
コード例 #4
0
        private OfficeHourQuestion OfficeHourQuestionMap(IDataReader reader)
        {
            OfficeHourQuestion item = new OfficeHourQuestion();
            int startingIndex       = 0;

            item.Id               = reader.GetSafeInt32(startingIndex++);
            item.OfficeHourId     = reader.GetSafeInt32(startingIndex++);
            item.Question         = reader.GetSafeString(startingIndex++);
            item.Response         = reader.GetSafeString(startingIndex++);
            item.Grouping         = reader.GetSafeString(startingIndex++);
            item.QuestionStatusId = reader.GetSafeInt32(startingIndex++);

            return(item);
        }
コード例 #5
0
        public OfficeHour Get(int Id)
        {
            OfficeHour         session  = null;
            OfficeHourQuestion question = null;
            Dictionary <int, OfficeHourQuestion> book = new Dictionary <int, OfficeHourQuestion>();
            OfficeHourQuestionTag tag = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.OfficeHours_SelectById"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Id", Id);
            }, map : delegate(IDataReader reader, short set)
            {
                if (set == 0)
                {
                    session = OfficeHourMap(reader);
                }
                else if (set == 1)
                {
                    question = OfficeHourQuestionMap(reader);
                    if (session.Questions == null)
                    {
                        session.Questions = new List <OfficeHourQuestion>();
                    }
                    session.Questions.Add(question);

                    book.Add(question.Id, question);
                }
                else if (set == 2)
                {
                    tag = OfficeHourQuestionTagMap(reader);

                    var parent = book[tag.OfficeHourQuestionId];

                    if (parent.Tags == null)
                    {
                        parent.Tags = new List <Tag>();
                    }

                    Tag t     = new Tag();
                    t.Id      = tag.TagId;
                    t.TagName = tag.TagName;
                    parent.Tags.Add(t);
                }
            }
                                    );
            return(session);
        }
コード例 #6
0
        public OfficeHourQuestion getQuestion(int oId, int Id)
        {
            OfficeHourQuestion us = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.OfficeHourQuestions_SelectByOfficeHourIdAndQuestionId",
                                    inputParamMapper : delegate(SqlParameterCollection parameterCollection)
            {
                parameterCollection.AddWithValue("@Id", Id);
                parameterCollection.AddWithValue("@OfficeHourId", oId);
            },
                                    map : delegate(IDataReader reader, short set)
            {
                us = OfficeHourQuestionMap(reader);
            }

                                    );
            return(us);
        }
コード例 #7
0
        public List <OfficeHourQuestion> GetByOfficeHourId(int id)
        {
            List <OfficeHourQuestion> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.OfficeHourQuestions_SelectByOfficeHourId"
                                    , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@OfficeHourId", id);
            }, map : delegate(IDataReader reader, short set)
            {
                OfficeHourQuestion question = OfficeHourQuestionMap(reader);

                if (list == null)
                {
                    list = new List <OfficeHourQuestion>();
                }
                list.Add(question);
            });
            return(list);
        }
コード例 #8
0
        private OfficeHourQuestion OfficeHourQuestionMap(IDataReader reader)
        {
            OfficeHourQuestion item = new OfficeHourQuestion();
            int startingIndex = 0;

            item.Id = reader.GetSafeInt32(startingIndex++);
            item.OfficeHourId = reader.GetSafeInt32(startingIndex++);
            item.Question = reader.GetSafeString(startingIndex++);
            item.Response = reader.GetSafeString(startingIndex++);
            item.Grouping = reader.GetSafeString(startingIndex++);
            item.QuestionStatusId = reader.GetSafeInt32(startingIndex++);

            return item;
        }