protected override void PrepareQuery(SqlQuery query)
    {
        //base.PrepareQuery(query);
        var user = (UserDefinition)Authorization.UserDefinition;
        var fld = PositionRow.Fields;
        if (!Authorization.HasPermission("Administration:Security"))
        {
            if (user.UserAgencyType != null)
            {
                query
                    .Distinct(true)
                    .Select(fld.PositionType)
                    .Select(fld.PositionTypeTypeName)
                    .Select(fld.PositionId)
                    .Select(fld.PositionName)
                    .Select(fld.AgencyType)
                    .Select(fld.AgencyTypeTypeName)
                    .Where(
                        new Criteria(fld.PositionTypeTypeName) != "" &
                        new Criteria(fld.PositionTypeTypeName).IsNotNull() &
                        new Criteria(fld.AgencyType) == user.UserAgencyType.Value);
            }
        }
        else
        {
            query
                .Distinct(true)
                .Select(fld.PositionType)
                .Select(fld.PositionTypeTypeName)
                .Select(fld.PositionId)
                .Select(fld.PositionName)
                .Select(fld.AgencyType)
                .Select(fld.AgencyTypeTypeName)
                .Where(
                    new Criteria(fld.PositionTypeTypeName) != "" &
                    new Criteria(fld.PositionTypeTypeName).IsNotNull());
        }
    }

    protected override void ApplyOrder(SqlQuery query)
    {
    }
}

results matching ""

    No results matching ""