足力健后端,使用.netcore版本,合并1个项目使用

MediaCenteController.cs 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Common;
  4. using System.IRepositories;
  5. using System.Linq;
  6. using System.Model;
  7. using System.Security.Claims;
  8. using System.Threading.Tasks;
  9. using Microsoft.AspNetCore.Mvc;
  10. using SqlSugar;
  11. using TVShoppingCallCenter_ZLJ.Models.Inputs;
  12. namespace TVShoppingCallCenter_ZLJ.Controllers.MediaCente
  13. {
  14. [Produces("application/json")]
  15. [Route("api/[controller]")]
  16. public class MediaCenteController : BaseController
  17. {
  18. private readonly ISys_AreaRepository _sys_areaRepository;
  19. private readonly ISys_MediaCenteRepository _sys_mediacenter_Repository;
  20. private readonly ISys_PlanManagemenRepository _sys_planmanagemenRepository;
  21. private readonly ISys_DictionaryValueRepository _sys_dictionaryRepository;
  22. private readonly ISys_MediaManagementRepository _sys_mediaManagement_Repository;
  23. private readonly IBus_ProductRepository _productRepository;
  24. private readonly ISys_DepartmentRepository _sys_departmentRepository;
  25. public MediaCenteController(ISys_MediaCenteRepository sys_mediacenter_Repository, ISys_PlanManagemenRepository sys_planmanagemenRepository,
  26. ISys_DictionaryValueRepository sys_dictionaryRepository, ISys_MediaManagementRepository sys_mediaManagement_Repository, IBus_ProductRepository productRepository, ISys_DepartmentRepository sys_departmentRepository,ISys_AreaRepository sys_areaRepository)
  27. {
  28. _sys_mediacenter_Repository = sys_mediacenter_Repository;
  29. _sys_planmanagemenRepository = sys_planmanagemenRepository;
  30. _sys_dictionaryRepository = sys_dictionaryRepository;
  31. _sys_mediaManagement_Repository = sys_mediaManagement_Repository;
  32. _productRepository = productRepository;
  33. _sys_departmentRepository = sys_departmentRepository;
  34. _sys_areaRepository = sys_areaRepository;
  35. }
  36. /// <summary>
  37. /// 产品列表
  38. /// </summary>
  39. /// <param name="input">筛选字段</param>
  40. /// <returns></returns>
  41. [HttpPost("getlistproduct")]
  42. public async Task<IActionResult> GetListByPage()
  43. {
  44. List<IConditionalModel> conModels = new List<IConditionalModel>();
  45. #region 条件筛选
  46. conModels.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumDelState.Enabled).ToString() });
  47. #endregion
  48. var list = await _productRepository.GetListALL(conModels , " F_AddTime DESC");
  49. var row = list.Where((x, i) => list.FindIndex(z => z.F_ProductNumber == x.F_ProductNumber&&z.F_ProductNumberName==x.F_ProductNumberName) == i);
  50. return Success("成功", row);
  51. }
  52. /// <summary>
  53. /// 添加媒体投放
  54. /// </summary>
  55. /// <param name="input"></param>
  56. /// <returns></returns>
  57. [HttpPost("add")]
  58. public async Task<IActionResult> AddAsync([FromBody]MediaCenteInput input)
  59. {
  60. if (input.F_Type <= 0)
  61. return Error("请选择投放类型");
  62. if (input.F_Name <= 0)
  63. return Error("请选择媒体名称");
  64. if (input.F_PlayPlanList!=null )
  65. {
  66. if (input.F_PlayPlanList.Count > 0)
  67. {
  68. foreach (var it in input.F_PlayPlanList)
  69. {
  70. if (it.F_Type < 0)
  71. return Error("请选择计划类型");
  72. }
  73. }
  74. }
  75. if (input.F_MediaChangeList!=null )
  76. {
  77. if (input.F_MediaChangeList.Count > 0)
  78. {
  79. foreach (var it in input.F_MediaChangeList)
  80. {
  81. if (it.F_Type < 0)
  82. return Error("请选择媒体变更类型");
  83. }
  84. }
  85. }
  86. // string user = "8000";
  87. string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  88. var model = new T_Sys_MediaCente();
  89. model = Transformation(model, input, user, 0);
  90. model.F_State = 0;
  91. var res = await _sys_mediacenter_Repository.Add(model);
  92. if (res > 0)
  93. {
  94. return Success("添加成功");
  95. }
  96. else
  97. {
  98. return Error("添加失败");
  99. }
  100. }
  101. /// <summary>
  102. /// 修改媒体投放
  103. /// </summary>
  104. [HttpPost("update")]
  105. public async Task<IActionResult> UpdateAsync([FromBody]MediaCenteInput input)
  106. {
  107. if (input.F_ID <= 0)
  108. return Error("请选择正确的媒体");
  109. if (input.F_Type <= 0)
  110. return Error("请选择投放类型");
  111. if (input.F_Name <= 0)
  112. return Error("请选择媒体名称");
  113. if (input.F_PlayPlanList!=null )
  114. {
  115. foreach (var it in input.F_PlayPlanList)
  116. {
  117. if (it.F_Type < 0)
  118. return Error("请选择计划类型");
  119. }
  120. }
  121. if (input.F_MediaChangeList!=null )
  122. {
  123. foreach (var it in input.F_MediaChangeList)
  124. {
  125. if (it.F_Type < 0)
  126. return Error("请选择媒体变更类型");
  127. }
  128. }
  129. // string user = "8000";
  130. string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  131. var model = await _sys_mediacenter_Repository.GetSingle(x => x.F_ID == input.F_ID);
  132. if (model == null)
  133. return Error("操作失败");
  134. model = Transformation(model, input, user, 1);
  135. var res = await _sys_mediacenter_Repository.Update (model);
  136. if (res)
  137. {
  138. return Success("修改成功");
  139. }
  140. else
  141. {
  142. return Error("修改失败");
  143. }
  144. }
  145. /// <summary>
  146. /// 删除媒体投放
  147. /// </summary>
  148. /// <param name="ids"></param>
  149. /// <returns></returns>
  150. [HttpPost("delete")]
  151. public async Task<IActionResult> Remove(int[] ids)
  152. {
  153. var res = 0;
  154. if (ids != null && ids.Length > 0)
  155. {
  156. foreach (var item in ids)
  157. {
  158. var model = await _sys_mediacenter_Repository.GetSingle(x => x.F_ID == item);
  159. model.F_IsDelete = (int)EnumUserCountState.Delete;
  160. model.F_DeleteTime = DateTime.Now.ToLocalTime();
  161. model.F_DeleteUser = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  162. string[] sprite = null;
  163. if (!string .IsNullOrEmpty(model.F_PlayPlan))
  164. sprite = model.F_PlayPlan.Split(',');
  165. if (sprite != null)
  166. {
  167. foreach (var it in sprite)
  168. {
  169. try
  170. {
  171. var plan = _sys_planmanagemenRepository.GetSingle(x => x.F_Id == int.Parse(it)).Result;
  172. if (plan != null)
  173. plan.F_IsDelete = 1;
  174. bool n = _sys_planmanagemenRepository.Update(plan).Result;
  175. }
  176. catch
  177. {
  178. }
  179. }
  180. }
  181. if (_sys_mediacenter_Repository.Update(model).Result)
  182. res += 1;
  183. }
  184. if (res == ids.Length)
  185. return Success("删除成功");
  186. else if (res > 0 && res < ids.Length)
  187. return Error("部分删除失败,请查看后重新操作");
  188. else
  189. return Error("删除失败,请查看后重新操作");
  190. }
  191. else
  192. return Error("请选择要删除的记录");
  193. }
  194. /// <summary>
  195. /// 获取媒体投放列表
  196. /// </summary>
  197. /// <param name="keyword"></param>
  198. /// <param name="pageindex"></param>
  199. /// <param name="pagesize"></param>
  200. /// <returns></returns>
  201. [HttpGet("getlist")]
  202. public async Task<IActionResult> GetListAsync(string type,string name,string tel,string phone,string commodity, int pageindex = 1, int pagesize = 20)
  203. {
  204. List<IConditionalModel> conModels = new List<IConditionalModel>();
  205. #region 条件筛选
  206. conModels.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
  207. if (!string.IsNullOrEmpty(name))
  208. {
  209. conModels.Add(new ConditionalModel() { FieldName = "F_Name", ConditionalType = ConditionalType.Equal, FieldValue = name });
  210. }
  211. if (!string.IsNullOrEmpty(commodity))
  212. {
  213. conModels.Add(new ConditionalModel() { FieldName = "F_Commodity", ConditionalType = ConditionalType.Like, FieldValue = commodity });
  214. }
  215. if (!string.IsNullOrEmpty(type))
  216. {
  217. conModels.Add(new ConditionalModel() { FieldName = "F_Type", ConditionalType = ConditionalType.Equal, FieldValue = type });
  218. }
  219. if (!string.IsNullOrEmpty(tel))
  220. {
  221. conModels.Add(new ConditionalModel() { FieldName = "F_Tel", ConditionalType = ConditionalType.Like, FieldValue = tel });
  222. }
  223. if (!string.IsNullOrEmpty(phone))
  224. {
  225. conModels.Add(new ConditionalModel() { FieldName = "F_Phone", ConditionalType = ConditionalType.Like, FieldValue = phone });
  226. }
  227. #endregion
  228. int recordCount = 0;
  229. var list = await _sys_mediacenter_Repository.GetListByPage(conModels, new MyPageModel() { PageIndex = pageindex, PageSize = pagesize, PageCount = recordCount });
  230. var obj = new
  231. {
  232. state = "success",
  233. message = "成功",
  234. rows = ConvertAsync(list),
  235. total = list.Totals,
  236. };
  237. return Content(obj.ToJson());
  238. }
  239. /// <summary>
  240. /// 返回树形下拉框 菜单数据
  241. /// </summary>
  242. /// <returns></returns>
  243. [HttpGet("getall")]
  244. public async Task<IActionResult> GetALL(int pid = 1)
  245. {
  246. List<IConditionalModel> conModels = new List<IConditionalModel>();
  247. conModels.Add(new ConditionalModel() { FieldName = "F_State", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumDelState.Enabled).ToString() });
  248. var list_ModuleInfo = await _sys_areaRepository.GetListALL(conModels, "F_Code asc");
  249. var treeList = new List<TreeModel>();
  250. foreach (var item in list_ModuleInfo)
  251. {
  252. TreeModel treeModel = new TreeModel();
  253. treeModel.id = item.F_Id;
  254. treeModel.iconcls = "";
  255. treeModel.text = item.F_AreaName;
  256. treeModel.parentid = item.F_ParentId.Value;
  257. treeList.Add(treeModel);
  258. }
  259. return Success("获取地区树成功", TreeRecursion(treeList, pid));
  260. }
  261. /// <summary>
  262. /// 递归算法
  263. /// </summary>
  264. /// <param name="data"></param>
  265. /// <param name="parentId"></param>
  266. /// <returns></returns>
  267. private List<TreeModel> TreeRecursion( List<TreeModel> data, int parentId = 0, int i = 0)
  268. {
  269. List<TreeModel> newList = new List<TreeModel>();
  270. List<TreeModel> item = data.FindAll(t => t.parentid == parentId);//data建议在调用此扩展方法前已经排序过
  271. if (i <= 2)
  272. {
  273. if (item.Count > 0)
  274. {
  275. foreach (TreeModel entity in item)
  276. {
  277. var _list = TreeRecursion(data, entity.id, i + 1);
  278. entity.children = _list.Count > 0 ? _list : null;
  279. newList.Add(entity);
  280. }
  281. }
  282. }
  283. return newList;
  284. }
  285. /// <summary>
  286. /// 操作媒体投放
  287. /// </summary>
  288. /// <param name="id">id</param>
  289. /// <returns></returns>
  290. [HttpGet("operation")]
  291. public async Task<IActionResult> GetOperationAsync(int id,int state)
  292. {
  293. if (id <= 0)
  294. return Error("参数错误");
  295. var model = await _sys_mediacenter_Repository.GetSingle(x => x.F_ID == id);
  296. if (model == null)
  297. {
  298. return Error("获取失败");
  299. }
  300. model.F_State = state;
  301. var obj = await _sys_mediacenter_Repository.Update(model);
  302. if (obj)
  303. return Success("操作成功");
  304. else
  305. return Error ("操作失败");
  306. }
  307. /// <summary>
  308. /// 获取媒体投放详情
  309. /// </summary>
  310. /// <param name="id">id</param>
  311. /// <returns></returns>
  312. [HttpGet("getdetails")]
  313. public async Task<IActionResult> GetDetailsAsync(int id)
  314. {
  315. if (id <= 0)
  316. return Error("参数错误");
  317. var model = await _sys_mediacenter_Repository.GetSingle(x => x.F_ID == id);
  318. if (model == null)
  319. {
  320. return Error("获取失败");
  321. }
  322. return Success("获取成功!", Convert(model,1));
  323. }
  324. #region 私有方法
  325. private MediaCenteInput Convert(T_Sys_MediaCente it,int type=0)
  326. {
  327. MediaCenteInput MediaCente = new MediaCenteInput();
  328. MediaCente.F_ID = it.F_ID;
  329. MediaCente.F_Type =(int ) it.F_Type; // 投放类型od 字典MTTFLX
  330. MediaCente.F_TypeName= _sys_dictionaryRepository.GetSingle(x => x.F_ValueId == it.F_Type ).Result!=null ? _sys_dictionaryRepository.GetSingle(x => x.F_ValueId == it.F_Type).Result.F_Value:"";// 投放类型
  331. MediaCente.F_Name = (int)it.F_Name; // 媒体名称id 中央一套、中央二套等
  332. MediaCente.F_Name_MT = _sys_mediaManagement_Repository.GetSingle(x => x.F_ID == it.F_Name).Result!=null ? _sys_mediaManagement_Repository.GetSingle(x => x.F_ID == it.F_Name).Result.F_Name:"";// 媒体名称
  333. MediaCente.F_Tel = it.F_Tel; //刊登号码
  334. MediaCente.F_Phone = it.F_Phone; //400号码
  335. MediaCente.F_Commodity = it.F_Commodity; //绑定商品id
  336. MediaCente.F_CommodityName = "";//绑定商品
  337. if (!string .IsNullOrEmpty (it.F_Commodity))
  338. {
  339. string[] spritcom = it.F_Commodity.Split(',');
  340. try
  341. {
  342. foreach (var ib in spritcom)
  343. {
  344. if (MediaCente.F_CommodityName == "")
  345. MediaCente.F_CommodityName = _productRepository.GetSingle(x => x.F_ProductId ==ib).Result.F_ProductNumberName;
  346. else
  347. MediaCente.F_CommodityName+=","+ _productRepository.GetSingle(x => x.F_ProductId ==ib).Result.F_ProductNumberName;
  348. }
  349. }
  350. catch
  351. {
  352. }
  353. }
  354. MediaCente.F_LaunchTime = it.F_LaunchTime; //投放日期
  355. MediaCente.F_DailyExpenses = it.F_DailyExpenses; //日费用
  356. MediaCente.F_PlayPlan = it.F_PlayPlan; //日费用
  357. if (type >0)
  358. {
  359. MediaCente.F_PlayPlanList = new List<PlanManagemenInput>();
  360. string[] spritplay= it.F_PlayPlan.Split(',');
  361. try
  362. {
  363. foreach (var ib in spritplay)
  364. {
  365. PlanManagemenInput t_Sys_PlanManagemen = new PlanManagemenInput();
  366. var planplay = _sys_planmanagemenRepository.GetSingle(x => x.F_Id == int.Parse(ib)).Result ;
  367. t_Sys_PlanManagemen.F_Type =(int ) planplay.F_Type;//0计划1媒体变更
  368. t_Sys_PlanManagemen.F_StartTime = planplay.F_StartTime;//计划开始时间
  369. t_Sys_PlanManagemen.F_EndTime = planplay.F_EndTime;// 计划结束时间
  370. t_Sys_PlanManagemen.F_PlayDate = planplay.F_PlayDate;//播放日期
  371. t_Sys_PlanManagemen.F_BroadcastTime = planplay.F_BroadcastTime;//播出时间
  372. t_Sys_PlanManagemen.F_Name = planplay.F_Name;//广告名称(字典)
  373. t_Sys_PlanManagemen.F_Name_MT = _sys_dictionaryRepository.GetSingle(x => x.F_ValueId == planplay.F_Name).Result.F_Value;// 广告名称
  374. t_Sys_PlanManagemen.F_BroadcastDuration = planplay.F_BroadcastDuration;//播出时长
  375. t_Sys_PlanManagemen.F_PlayCount = planplay.F_PlayCount;//播放次数
  376. t_Sys_PlanManagemen.F_State = planplay.F_State.ToString ();//状态
  377. t_Sys_PlanManagemen.F_Describe = planplay.F_Describe;//说明
  378. MediaCente.F_PlayPlanList.Add(t_Sys_PlanManagemen);
  379. }
  380. }
  381. catch
  382. {
  383. }
  384. }
  385. MediaCente.F_IsRemind = (int)it.F_IsRemind; //是否提醒
  386. MediaCente.F_DeptId = it.F_DeptId; //提醒部门
  387. string deptmsg = "";
  388. if (!string.IsNullOrEmpty(it.F_DeptId))
  389. {
  390. try
  391. {
  392. string[] sprit = it.F_DeptId.Split(',');
  393. foreach (var iv in sprit)
  394. {
  395. if (deptmsg == "")
  396. deptmsg = _sys_departmentRepository.GetSingle(x => x.F_DeptId == int.Parse(iv)).Result != null ? _sys_departmentRepository.GetSingle(x => x.F_DeptId == int.Parse(iv)).Result.F_DeptName : "";
  397. else
  398. deptmsg = deptmsg + "," + _sys_departmentRepository.GetSingle(x => x.F_DeptId == int.Parse(iv)).Result != null ? _sys_departmentRepository.GetSingle(x => x.F_DeptId == int.Parse(iv)).Result.F_DeptName : "";
  399. }
  400. }
  401. catch
  402. {
  403. }
  404. }
  405. MediaCente.F_DeptName = deptmsg;
  406. MediaCente.F_ReminderTime = it.F_ReminderTime; //提醒时间
  407. MediaCente.F_MediaChange = it.F_MediaChange; //媒体变更 ID
  408. if (type > 0)
  409. {
  410. MediaCente.F_MediaChangeList = new List<PlanManagemenInput>();
  411. string[] spritplay = it.F_MediaChange.Split(',');
  412. try
  413. {
  414. foreach (var ib in spritplay)
  415. {
  416. PlanManagemenInput t_Sys_PlanManagemen = new PlanManagemenInput();
  417. var planplay = _sys_planmanagemenRepository.GetSingle(x => x.F_Id == int.Parse(ib)).Result;
  418. t_Sys_PlanManagemen.F_Type =(int ) planplay.F_Type;//0计划1媒体变更
  419. t_Sys_PlanManagemen.F_ChangeType = planplay.F_ChangeType!=null ? (int )planplay.F_ChangeType:0 ;//变更类型字典
  420. t_Sys_PlanManagemen.F_ChangeTypeName= _sys_dictionaryRepository.GetSingle(x => x.F_ValueId == planplay.F_ChangeType).Result.F_Value;// /变更类型
  421. t_Sys_PlanManagemen.F_ChangeTime = planplay.F_ChangeTime;//变更时间
  422. t_Sys_PlanManagemen.F_Describe = planplay.F_Describe;//变更说明
  423. MediaCente.F_MediaChangeList.Add(t_Sys_PlanManagemen);
  424. }
  425. }
  426. catch
  427. {
  428. }
  429. }
  430. MediaCente.F_CreateTime = it.F_CreateTime; //创建时间
  431. MediaCente.F_CreateUser = it.F_CreateUser; //
  432. MediaCente.F_State = it.F_State; //
  433. return MediaCente;
  434. }
  435. /// <summary>
  436. /// Input转Model
  437. /// </summary>
  438. /// <param name="input"></param>
  439. /// <returns></returns>
  440. private T_Sys_MediaCente Transformation(T_Sys_MediaCente model, MediaCenteInput input,string user ,int type=0)
  441. {
  442. model.F_Type = input.F_Type;//投放类型 字典MTTFLX
  443. model.F_Name = input.F_Name;//媒体名称 中央一套、中央二套等 下拉
  444. model.F_Tel = input.F_Tel;//刊登号码
  445. model.F_Phone = input.F_Phone;//400号码
  446. model.F_Commodity = input.F_Commodity;//绑定商品
  447. model.F_LaunchTime = input.F_LaunchTime;//投放日期
  448. model.F_DailyExpenses = input.F_DailyExpenses;//日费用 单位 元
  449. string Planid = "";
  450. if (input.F_PlayPlanList!=null )
  451. {
  452. string[] sprite = null;
  453. if (!string .IsNullOrEmpty(model.F_PlayPlan))
  454. sprite = model.F_PlayPlan.Split(',');
  455. if (input.F_PlayPlanList.Count >0)
  456. {
  457. foreach (var it in input.F_PlayPlanList)
  458. {
  459. T_Sys_PlanManagemen t_Sys_PlanManagemen = new T_Sys_PlanManagemen();
  460. if (it .F_Id >0)
  461. {
  462. t_Sys_PlanManagemen = _sys_planmanagemenRepository.GetSingle(x => x.F_Id == it.F_Id).Result;
  463. }
  464. if (sprite!=null )
  465. {
  466. bool exists = sprite.Contains(it.F_Id.ToString());
  467. if (exists)
  468. sprite.Remove(it.F_Id.ToString());
  469. }
  470. t_Sys_PlanManagemen.F_Type = it.F_Type;//0计划1媒体变更
  471. t_Sys_PlanManagemen.F_StartTime = it.F_StartTime;//计划开始时间
  472. t_Sys_PlanManagemen.F_EndTime = it.F_EndTime;// 计划结束时间
  473. t_Sys_PlanManagemen.F_PlayDate = it.F_PlayDate;
  474. t_Sys_PlanManagemen.F_BroadcastTime = it.F_BroadcastTime;//播出时间
  475. t_Sys_PlanManagemen.F_Name = it.F_Name;//广告名称(字典)
  476. t_Sys_PlanManagemen.F_BroadcastDuration = it.F_BroadcastDuration;//播出时长
  477. t_Sys_PlanManagemen.F_PlayCount = it.F_PlayCount;//播放次数
  478. t_Sys_PlanManagemen.F_Describe = it.F_Describe;//播放说明
  479. t_Sys_PlanManagemen.F_State = int .Parse (it.F_State);//状态
  480. t_Sys_PlanManagemen.F_CreateTime = DateTime.Now;
  481. t_Sys_PlanManagemen.F_CreateUser = user;
  482. t_Sys_PlanManagemen.F_IsDelete = 0;
  483. int a = 0;
  484. if (it.F_Id > 0)
  485. {
  486. a = it.F_Id;
  487. var re = _sys_planmanagemenRepository.Update (t_Sys_PlanManagemen).Result ;
  488. }
  489. else
  490. {
  491. a = _sys_planmanagemenRepository.Add(t_Sys_PlanManagemen).Result ;
  492. }
  493. if (a >0)
  494. {
  495. if (Planid=="")
  496. Planid += a + "";
  497. else
  498. Planid += "," + a;
  499. }
  500. }
  501. }
  502. if (sprite!=null )
  503. {
  504. foreach (var it in sprite)
  505. {
  506. try
  507. {
  508. var plan= _sys_planmanagemenRepository.GetSingle(x => x.F_Id == int .Parse (it)).Result;
  509. if (plan != null)
  510. plan.F_IsDelete = 1;
  511. bool n = _sys_planmanagemenRepository.Update(plan).Result ;
  512. }
  513. catch
  514. {
  515. }
  516. }
  517. }
  518. }
  519. model.F_PlayPlan = Planid;// 播放计划 ID
  520. model.F_IsRemind = input.F_IsRemind;// 是否提醒 0否1是
  521. if (model.F_IsRemind>0)
  522. {
  523. model.F_DeptId = input.F_DeptId;// 提醒部门
  524. model.F_ReminderTime = input.F_ReminderTime;// 提醒时间
  525. }
  526. string MediaChangeid = "";
  527. if (input.F_MediaChangeList != null)
  528. {
  529. if (input.F_MediaChangeList.Count > 0)
  530. {
  531. foreach (var it in input.F_MediaChangeList)
  532. {
  533. T_Sys_PlanManagemen t_Sys_PlanManagemen = new T_Sys_PlanManagemen();
  534. if (it.F_Id > 0)
  535. {
  536. t_Sys_PlanManagemen = _sys_planmanagemenRepository.GetSingle(x => x.F_Id == it.F_Id).Result;
  537. }
  538. t_Sys_PlanManagemen.F_Type = it.F_Type;//0计划1媒体变更
  539. // t_Sys_PlanManagemen.F_State =int .Parse ( it.F_State);//状态
  540. t_Sys_PlanManagemen.F_ChangeType = it.F_ChangeType;//变更类型字典
  541. t_Sys_PlanManagemen.F_ChangeTime = it.F_ChangeTime;//变更时间
  542. t_Sys_PlanManagemen.F_Describe = it.F_Describe;//变更说明
  543. t_Sys_PlanManagemen.F_CreateTime = DateTime.Now;
  544. t_Sys_PlanManagemen.F_CreateUser = user;
  545. t_Sys_PlanManagemen.F_IsDelete = 0;
  546. int a = 0;
  547. if (it.F_Id > 0)
  548. {
  549. a = it.F_Id;
  550. var re = _sys_planmanagemenRepository.Update(t_Sys_PlanManagemen).Result;
  551. }
  552. else
  553. {
  554. a = _sys_planmanagemenRepository.Add(t_Sys_PlanManagemen).Result;
  555. }
  556. if (a > 0)
  557. {
  558. if (MediaChangeid == "")
  559. MediaChangeid += a + "";
  560. else
  561. MediaChangeid += "," + a;
  562. }
  563. }
  564. }
  565. }
  566. model.F_MediaChange = MediaChangeid;
  567. if (type==0)
  568. {
  569. model.F_CreateUser = user;
  570. model.F_CreateTime = DateTime.Now;
  571. }
  572. else
  573. {
  574. model.F_CreateUser = model.F_CreateUser;
  575. model.F_CreateTime = model.F_CreateTime;
  576. model.F_UpdateUser = user;
  577. model.F_UpdateTime = DateTime.Now;
  578. }
  579. model.F_IsDelete = 0;
  580. return model;
  581. }
  582. /// model转input
  583. /// </summary>
  584. /// <param name="input"></param>
  585. /// <returns></returns>
  586. private List<MediaCenteInput> ConvertAsync(PageData<T_Sys_MediaCente> model)
  587. {
  588. List<MediaCenteInput> input = new List<MediaCenteInput>();
  589. if (model != null)
  590. {
  591. foreach (var it in model.Rows)
  592. {
  593. MediaCenteInput marketing = new MediaCenteInput();
  594. marketing = Convert(it);
  595. input.Add(marketing);
  596. }
  597. }
  598. return input;
  599. }
  600. #endregion
  601. }
  602. }