protected virtual async Task <Entity> FetchFirstOrDefaultAsync(Fetch fetch) { var request = new RetrieveSingleRequest(fetch) { EnforceSingle = false }; var response = await ExecuteAsync(request).WithCurrentCulture() as RetrieveSingleResponse; return(response.Entity); }
public IHttpActionResult RetrieveSingle(RetrieveSingleRequest request) { log.Info("RetrieveSingle"); log.Info(JsonConvert.SerializeObject(request)); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RetrieveSingleResponse results = new RetrieveSingleResponse(); results.request = request; results.Result = null; results.Errors = new List <Dictionary <string, string> >(); ColumnSet columns; if (request.Fields == null || request.Fields.Count == 0) { columns = new ColumnSet(true); } else { columns = new ColumnSet(request.Fields.ToArray()); } try { results.Result = connect.Retrieve(request.Entity, request.Id, columns); } catch (Exception ex) { results.Errors.Add(new Dictionary <string, string> { { "Message", ex.Message }, { "StackTrace", ex.StackTrace } }); log.Error(ex.Message); log.Error(ex.StackTrace); if (ex.InnerException != null) { log.Error(ex.InnerException.Message); } } return(Ok <RetrieveSingleResponse>(results)); }