using System; using System.Collections.Generic; using System.Linq; using System.Text; using AutoMapper; using AngleSharp.Html.Parser; using DTO; using IServices; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Bot.Builder.Integration.AspNet.Core; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System.Net.Http; using System.Threading.Tasks; using zhengcaioa.Models; using zhengcaioa.IService; using CommonToolsCore; using Services; using System.Transactions; namespace zhengcaioa.Controllers.ExpertTest { public class ExpertTestTopicjiexiController : Controller { private readonly ILogger _logger; private readonly ILiaotianService _liaotianService; private readonly IExpertTestTopicService _expertTestTopicService; public ExpertTestTopicjiexiController(ILogger logger, ILiaotianService liaotianService, IExpertTestTopicService expertTestTopicService) { _logger = logger; _liaotianService = liaotianService; _expertTestTopicService = expertTestTopicService; } public IActionResult Index(string topocId="") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ActionEntity actionEntity1 = new ActionEntity(); actionEntity1.OpenType = 0; actionEntity1.ActionUrl = ""; actionEntity1.ActionFun = "Add"; actionEntity1.PageIco = "fa fa-plus"; actionEntity1.ActionName = "新增"; actionlist.Add(actionEntity1); ViewData["ActionInfo"] = actionlist; ViewBag.Flag = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.falv = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.TopocId = topocId; return View(); } public IActionResult GetList(ExpertTestTopicDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; //search.Creater = curentuser.Id; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_expertTestTopicService.SearchByPagingjiexi(search)); } public IActionResult Edit(string id = null, string topocId = "") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ExpertTestTopicjiexiDTO dto = new ExpertTestTopicjiexiDTO(); if (!String.IsNullOrEmpty(id)) { dto = _expertTestTopicService.Getjiexi(id); } else { dto.Topic = topocId; } ViewBag.Flag = _liaotianService.GetSYScode("system", "shifou"); ViewBag.falv = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv"); ViewData.Model = dto; return View(); } /// /// 保存 /// /// 岗位实体类对象 /// /// [HttpPost] public IActionResult Save(ExpertTestTopicjiexiDTO data) { // data.DocContent = data.DocContent.Replace(";", ";"); ResultEntity resultEntity = new ResultEntity(); using (TransactionScope scope = new TransactionScope()) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; if (String.IsNullOrEmpty(data.Id)) { data.Creater = curentuser.Id; data.Createtime = DateTime.Now; } data.Modifier = curentuser.Id; data.Modifytime = DateTime.Now; var expertTestTopicDTO = _expertTestTopicService.Get(data.Topic); expertTestTopicDTO.JiexiStatus = "A"; resultEntity = _expertTestTopicService.save(expertTestTopicDTO); if (data.Flag == "A") { //只能有一个主解析 var expertTestTopicjiexiDTOs = _expertTestTopicService.GetListjiexi(data.Topic); if (!string.IsNullOrEmpty(data.Id)) { expertTestTopicjiexiDTOs = expertTestTopicjiexiDTOs.Where(x => x.Id != data.Id).ToList(); } foreach (var expertTestTopicjiexiDTO in expertTestTopicjiexiDTOs) { if (expertTestTopicjiexiDTO.Flag == "A") { expertTestTopicjiexiDTO.Flag = "D"; resultEntity = _expertTestTopicService.savejiexi(expertTestTopicjiexiDTO); } } } else { //必须有一个主解析 var expertTestTopicjiexiDTOs = _expertTestTopicService.GetListjiexi(data.Topic); if (!string.IsNullOrEmpty(data.Id)) { expertTestTopicjiexiDTOs = expertTestTopicjiexiDTOs.Where(x => x.Id != data.Id).ToList(); } var boool = false; foreach (var expertTestTopicjiexiDTO in expertTestTopicjiexiDTOs) { if (expertTestTopicjiexiDTO.Flag == "A") { boool = true; } } if (!boool) { resultEntity.Result = false; resultEntity.Message = "必须有一个主解析"; return new JsonResult(resultEntity); } } resultEntity = _expertTestTopicService.savejiexi(data); scope.Complete(); } return new JsonResult(resultEntity); } /// /// 删除主信息 /// /// 实体 /// /// public IActionResult Nullify(string Id = "") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; return new JsonResult(_expertTestTopicService.ModifyStatusjiexi(Id, curentuser.Id)); } } }