コード例 #1
0
        public FieldViewResponse <TEntity> Create <TEntity>(string json)
        {
            FieldViewResponse <TEntity> response = JsonConvert.DeserializeObject <FieldViewResponse <TEntity> >(json);

            if (typeof(FormPhoto).IsAssignableFrom(typeof(TEntity)) ||
                typeof(FormDocument).IsAssignableFrom(typeof(TEntity)))
            {
                // The API just doesn't have a consistent response pattern. These two entities's properties are returned in the root object
                // rather than being a nested object property.

                response.Entities = new List <TEntity>
                {
                    JsonConvert.DeserializeObject <TEntity>(json)
                };
            }
            else
            {
                // Should be an object like this { "ProjectDetailInformation" : [] }
                JObject result = JsonConvert.DeserializeObject <JObject>(json);
                response.Entities = result.First.First.ToObject <IEnumerable <TEntity> >();
            }

            if (response.Status.Code != 2)
            {
                throw new FieldViewResponseException(response);
            }

            return(response);
        }
コード例 #2
0
 internal FieldViewResponseException(FieldViewResponse errorResponse) : base($"Error Code {errorResponse.Status.Code}: {errorResponse.Status.Message}")
 {
     this.StatusCode = errorResponse.Status.Code;
 }