using System.Collections.Generic; using System.Linq; using Abp.Application.Services; using Abp.Runtime.Caching; using Abp.UI; using IwbZero.Runtime.Session; using IwbZero.ToolCommon.Lambda; namespace IwbZero.AppServiceBase { public abstract class IwbZeroAppServiceBase : ApplicationService { public ICacheManager CacheManager { get; set; } public new IIwbSession AbpSession { get; set; } protected IwbZeroAppServiceBase() { LocalizationSourceName = IwbZeroConsts.LocalizationSourceName; } protected virtual IQueryable ApplyFilter(IQueryable query, IIwbPagedRequest input) { if (!string.IsNullOrEmpty(input.KeyWords)) { object keyWords = input.KeyWords; LambdaObject obj = new LambdaObject() { FieldType = (LambdaFieldType)input.FieldType, FieldName = input.KeyField, FieldValue = keyWords, ExpType = (LambdaExpType)input.ExpType }; var exp = obj.GetExp(); query = exp != null ? query.Where(exp) : query; } if (input.SearchList != null && input.SearchList.Count > 0) { List objList = new List(); foreach (var o in input.SearchList) { if (string.IsNullOrEmpty(o.KeyWords)) continue; object keyWords = o.KeyWords; objList.Add(new LambdaObject { FieldType = (LambdaFieldType)o.FieldType, FieldName = o.KeyField, FieldValue = keyWords, ExpType = (LambdaExpType)o.ExpType }); } var exp = objList.GetExp(); query = exp == null ? query : query.Where(exp); } return query; } //protected virtual void CheckErrors(IdentityResult identityResult) //{ // identityResult.CheckErrors(LocalizationManager); //} protected virtual void CheckErrors(string error) { throw new UserFriendlyException(error); } /// /// 抛出错误 /// /// /// 是否要本地化 protected virtual void ThrowError(string err, bool isLocalization = true) { CheckErrors(isLocalization ? L(err) : err); } } }