using System; using System.Collections.Generic; using System.Linq; using APT.BaseData.Domain.Entities; using APT.BaseData.Domain.Entities.FM; using APT.Infrastructure.Core; using APT.MS.Domain.Entities.BS; using APT.MS.Domain.Entities.SE; using APT.MS.Domain.Enums; using APT.Utility; using Microsoft.AspNetCore.Mvc; namespace APT.SC.WebApi.Controllers.Api.SE { [Route("api/SE/SENewUserDetail")] public class SENewUserDetailController : AuthorizeApiController { /// /// 查询 /// /// /// [HttpPost, Route("SEOrderPaged")] public PagedActionResult SEOrderPaged([FromBody] KeywordPageFilter pageFilter) { //var recordfilter = new BaseFilter(pageFilter.GetOrgId()); //recordfilter.SelectField = new string[] { "USER_ID", "Nav_User.NAME", "Nav_User.CREATE_TIME" }; //var allUser = WitOrderPaged(null, pageFilter); //var totalUser = GetEntities(null, pageFilter).OrderByDescending(e => e.Nav_User.CREATE_TIME).Distinct(t => t.USER_ID); //allUser.Data = totalUser; //allUser.TotalCount = totalUser.Count(); //return allUser; return SafeGetPagedData(delegate (PagedActionResult result) { var resultTemp = GetOrderEntities(e => e.USER_ID.HasValue && !e.IS_DELETED && (e.Nav_User.IS_DELETED || !e.Nav_User.IS_DELETED), pageFilter).Distinct(t => t.USER_ID); var listUserIDDel = resultTemp.Where(e => e.Nav_User == null && e.USER_ID.HasValue).Select(e => e.USER_ID.Value).ToList(); if (listUserIDDel != null && listUserIDDel.Count() > 0) { var fmUserDel = GetEntities_noneBase(e => listUserIDDel.Contains(e.ID) && (!e.IS_DELETED || e.IS_DELETED)); if (fmUserDel != null && fmUserDel.Count() > 0) { foreach (var item in resultTemp) { if (item.Nav_User == null && item.USER_ID.HasValue) { item.Nav_User = fmUserDel.FirstOrDefault(e => e.ID == item.USER_ID.Value); } } } } result.Data = resultTemp; result.TotalCount = resultTemp.Count(); }); } /// /// 获得单条实体数据 /// /// 过滤实体 /// [HttpPost, Route("Get")] public JsonActionResult Get([FromBody] KeywordFilter filter) { return SafeExecute(() => { dynamic ret = new System.Dynamic.ExpandoObject(); string userId = string.Empty; var userRule = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "USERID"); if (userRule == null) userRule = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "USER_ID"); userId = userRule.Value.ToString(); IEnumerable educard = null; BaseFilter userFilter = null; if (filter.Include == null || filter.Include.Count() < 1) { userFilter = new BaseFilter(filter.GetOrgId()); userFilter.Include = new string[] { "Nav_NewUser.Nav_Department", "Nav_NewUser.Nav_User", "Nav_NewUser.Nav_Content", "Nav_NewUser.Nav_Files.Nav_ImgFile", "Nav_User", "Nav_Department", "Nav_Post", "Nav_Files.Nav_ImgFile" }; educard = GetEntities(t => t.USER_ID == Guid.Parse(userId) && (t.Nav_NewUser.IS_DELETED || !t.Nav_NewUser.IS_DELETED), userFilter).ToList(); } else { educard = GetEntities(t => t.USER_ID == Guid.Parse(userId) && (t.Nav_NewUser.IS_DELETED || !t.Nav_NewUser.IS_DELETED), filter).ToList(); } ret = educard; return ret; }); } } }