public IActionResult Optional(OptionalVM model) { try { SurveyOption option = new SurveyOption() { Options = model.A + ";" + model.B + ";" + model.C + ";" + model.D }; _context.Add(option); _context.SaveChanges(); Survey srv = new Survey() { Question = model.Question, OptionsId = option.Id }; _context.Add(srv); _context.SaveChanges(); } catch (Exception e) { return(BadRequest()); } return(RedirectToAction("Manage", "Survy")); }
public async Task <IActionResult> OnPostVoteAsync(int?id) { if (!ModelState.IsValid) { return(Page()); } try { PointedOption = await _context.SurveyOptions.FindAsync(id); PointedOption.Point += 1; _context.Attach(PointedOption).State = EntityState.Modified; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SurveyOptionExists(PointedOption.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("/Surveys/Index")); }
/// <summary> /// Takes a logic survey option and returns a context survey option /// </summary> /// <param name="logicSurveyOption"></param> /// <returns></returns> public static SurveyOption MapSurveyOption(Option logicSurveyOption) { Entities.SurveyOption contextSurveyOption = new SurveyOption() { SurveyOptionId = logicSurveyOption.surveyOptionID, DisplayText = logicSurveyOption.displayText, SurveyOptionValue = logicSurveyOption.surveyOptionValue }; return(contextSurveyOption); }
public static Option MapSurveyOption(SurveyOption contextSurveyOption) { Logic.Objects.Option logicSurveyOption = new Option() { surveyOptionID = contextSurveyOption.SurveyOptionId, displayText = contextSurveyOption.DisplayText, surveyOptionValue = contextSurveyOption.SurveyOptionValue, removable = contextSurveyOption.SurveyResponse.Count == 0 }; return(logicSurveyOption); }
public async Task <IActionResult> UpdateOption(SurveyOption surveyOption) { if (surveyOption != null) { uw.SurveyOptionRepo.Update(surveyOption); await uw.SaveChanges(); return(Ok(surveyOption)); } return(BadRequest("An error occured")); }
public async Task <IActionResult> DeleteOption(SurveyOption surveyOption) { if (surveyOption != null) { uw.SurveyOptionRepo.DeleteById(surveyOption.OptionId); await uw.SaveChanges(); return(Ok()); } return(BadRequest("An error occured")); }
public IActionResponse <SurveyOption> Add(SurveyOption surveyOpt) { _survey.Add(surveyOpt); var rep = _uow.SaveChanges(); return(new ActionResponse <SurveyOption> { Result = surveyOpt, Message = rep.ToSaveChangeMessageResult(BusinessMessage.Success, BusinessMessage.Error), IsSuccessful = rep.ToSaveChangeResult() }); }
public void Add(SurveyOption surveyOption_0) { string string_ = string.Format(GClass0.smethod_0(":ļȢ̵нԺٍܥࠥाਦୈఴഓท༒ဆᄛሮጐᐫᔷᘲᜲᡳᤉᨌᬊᰁᴓḌἋ‚№≽⌁␚┋☞✘⠂⤅⨇⬗Ⰹⴇ⸈⼁は㈎㌄㑺㔒㙯㝽㡵㥾㩶㭵㱨㵿㹻㽰䁶䅪䈝䍣䑺䕼䙻䝩䡲䥵䩮䭽䱮䵢丌伄偵兣剭卵呚啍嘵圻塠太婤嬿尻崱幮弥恮愵戽挷摴攼晰末栧楱樺歵氫洡湾漰灾焥爨"), new object[] { surveyOption_0.SURVEY_ID, surveyOption_0.QUESTION_NAME, surveyOption_0.CODE, surveyOption_0.RANDOM_INDEX, surveyOption_0.SURVEY_GUID }); this.dbprovider_0.ExecuteNonQuery(string_); }
public void Update(SurveyOption surveyOption_0) { string string_ = string.Format(GClass0.smethod_0("×Ǒ˄̾ЪԸٜܨࠏऋఏഺค༇ရᄞሞፏᐽᔨᘸᝋᠹᨺᬱᰣᴼḻἪ…⅁≝⍿⑹┦♭✦⡽⥵⨉⬂Ⱃⴆ⸀⼚〝ㄟ㈏㌁㐏㔀㘉㝫㡷㥩㩯㬼㱴㴸㹣㽯䀁䄎䈄䍺䐞䔀䘜䜜䡁䤊䩅䬐䰚䵧乵佽偶兾剽印呧啣器坮塲変娕嬇屝崑幙式恱慴扲捉摛敄晃杜桏楐橜欷氫洵渳潨瀧煬爷猯瑙畅癉睙硏礩穁筃簦紸縤罸耲腼"), new object[] { surveyOption_0.ID, surveyOption_0.SURVEY_ID, surveyOption_0.QUESTION_NAME, surveyOption_0.CODE, surveyOption_0.RANDOM_INDEX, surveyOption_0.SURVEY_GUID }); this.dbprovider_0.ExecuteNonQuery(string_); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } SurveyOption = await _context.SurveyOptions.FindAsync(id); if (SurveyOption != null) { _context.SurveyOptions.Remove(SurveyOption); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } SurveyOption = await _context.SurveyOptions .Include(s => s.Option) .Include(s => s.Survey).FirstOrDefaultAsync(m => m.Id == id); if (SurveyOption == null) { return(NotFound()); } return(Page()); }
public SurveyOption GetBySql(string string_0) { IDataReader dataReader = this.dbprovider_0.ExecuteReader(string_0); SurveyOption surveyOption = new SurveyOption(); using (dataReader) { while (dataReader.Read()) { surveyOption.ID = Convert.ToInt32(dataReader[GClass0.smethod_0("KŅ")]); surveyOption.SURVEY_ID = dataReader["SURVEY_ID"].ToString(); surveyOption.QUESTION_NAME = dataReader[GClass0.smethod_0("\\řɎ͙ѝՁو݈࡚ॊੂౄ")].ToString(); surveyOption.CODE = dataReader["CODE"].ToString(); surveyOption.RANDOM_INDEX = Convert.ToInt32(dataReader[GClass0.smethod_0("^ŊɄ͍чՊٙࡊेੇ")]); surveyOption.SURVEY_GUID = dataReader[GClass0.smethod_0("Xşɛ͞т՟ٚ݃ࡖो")].ToString(); } } return(surveyOption); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } SurveyOption = await _context.SurveyOptions .Include(s => s.Option) .Include(s => s.Survey).FirstOrDefaultAsync(m => m.Id == id); if (SurveyOption == null) { return(NotFound()); } ViewData["OptionId"] = new SelectList(_context.Options, "Id", "Name"); ViewData["SurveyId"] = new SelectList(_context.Surveys, "Id", "Name"); return(Page()); }
public void Delete(SurveyOption surveyOption_0) { string string_ = string.Format(GClass0.smethod_0("bŠɨͦѶդݙࡌ॒ੑ൬ཡၳᅬቛ፣ᑦᕸᙿᝡᠮᥚᩄ᱘ᵌḨ⁂℥∹⍸╼"), surveyOption_0.ID); this.dbprovider_0.ExecuteNonQuery(string_); }
public ActionResult AddSurvey(SurveyWithOptionsVM model) { ////SurveyCategoryVM vmodel = new SurveyCategoryVM(); //if (ModelState.IsValid || (!ModelState.IsValid && model.SurveyCategoriesVM.PostImage == null)) if (ModelState.IsValid) { string filename = ""; foreach (string name in Request.Files) { model.SurveyCategoriesVM.PostImage = Request.Files[name]; string ext = Path.GetExtension(Request.Files[name].FileName); if (ext == ".jpg" || ext == ".jpeg" || ext == ".png") { string uniqnumber = Guid.NewGuid().ToString(); filename = uniqnumber + model.SurveyCategoriesVM.PostImage.FileName; model.SurveyCategoriesVM.PostImage.SaveAs(Server.MapPath("~/Areas/admin/Content/Site/images/addsurvey/" + filename)); } } SurveyCategory post = new SurveyCategory(); post.SurveyName = model.SurveyCategoriesVM.SurveyName; post.Description = model.SurveyCategoriesVM.Description; post.ImagePath = filename; //Eğer ID boş ise ekleme için kullanılır //if (model.SurveyCategoriesVM.ID == 0) db.SurveyCategories.Add(post); //else //{//Eğer ID dolu ise bu varolan bir kayıttır vt'den bu kayıt bulunup güncelleme işlemi yapılır. //var existedSurvey = db.SurveyCategories.Where(s => s.ID == model.SurveyCategoriesVM.ID).FirstOrDefault(); ////existedSurvey.ImagePath = model.SurveyCategoriesVM.PostImage.p; //existedSurvey.SurveyName = model.SurveyCategoriesVM.SurveyName; //existedSurvey.Description = model.SurveyCategoriesVM.Description; //} int result1 = db.SaveChanges(); //Seçenekler Ekleniyor if (result1 > 0) { //if (model.SurveyOptionsVM.Length > 0) //{ var optionsList = model.SurveyOptionsVM.Where(s => !string.IsNullOrEmpty(s.OptionValue)).ToList(); foreach (var opt in optionsList) { //if (opt.ID == 0) //{ SurveyOption sOm = new SurveyOption(); sOm.OptionValue = opt.OptionValue; sOm.SurveyId = post.ID; sOm.SurveyCategory = post; db.SurveyOptions.Add(sOm); //} //else //{ // var existedOption = db.SurveyOptions.Where(s => s.ID == opt.ID).FirstOrDefault(); // existedOption.OptionValue = opt.OptionValue; //} } } int result2 = db.SaveChanges(); if (result2 > 0) { Response.Redirect("/admin/AdminResult/AdminSuccessful", true); ViewBag.IslemDurum = 1; return(View()); } else { Response.Redirect("/admin/AdminResult/AdminError", true); ViewBag.IslemDurum = 2; return(View()); } //return View(); } else { Response.Redirect("/admin/AdminResult/AdminError", true); ViewBag.IslemDurum = 2; return(View()); } }
private void Submit(out string msg, int userID, out int retSiid) { msg = ""; retSiid = 0; int retsqid = 0; string datainfoStr = DataStr; SurveyInfoData sInfoData = null; sInfoData = (SurveyInfoData)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(datainfoStr, typeof(SurveyInfoData)); #region 验证数据正确性 if (sInfoData != null) { CheckData(sInfoData, out msg); if (msg != "") { return; } } else { msg += "获取数据出错"; return; } #endregion #region 准备数据 #region 定义变量 Entities.SurveyInfo sModel = null; Entities.SurveyQuestion qModel = null; Entities.SurveyOption oModel = null; Entities.SurveyMatrixTitle mModel = null; List <Entities.SurveyQuestion> qList = null; List <Entities.SurveyOption> oList = null; List <Entities.SurveyMatrixTitle> mList = null; List <Entities.SurveyOptionSkipQuestion> skipNewList = new List <SurveyOptionSkipQuestion>(); //要新加入的 List <Entities.SurveyOptionSkipQuestion> skipUpdateList = new List <SurveyOptionSkipQuestion>(); //要更新的 List <Entities.SurveyOptionSkipQuestion> skipDeleteList = new List <SurveyOptionSkipQuestion>(); //要删除的 List <Entities.SurveyQuestion> addQudstionList = new List <SurveyQuestion>(); List <Entities.SurveyOption> addOptionList = new List <SurveyOption>(); List <Entities.SurveyMatrixTitle> addMatrixList = new List <SurveyMatrixTitle>(); List <StringBuilder> listLogStr = new List <StringBuilder>(); //用户操作日志 StringBuilder sblogstr = new StringBuilder(); string logstr = ""; int intVal = 0; int existflog = 0; OptionSkip skipTemp = null; List <OptionSkip> skipListTemp = new List <OptionSkip>(); #endregion if (sInfoData.siid != "" && int.TryParse(sInfoData.siid, out intVal)) { int siid = int.Parse(sInfoData.siid); #region 编辑 #region 获取问卷 sModel = BLL.SurveyInfo.Instance.GetSurveyInfo(siid); #region 判断状态 if ((sModel.Status != 0 && sModel.Status != 1) && Action == "sub") { msg += "当前状态下不允许提交操作"; return; } if (sModel.Status != 0 && Action == "save") { msg += "当前状态下不允许保存操作"; return; } if (sModel.Status != 0 && Action == "preview") // || Action == "preview") { msg += "当前状态下不允许预览操作"; return; } #endregion #endregion #region 获取问题 qList = BLL.SurveyQuestion.Instance.GetSurveyQuestionList(siid); #endregion #region 获取选项 oList = BLL.SurveyOption.Instance.GetSurveyOptionList(siid); #endregion #region 获取矩阵标题 mList = BLL.SurveyMatrixTitle.Instance.GetMatrixTitleList(siid); #endregion if (sModel != null) { #region 修改问卷信息 sModel.Name = sInfoData.name; sModel.BGID = int.Parse(sInfoData.bgid); sModel.SCID = int.Parse(sInfoData.scid); sModel.Description = sInfoData.desc; if (Action == "sub") { sModel.Status = 1; sModel.IsAvailable = 1;//提交后是启用状态 } else { sModel.Status = 0; sModel.IsAvailable = -1;//不是提交,可用状态为空 } #region 记日志 sblogstr = new StringBuilder(); logstr = "更新了调查问卷‘" + sInfoData.name + "’的信息【ID:" + sModel.SIID + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion #endregion #region 修改问题 #region 判断是 新增 or 编辑 or 删除 #region 判断编辑和删除的 foreach (Entities.SurveyQuestion qitem in qList) { existflog = 0; if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.sqid == qitem.SQID.ToString()) { //有,就是编辑 existflog = 1; break; } } } if (existflog == 0) { //在页面传来的对象中没有,是删除 qitem.actionFlog = -1; #region 记日志 sblogstr = new StringBuilder(); logstr = "删除了调查问卷【" + sInfoData.name + "】下的问题‘" + qitem.Ask + "’【SQID:" + qitem.SQID + ",SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } else { qitem.actionFlog = 0; } } #endregion #region 判断新加的问题 if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { existflog = 0; foreach (Entities.SurveyQuestion qitem in qList) { if (qitem.SQID.ToString() == qDataItem.sqid) { existflog = 1; } } if (existflog == 0) { //没找到,就是新加的 qModel = new SurveyQuestion(); qModel.SIID = siid; qModel.Ask = qDataItem.ask; qModel.AskCategory = int.Parse(qDataItem.askcategory); qModel.SQID = int.Parse(qDataItem.sqid); qModel.ShowColumnNum = int.Parse(qDataItem.showcolumnnum); qModel.MaxTextLen = int.Parse(qDataItem.maxtextlen); qModel.MinTextLen = int.Parse(qDataItem.mintextlen); qModel.Status = 0; qModel.OrderNum = int.Parse(qDataItem.ordernum); qModel.CreateTime = DateTime.Now; qModel.CreateUserID = userID; qModel.ModifyTime = DateTime.Now; qModel.ModifyUserID = userID; qModel.IsMustAnswer = int.Parse(qDataItem.IsMustAnswer); qModel.IsStatByScore = int.Parse(qDataItem.IsStatByScore); qModel.QuestionLinkId = int.Parse(qDataItem.QuestionLinkId); addQudstionList.Add(qModel); #region 记日志 sblogstr = new StringBuilder(); logstr = "添加了调查问卷【" + sInfoData.name + "】下的问题‘" + qDataItem.ask + "’【SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } } } #endregion #endregion #region 修改编辑的问题 foreach (Entities.SurveyQuestion qitem in qList) { if (qitem.actionFlog == 0) //是编辑 { if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.sqid == qitem.SQID.ToString()) { qitem.Ask = qDataItem.ask; qitem.ShowColumnNum = int.Parse(qDataItem.showcolumnnum); qitem.MaxTextLen = int.Parse(qDataItem.maxtextlen); qitem.MinTextLen = int.Parse(qDataItem.mintextlen); qitem.OrderNum = int.Parse(qDataItem.ordernum); qitem.ModifyTime = DateTime.Now; qitem.ModifyUserID = userID; qitem.IsMustAnswer = int.Parse(qDataItem.IsMustAnswer); qitem.IsStatByScore = int.Parse(qDataItem.IsStatByScore); qitem.QuestionLinkId = int.Parse(qDataItem.QuestionLinkId); } } } } } #endregion #endregion #region 修改选项 #region 判断编辑和删除 foreach (Entities.SurveyOption oItem in oList) { existflog = 0; if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.sqid == oItem.SQID.ToString()) { if (qDataItem.option != null) { foreach (SurveyOptionInfoData oinfoItem in qDataItem.option) { if (oinfoItem.sqid == oItem.SQID.ToString() && oinfoItem.soid == oItem.SOID.ToString()) { existflog = 1;//找到了,就是编辑 break; } } } } } } if (existflog == 1) { //编辑 oItem.actionFlog = 0; } else { //没找到,就是删除 oItem.actionFlog = -1; #region 记日志 sblogstr = new StringBuilder(); logstr = "删除了调查问卷【" + sInfoData.name + "】中的选项‘" + oItem.OptionName + "’【SOID:" + oItem.SOID + ",SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } } #endregion #region 判断新增 if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.option != null) { foreach (SurveyOptionInfoData oinfoItem in qDataItem.option) { if (int.Parse(oinfoItem.soid) < 0) { //新增的 oModel = new SurveyOption(); oModel.SOID = int.Parse(oinfoItem.soid); oModel.SIID = siid; oModel.SQID = int.Parse(oinfoItem.sqid); oModel.OptionName = oinfoItem.optionname; oModel.IsBlank = int.Parse(oinfoItem.isblank); oModel.Score = int.Parse(oinfoItem.score); oModel.OrderNum = int.Parse(oinfoItem.ordernum); oModel.Status = 0; oModel.CreateTime = DateTime.Now; oModel.CreateUserID = userID; oModel.ModifyTime = DateTime.Now; oModel.ModifyUserID = userID; oModel.linkid = int.Parse(oinfoItem.linkid); addOptionList.Add(oModel); #region 记日志 sblogstr = new StringBuilder(); logstr = "添加了调查问卷【" + sInfoData.name + "】中的选项‘" + oModel.OptionName + "’【SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } } } } } #endregion #region 修改编辑的选项 foreach (Entities.SurveyOption oitem in oList) { if (oitem.actionFlog == 0) //是编辑 { if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.option != null) { foreach (SurveyOptionInfoData oDataItem in qDataItem.option) { if (oDataItem.soid == oitem.SOID.ToString()) { oitem.OptionName = oDataItem.optionname; oitem.IsBlank = int.Parse(oDataItem.isblank); oitem.Score = int.Parse(oDataItem.score); oitem.OrderNum = int.Parse(oDataItem.ordernum); oitem.ModifyTime = DateTime.Now; oitem.ModifyUserID = userID; oitem.linkid = int.Parse(oDataItem.linkid); } } } } } } } #endregion #endregion #region 修改矩阵 #region 判断编辑和删除 foreach (Entities.SurveyMatrixTitle mItem in mList) { existflog = 0;//从页面对象中找 if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.sqid == mItem.SQID.ToString()) { if (qDataItem.matrix != null) { foreach (SurveyMatiexInfoData minfoItem in qDataItem.matrix) { if (minfoItem.sqid == mItem.SQID.ToString() && minfoItem.smtid == mItem.SMTID.ToString()) { existflog = 1;//找到了,就是编辑 break; } } } } } } if (existflog == 1) { //编辑 mItem.actionFlog = 0; } else { //没找到,就是删除 mItem.actionFlog = -1; #region 记日志 sblogstr = new StringBuilder(); logstr = "删除了调查问卷【" + sInfoData.name + "】中的矩阵标题‘" + mItem.TitleName + "’【SMTID:" + mItem.SMTID + ",SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } } #endregion #region 判断新增 if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.matrix != null) { foreach (SurveyMatiexInfoData minfoItem in qDataItem.matrix) { if (minfoItem.smtid == "") { //新增的 mModel = new SurveyMatrixTitle(); mModel.SIID = siid; mModel.SQID = int.Parse(minfoItem.sqid); mModel.TitleName = minfoItem.titlename; mModel.Status = 0; mModel.Type = int.Parse(minfoItem.type); mModel.CreateUserID = userID; mModel.CreateTime = DateTime.Now; addMatrixList.Add(mModel); #region 记日志 sblogstr = new StringBuilder(); logstr = "添加了调查问卷【" + sInfoData.name + "】中的矩阵标题‘" + mModel.TitleName + "’【SIID:" + sInfoData.siid + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion } } } } } #endregion #region 修改编辑的矩阵 foreach (Entities.SurveyMatrixTitle mitem in mList) { if (mitem.actionFlog == 0) //是编辑 { if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData qDataItem in sInfoData.questList) { if (qDataItem.matrix != null) { foreach (SurveyMatiexInfoData mDataItem in qDataItem.matrix) { if (mDataItem.smtid == mitem.SMTID.ToString()) { mitem.TitleName = mDataItem.titlename; mitem.Type = int.Parse(mDataItem.type); } } } } } } } #endregion #endregion } else { msg += "没找到相应问卷<br/>"; } #endregion } else { //新增 #region 问卷实体类 sModel = new Entities.SurveyInfo(); sModel.Name = sInfoData.name; sModel.BGID = int.Parse(sInfoData.bgid); sModel.SCID = int.Parse(sInfoData.scid); sModel.Description = sInfoData.desc; if (Action == "sub") { sModel.Status = 1; sModel.IsAvailable = 1;//提交后是启用状态 } else { sModel.Status = 0; sModel.IsAvailable = -1;//不是提交,可用状态为空 } sModel.CreateTime = DateTime.Now; sModel.CreateUserID = userID; #region 记日志 sblogstr = new StringBuilder(); logstr = "添加了调查问卷【" + sInfoData.name + "】"; sblogstr.Append(logstr); listLogStr.Add(sblogstr); #endregion #endregion #region 问卷问题 qList = new List <Entities.SurveyQuestion>(); oList = new List <Entities.SurveyOption>(); mList = new List <Entities.SurveyMatrixTitle>(); if (sInfoData.questList != null) { foreach (SurveyQuestionInfoData item in sInfoData.questList) { #region 问卷问题 qModel = new Entities.SurveyQuestion(); qModel.SQID = int.Parse(item.sqid); qModel.Ask = item.ask; qModel.AskCategory = int.Parse(item.askcategory); qModel.ShowColumnNum = int.Parse(item.showcolumnnum); qModel.MaxTextLen = int.Parse(item.maxtextlen); qModel.MinTextLen = int.Parse(item.mintextlen); qModel.Status = 0; qModel.OrderNum = int.Parse(item.ordernum); qModel.CreateTime = DateTime.Now; qModel.CreateUserID = userID; qModel.ModifyTime = DateTime.Now; qModel.ModifyUserID = userID; qModel.IsMustAnswer = int.Parse(item.IsMustAnswer); qModel.IsStatByScore = int.Parse(item.IsStatByScore); qModel.QuestionLinkId = int.Parse(item.QuestionLinkId); qList.Add(qModel); #endregion #region 问卷选项 if (item.option != null) { foreach (SurveyOptionInfoData oitem in item.option) { if (oitem.sqid == item.sqid) { oModel = new Entities.SurveyOption(); oModel.SOID = int.Parse(oitem.soid); oModel.SQID = int.Parse(oitem.sqid); oModel.OptionName = oitem.optionname; oModel.IsBlank = int.Parse(oitem.isblank); oModel.Score = int.Parse(oitem.score); oModel.OrderNum = int.Parse(oitem.ordernum); oModel.Status = 0; oModel.CreateTime = DateTime.Now; oModel.CreateUserID = userID; oModel.ModifyTime = DateTime.Now; oModel.ModifyUserID = userID; oModel.linkid = int.Parse(oitem.linkid); oList.Add(oModel); } } } #endregion #region 问卷矩阵标题 if (item.matrix != null) { foreach (SurveyMatiexInfoData mitem in item.matrix) { if (mitem.sqid == item.sqid) { mModel = new Entities.SurveyMatrixTitle(); mModel.SQID = int.Parse(mitem.sqid); mModel.TitleName = mitem.titlename; mModel.Status = 0; mModel.Type = int.Parse(mitem.type); mModel.CreateTime = DateTime.Now; mModel.CreateUserID = userID; mList.Add(mModel); } } } #endregion } } #endregion } #endregion #region 建立选项与跳题对照 if (oList != null) { foreach (Entities.SurveyOption oItem in oList) { skipTemp = new OptionSkip(); skipTemp.Soid = oItem.SOID; skipTemp.Sqid = (int)oItem.SQID; skipTemp.LinkId = oItem.linkid; skipListTemp.Add(skipTemp); } } if (addOptionList != null) { foreach (Entities.SurveyOption oItem in addOptionList) { skipTemp = new OptionSkip(); skipTemp.Soid = oItem.SOID; skipTemp.Sqid = (int)oItem.SQID; skipTemp.LinkId = oItem.linkid; skipListTemp.Add(skipTemp); } } #endregion #region 提交事务 string connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC"); SqlConnection connection = new SqlConnection(connectionstrings); connection.Open(); SqlTransaction tran = connection.BeginTransaction("SampleTransaction"); try { if (sInfoData.siid != "" && int.TryParse(sInfoData.siid, out intVal)) { //编辑 retSiid = int.Parse(SIID); #region 编辑问卷 BLL.SurveyInfo.Instance.Update(tran, sModel); #endregion #region 编辑问题 #region 除、编辑问题 foreach (Entities.SurveyQuestion qitem in qList) { if (qitem.actionFlog == 0) { //编辑 BLL.SurveyQuestion.Instance.Update(tran, qitem); //维护临时对照表 foreach (OptionSkip skipItem in skipListTemp) { if (skipItem.LinkId == qitem.QuestionLinkId) { skipItem.LinkId = qitem.SQID; } } } else if (qitem.actionFlog == -1) { //删除 retsqid = BLL.SurveyQuestion.Instance.Delete(tran, qitem.SQID); } } #endregion #region 添加问题 foreach (Entities.SurveyQuestion qItem in addQudstionList) { retsqid = BLL.SurveyQuestion.Instance.Insert(tran, qItem); if (retsqid > 0) { //维护临时对照表 foreach (OptionSkip skipItem in skipListTemp) { if (skipItem.Sqid == qItem.SQID)//新增的SQID都是 临时负数 { skipItem.Sqid = retsqid; } if (skipItem.LinkId == qItem.QuestionLinkId) { skipItem.LinkId = retsqid; } } //维护选项的问卷ID foreach (Entities.SurveyOption oItem in addOptionList) { if (oItem.SQID == qItem.SQID) { oItem.SQID = retsqid; } } //维护矩阵的问卷ID foreach (Entities.SurveyMatrixTitle mItem in addMatrixList) { if (mItem.SQID == qItem.SQID) { mItem.SQID = retsqid; } } } else { msg += "添加问题失败"; return; } } #endregion #endregion #region 添加选项 #region 除、编辑选项 foreach (Entities.SurveyOption oItem in oList) { if (oItem.actionFlog == 0) { //编辑选项 BLL.SurveyOption.Instance.Update(tran, oItem); } else if (oItem.actionFlog == -1) { BLL.SurveyOption.Instance.Delete(tran, oItem.SOID); } } #endregion #region 添加选项 foreach (Entities.SurveyOption oItem in addOptionList) { int retSOID = BLL.SurveyOption.Instance.Insert(tran, oItem); if (retSOID > 0) { //维护临时对照表 foreach (OptionSkip skipItem in skipListTemp) { if (skipItem.Soid == oItem.SOID) { skipItem.Soid = retSOID; } } } } #endregion #endregion #region 添加矩阵标题 #region 除、编辑矩阵标题 foreach (Entities.SurveyMatrixTitle mItem in mList) { if (mItem.actionFlog == 0) { //编辑选项 BLL.SurveyMatrixTitle.Instance.Update(tran, mItem); } else if (mItem.actionFlog == -1) { BLL.SurveyMatrixTitle.Instance.Delete(tran, mItem.SMTID); } } #endregion #region 添加矩阵标题 foreach (Entities.SurveyMatrixTitle mItem in addMatrixList) { BLL.SurveyMatrixTitle.Instance.Insert(tran, mItem); } #endregion #endregion } else { #region 保存问卷 retSiid = BLL.SurveyInfo.Instance.Insert(tran, sModel); #endregion #region 保存问题 foreach (SurveyQuestion qitem in qList) { qitem.SIID = retSiid; retsqid = BLL.SurveyQuestion.Instance.Insert(tran, qitem); //维护临时对照表 foreach (OptionSkip skipItem in skipListTemp) { if (skipItem.Sqid == qitem.SQID)//新增的SQID都是 临时负数 { skipItem.Sqid = retsqid; } if (skipItem.LinkId == qitem.QuestionLinkId) { skipItem.LinkId = retsqid; } } #region 保存问题选项 foreach (SurveyOption oitem in oList) { if (oitem.SQID == qitem.SQID) { oitem.SIID = retSiid; oitem.SQID = retsqid; int retSoid = BLL.SurveyOption.Instance.Insert(tran, oitem); //维护临时对照表 foreach (OptionSkip skipItem in skipListTemp) { if (skipItem.Soid == oitem.SOID) { skipItem.Soid = retSoid; } } } } #endregion #region 保存矩阵标题 foreach (SurveyMatrixTitle mitem in mList) { if (mitem.SQID == qitem.SQID) { mitem.SIID = retSiid; mitem.SQID = retsqid; BLL.SurveyMatrixTitle.Instance.Insert(tran, mitem); } } #endregion } #endregion } #region 更新选项跳题对照表 foreach (OptionSkip item in skipListTemp) { Entities.SurveyOptionSkipQuestion curskipModel = null; curskipModel = BLL.SurveyOptionSkipQuestion.Instance.GetModelBySoid(item.Soid); if (curskipModel != null) { //存在跳题 if (item.LinkId == 0) { skipDeleteList.Add(curskipModel); } else { if (curskipModel.SQID != item.LinkId) { //如果跳题有改变 curskipModel.SQID = item.LinkId; skipUpdateList.Add(curskipModel); // BLL.SurveyOptionSkipQuestion.Instance.Update(tran,curskipModel); } } } else { //不存在 if (item.LinkId != 0) { //,就插入 curskipModel = new SurveyOptionSkipQuestion(); curskipModel.SOID = item.Soid; curskipModel.SQID = item.LinkId; curskipModel.Status = 0; skipNewList.Add(curskipModel); // BLL.SurveyOptionSkipQuestion.Instance.Insert(tran,curskipModel); } } } foreach (Entities.SurveyOptionSkipQuestion item in skipDeleteList) { BLL.SurveyOptionSkipQuestion.Instance.Delete(tran, item.RecID); } foreach (Entities.SurveyOptionSkipQuestion item in skipUpdateList) { BLL.SurveyOptionSkipQuestion.Instance.Update(tran, item); } foreach (Entities.SurveyOptionSkipQuestion item in skipNewList) { BLL.SurveyOptionSkipQuestion.Instance.Insert(tran, item); } #endregion #region 保存用户操作日志 foreach (StringBuilder sbStr in listLogStr) { BLL.Util.InsertUserLog(tran, sbStr.ToString()); } #endregion tran.Commit(); } catch (Exception ex) { if (tran.Connection != null) { tran.Rollback(); } msg = ex.Message.ToString(); } finally { connection.Close(); } #endregion }