/// <summary>
        ///
        /// </summary>
        /// <param name="itemsQuestionDetail"></param>
        /// <returns></returns>
        public Boolean SaveQuestionDetail(List <LogicViewModel> itemsQuestionDetail)
        {
            bool isSuccess;

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    foreach (var itemTempLogic in itemsQuestionDetail)
                    {
                        var oneQuestion = _questionDao.GetOne(new Guid(itemTempLogic.IdQuestion));

                        if (!string.IsNullOrEmpty(itemTempLogic.IdProductCategory))
                        {
                            oneQuestion.IdProductCategory = new Guid(itemTempLogic.IdProductCategory);
                        }
                        else
                        {
                            oneQuestion.IdProductCategory = null;
                        }

                        if (!string.IsNullOrEmpty(itemTempLogic.IdProduct))
                        {
                            oneQuestion.IdProduct = new Guid(itemTempLogic.IdProduct);
                        }
                        else
                        {
                            oneQuestion.IdProduct = null;
                        }


                        Context.Questions.Add(oneQuestion);
                        Context.Entry(oneQuestion).State = EntityState.Modified;


                        if (0 < itemTempLogic.ItemsAnswer.Count)
                        {
                            foreach (var itemAnswer in itemTempLogic.ItemsAnswer)
                            {
                                var oneAnswer = _questionDetailDao.GetOne(new Guid(itemAnswer.IdAnswer));

                                oneAnswer.IsNext = itemAnswer.HasNext;

                                if (!string.IsNullOrEmpty(itemAnswer.IdQuestionLink))
                                {
                                    oneAnswer.IdQuestionLink = new Guid(itemAnswer.IdQuestionLink);
                                }

                                Context.QuestionDetails.Add(oneAnswer);
                                Context.Entry(oneAnswer).State = EntityState.Modified;
                            }
                        }
                    }

                    Context.SaveChanges();

                    transaction.Commit();

                    isSuccess = true;
                }
                catch
                {
                    transaction.Rollback();

                    isSuccess = false;
                }
            }

            return(isSuccess);
        }
        public bool SavePoll(List <PollViewModel> itemsPoll, Guid idAccount)
        {
            bool isSuccess;

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    foreach (var itemSection in itemsPoll)
                    {
                        var tempSection =
                            _serviceDetailDao.GetOne(itemSection.IdSection, idAccount);

                        tempSection.SectionTitle = itemSection.Title;
                        tempSection.Weight       = IntegerUtil.GetValue(itemSection.Weight);
                        tempSection.IsDynamic    = itemSection.IsDynamic;

                        Context.ServiceDetails.Add(tempSection);
                        Context.Entry(tempSection).State = EntityState.Modified;

                        foreach (var itemQuestion in itemSection.ItemsQuestion)
                        {
                            var tempQuestion = _questionDao.GetOne(itemQuestion.IdQuestion);

                            tempQuestion.Title      = itemQuestion.Title;
                            tempQuestion.IdTypePoll = itemQuestion.IdTypePoll;
                            tempQuestion.Weight     = IntegerUtil.GetValue(itemQuestion.Weight);
                            tempQuestion.HasPhoto   = itemQuestion.HasPhotos;
                            tempQuestion.CountPhoto = IntegerUtil.GetValue(itemQuestion.CountPhotos);

                            Context.Questions.Add(tempQuestion);
                            Context.Entry(tempQuestion).State = EntityState.Modified;


                            foreach (var itemAnswer in itemQuestion.ItemsAnswer)
                            {
                                var tempAnswer = _questionDetailDao.GetOne(itemAnswer.IdAnswer);

                                tempAnswer.Answer = itemAnswer.Title;
                                tempAnswer.Weight = IntegerUtil.GetValue(itemAnswer.Weight);

                                Context.QuestionDetails.Add(tempAnswer);
                                Context.Entry(tempAnswer).State = EntityState.Modified;
                            }
                        }
                    }

                    Context.SaveChanges();

                    transaction.Commit();

                    isSuccess = true;
                }
                catch
                {
                    isSuccess = false;
                    transaction.Rollback();
                }
            }


            return(isSuccess);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="idQuestion"></param>
 /// <returns></returns>
 public Question GetOne(Guid idQuestion)
 {
     return(_questionDao.GetOne(idQuestion));
 }