Exemple #1
0
 public static IQueryable <AppClient> Project(
     this IQueryable <AppClient> query, AppClientQueryProjection projection)
 {
     foreach (var f in projection.GetFieldsArr())
     {
         if (AppClientQueryProjection.MAPS.ContainsKey(f))
         {
             foreach (var prop in AppClientQueryProjection.MAPS[f])
             {
                 query = query.Include(prop);
             }
         }
     }
     return(query);
 }
Exemple #2
0
        public IDictionary <string, object> GetAppClientDynamic(
            AppClient row, AppClientQueryProjection projection,
            AppClientQueryOptions options)
        {
            var obj = new Dictionary <string, object>();

            foreach (var f in projection.GetFieldsArr())
            {
                switch (f)
                {
                case AppClientQueryProjection.INFO:
                {
                    var entity = row;
                    obj["id"]          = entity.Id;
                    obj["client_name"] = entity.ClientName;
                    obj["description"] = entity.Description;
                    obj["secret_key"]  = entity.SecretKey;
                    var time = entity.CreatedTime
                               .ToDefaultTimeZone();
                    var timeStr = time.ToString(options.date_format);
                    obj["created_time"] = new
                    {
                        display = timeStr,
                        iso     = $"{time.ToUniversalTime():s}Z"
                    };
                    time = entity.LastUpdated
                           .ToDefaultTimeZone();
                    timeStr             = time.ToString(options.date_format);
                    obj["last_updated"] = new
                    {
                        display = timeStr,
                        iso     = $"{time.ToUniversalTime():s}Z"
                    };
                }
                break;
                }
            }
            return(obj);
        }