コード例 #1
0
        public void EditQuestion(TQuestion model)
        {
            try
            {
                using (var dbContext = new QuestionsDBEntities())
                {
                    var modelToUpdate = dbContext.TQuestions.Include(x => x.TChoices).SingleOrDefault(x => x.ID == model.ID);

                    modelToUpdate.Question     = model.Question;
                    modelToUpdate.Image_url    = model.Image_url;
                    modelToUpdate.Thumb_url    = model.Thumb_url;
                    modelToUpdate.Published_at = model.Published_at;

                    var index = Math.Min(model.TChoices.Count(), modelToUpdate.TChoices.Count());
                    for (int i = 0; i < index; i++)
                    {
                        modelToUpdate.TChoices.ElementAt(i).Choice = model.TChoices.ElementAt(i).Choice;
                        modelToUpdate.TChoices.ElementAt(i).Votes  = model.TChoices.ElementAt(i).Votes;
                    }

                    dbContext.SaveChanges();
                }
            }
            catch (Exception exception)
            {
                log.Error(exception);
            }
        }
コード例 #2
0
        public QuestionViewModel EntityToViewModel(TQuestion entity)
        {
            try
            {
                var viewModel = new QuestionViewModel();

                if (entity != null)
                {
                    viewModel.ID           = entity.ID;
                    viewModel.Question     = entity.Question;
                    viewModel.Image_url    = entity.Image_url;
                    viewModel.Thumb_url    = entity.Thumb_url;
                    viewModel.Published_at = entity.Published_at;

                    foreach (var item in entity.TChoices.ToList())
                    {
                        viewModel.Choices.Add(new ChoiceModel(item.Choice, item.Votes));
                    }
                }

                return(viewModel);
            }
            catch (Exception exception)
            {
                log.Error(exception);
                return(new QuestionViewModel());
            }
        }
コード例 #3
0
        public TQuestion ViewModelToEntity(QuestionViewModel viewModel)
        {
            try
            {
                var entity = new TQuestion();

                if (viewModel != null)
                {
                    entity.ID           = viewModel.ID;
                    entity.Question     = viewModel.Question;
                    entity.Image_url    = viewModel.Image_url;
                    entity.Thumb_url    = viewModel.Thumb_url;
                    entity.Published_at = viewModel.Published_at;

                    foreach (var item in viewModel.Choices.ToList())
                    {
                        entity.TChoices.Add(new TChoice()
                        {
                            FK_TQuestion_ID = entity.ID, Choice = item.Choice, Votes = item.Votes
                        });
                    }
                }

                return(entity);
            }
            catch (Exception exception)
            {
                log.Error(exception);
                return(new TQuestion());
            }
        }
コード例 #4
0
        public int CreateQuestion(TQuestion model)
        {
            try
            {
                using (var dbContext = new QuestionsDBEntities())
                {
                    dbContext.TQuestions.Add(model);
                    dbContext.SaveChanges();

                    return(model.ID);
                }
            }
            catch (Exception exception)
            {
                log.Error(exception);
                return(-1);
            }
        }