/// <summary> /// 筛选要配置的pid列表 /// </summary> /// <param name="pagination"></param> /// <param name="searchString"></param> /// <param name="pids"></param> /// <returns></returns> public ActionResult GetFaqPidList(Pagination pagination, string searchString, string pids) { var result = new List <ProductFaqConfigModel>(); if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(pids)) { var brandModel = new List <CBrandModel>(); if (!string.IsNullOrEmpty(searchString)) { brandModel = JsonConvert.DeserializeObject <List <CBrandModel> >(searchString); } var dalPids = ProductFaqManage.SelectSimpleProductModels(brandModel, pids, pagination); var dalFaqs = ProductFaqManage.SelectProductFaqConfigModels(); result = (from a in dalPids join b in dalFaqs on a.Pid equals b.Pid into temp from b in temp.DefaultIfEmpty() select new ProductFaqConfigModel() { Pid = a.Pid, ProductName = a.ProductName, QuestionDetail = b?.QuestionDetail, LastUpdateDateTime = b?.LastUpdateDateTime }).ToList(); } TempData["searchString"] = searchString; return(Content(JsonConvert.SerializeObject(new { rows = result, total = pagination.total, page = pagination.page, records = pagination.records }))); }
/// <summary> /// 保存问题详情//这里有个坑,不编码穿不过来 /// </summary> /// <param name="datas"></param> /// <returns></returns> public ActionResult SaveDetails(string datas, string pids) { try { var models = JsonConvert.DeserializeObject <List <ProductFaqConfigDetailModel> > (datas.Replace(@"\n", "").Replace(@"\t", "").Replace(@"\r", "").Replace(" ", "")); var productFaqConfigDetailModels = models.Select(r => { r.Answer = HttpUtility.HtmlDecode(r.Answer) ?.Replace(@" ", "").Replace(@"\u0008", "") .Replace(@"\u0009", "").Replace(@"\u000A", "") .Replace(@"\u000B", "").Replace(@"\u000C", "") .Replace(@"\u000D", "").Replace(@"\u0022", "") .Replace(@"\u0027", "").Replace(@"\u005C", "") .Replace(@"\u00A0", "").Replace(@"\u2028", "") .Replace(@"\u2029", "").Replace(@"\uFEFF", ""). Replace("\u0008", "") .Replace("\u0009", "").Replace("\u000A", "") .Replace("\u000B", "").Replace("\u000C", "") .Replace("\u000D", "").Replace("\u0022", "") .Replace("\u0027", "").Replace("\u005C", "") .Replace("\u00A0", "").Replace("\u2028", "") .Replace("\u2029", "").Replace("\uFEFF", ""); return(r); }).ToList(); var listPids = new List <string>(); if (string.IsNullOrEmpty(pids)) { var searchString = TempData["searchString"].ToString(); pids = TempData["Pids"]?.ToString(); var brandModel = JsonConvert.DeserializeObject <List <CBrandModel> >(searchString); var dalPids = ProductFaqManage.SelectSimpleProductModels(brandModel, pids).ToList(); var pidss = dalPids.Select(r => r.Pid.Trim()).ToList(); listPids = pidss; } else { listPids = pids.Split(',').Distinct().ToList(); } var dalResult = ProductFaqManage.UpdateProductFaqConfigAndDetailDetailModels(productFaqConfigDetailModels, listPids); if (dalResult) { LoggerManager.InsertOplog(new ConfigHistory() { AfterValue = JsonConvert.SerializeObject(productFaqConfigDetailModels), Author = User.Identity.Name, Operation = "编辑常见问题", ObjectType = "Faq" }); return(Json(new { status = 1, msg = "更新成功" })); } else { return(Json(new { status = 0, msg = "更新失败" })); } } catch (Exception ex) { return(Json(new { status = 0, msg = "更新失败" + ex })); } }
/// <summary> /// 查询问题详情 /// </summary> /// <param name="keyValue"></param> /// <param name="searchString"></param> /// <param name="pids"></param> /// <returns></returns> public ActionResult FaqConfig(string keyValue, string pids, string searchString) { var list = new List <ProductFaqConfigDetailModel>(); var flag = true; if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(pids)) { //var cbs = searchString.Replace("\'","\""); //var aa = cbs.Substring(1, cbs.Length - 1); searchString = TempData["searchString"].ToString(); var brandModel = JsonConvert.DeserializeObject <List <CBrandModel> >(searchString); var dalPids = ProductFaqManage.SelectSimpleProductModels(brandModel, pids).ToList(); var pidss = dalPids.Select(r => r.Pid.Trim()).ToList(); list = CheckPidHasSingleFaq(pidss); //全选的情况 todo 传查询条件过来去表里重新查一遍全部的 //if (pidss.Count > 5000) // ViewBag.Pids = "Long"; //else //ViewBag.Pids = pids; //ViewBag.searchString= TempData["Pids"] = pids; TempData["searchString"] = searchString; } else { var listpids = keyValue.Split(',').ToList(); //多选情况 //todo 多选还有一种情况是指勾选的产品配置的问题都一样的话要传过去 if (listpids.Count() > 1) { list = CheckPidHasSingleFaq(listpids); } else //单选情况 { list = ProductFaqManage.SelectProductFaqConfigDetailModels(keyValue).ToList(); if (!list.Any()) { list.Add(new ProductFaqConfigDetailModel { Sort = 1 }); } } } ViewBag.DataCount = list.Count; return(View(list)); }
public ActionResult PatchDelFaqConfigPid(string keyValue, string pids, string searchString) { try { bool result = true; if (!string.IsNullOrEmpty(searchString) || !string.IsNullOrEmpty(pids)) { searchString = TempData["searchString"].ToString(); var brandModel = JsonConvert.DeserializeObject <List <CBrandModel> >(searchString); var dalPids = ProductFaqManage.SelectSimpleProductModels(brandModel, pids).ToList(); var pidss = dalPids.Select(r => r.Pid).ToList(); result = ProductFaqManage.PatchDelFaqConfigPid(pidss.ToList()); } else { var listpids = JsonConvert.DeserializeObject <List <string> >(keyValue); result = ProductFaqManage.PatchDelFaqConfigPid(listpids); } if (result) { return(Content(JsonConvert.SerializeObject(new { state = "success", message = "操作成功" }))); } else { return(Content(JsonConvert.SerializeObject(new { state = "error", message = "操作失败" }))); } } catch (Exception e) { return(Content(JsonConvert.SerializeObject(new { state = "error", message = "删除失败" + e }))); } }