public List<V_QYPerson> getUserListFW3(string CorpId, int rows, int page, Hashtable hashParams, string CurrentUserID, bool IsSuperAdmin, out int dataCount)
{
List<V_QYPerson> users = new List<V_QYPerson>();
using (IRepository<V_QYPerson> repository = ServeiceCore.GetServiceFactory.GetInstance<IRepository<V_QYPerson>>(ServiceName.IRepository))
{
var enterpriseId = new Guid(CorpId);
var wbuserid = new Guid(CurrentUserID);
var query = repository.Set<V_QYPerson>().Where(c => 1 == 1).AsQueryable();
if (!IsSuperAdmin)
{
var final = PowerHelper.GetPowerids(repository.GetDbContext, enterpriseId, wbuserid);
query = query.Where(t => final.Contains(t.ID)).AsQueryable();
}
dataCount = query.Count();
users = query.OrderByDescending(c => c.Name).Skip((page - 1) * rows).Take(rows).ToList();
return users;
}
}
}
将 V_QYPerson里面的Language 0显示成中文 1显示成英文
可以在LINQ的Select
查询时进行转换,或者使用静态扩展方法转换,示例如下:
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
var people = new List<Person>
{
new(1, 1),
new(2, 0),
new(3, 1),
new(4, 1),
new(5, 0)
};
var users1 = people.Select(x => new PersonDto(x.Id, x.Language, $"{(x.Language == 0 ? "中文" : "英文")}"))
.ToList();
Console.WriteLine("----------方式一----------");
Display(users1);
Console.WriteLine("----------方式二----------");
var users2 = people.Select(x => new PersonDto(x.Id, x.Language)).ToList().ConvertLanguage();
Display(users2);
}
static void Display(List<PersonDto> people)
{
foreach (var person in people)
{
Console.WriteLine(
$"id:{person.Id}, language:{person.Language}, language as string:{person.LanguageAsString}");
}
}
}
record Person(int Id, int Language);
record PersonDto(int Id, int Language, string LanguageAsString = null)
{
internal string LanguageAsString { get; set; } = LanguageAsString;
}
static class Extensions
{
public static List<PersonDto> ConvertLanguage(this List<PersonDto> people)
{
foreach (var person in people)
{
person.LanguageAsString = person.Language == 0 ? "中文" : "英文";
}
return people;
}
}
}
输出结果:
----------方式一----------
id:1, language:1, language as string:英文
id:2, language:0, language as string:中文
id:3, language:1, language as string:英文
id:4, language:1, language as string:英文
id:5, language:0, language as string:中文
----------方式二----------
id:1, language:1, language as string:英文
id:2, language:0, language as string:中文
id:3, language:1, language as string:英文
id:4, language:1, language as string:英文
id:5, language:0, language as string:中文
恕我愚昧,没看明白想表达的。
后台直接在V_QYPerson的属性中修改
前台直接根据01进行判断也行