using System; using System.Linq.Expressions; using Luticate2.Auth.Business.Fields; using Luticate2.Auth.Business.FieldsExpressions; using Luticate2.Auth.DataAccess.Models; using Luticate2.Auth.Dbo.Auth; using Luticate2.Auth.Dbo.Fields; using Luticate2.Auth.Dbo.Result; namespace Luticate2.Auth.Business.Auth.FieldsExpressions { public class LuFieldsExpressionsLuGroupDboLuGroups : LuFieldsExpressions { public LuFieldsExpressionsLuGroupDboLuGroups(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override LuResult>> GetExpressionInternal( Expression> modelProperty, LuFieldDbo field) { if (field.StartsWith(x => x.Id)) { return GetSubField(modelProperty, field, x => x.Id); } else if (field.StartsWith(x => x.Name)) { return GetSubField(modelProperty, field, x => x.Name); } else if (field.StartsWith(x => x.Metadata)) { return GetSubField(modelProperty, field, x => x.IdNavigation); } return base.GetExpressionInternal(modelProperty, field); } } }