using LangGuan.Command.Model.EntityModel; using Microsoft.Extensions.Configuration; using MongoDB.Bson; using MongoDB.Driver; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; namespace LangGuan.Services { public class RadarItemService : BaseService { /// /// /// /// public RadarItemService(IConfiguration config) : base(config, nameof(RadarItems)) { } /// /// 批量新加 /// /// /// public async Task AddMany(IEnumerable radarItems) { await base.CreateManyAsync(radarItems); } /// /// 取结果 /// /// /// public async Task> GetByPids(IEnumerable ids) { FilterDefinitionBuilder builderFilter = Builders.Filter; FilterDefinition filter = builderFilter.In("pid", ids); var result = await base.FindListyFilter(filter); return result; } /// /// 取单条 /// /// /// public async Task>> GetByPid(string id) { Expression> exp = num => num.pid == id; var result = (await base.GetListWithExp(exp)).ToList().Select(s => s.Signal).ToList(); ; return result; } /// /// /// /// /// public async Task getcount(string id) { Expression> exp = num => num.pid == id; var query = await base.GetListWithExp(exp); var ids = query.Select(s => s.Id).ToList(); if (ids.Count > 36) { ids = ids.Take(ids.Count - 36).ToList(); foreach (var item in ids) { await base.RemoveAsync(item); } } return query.Count(); } } }