/// <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)); }