/// <summary> /// Gets all the models /// </summary> /// <returns></returns> public IList <TModel> GetAll() { IAmplaViewProperties <TModel> amplaViewProperties = GetViewProperties(null); amplaViewProperties.Enforce.CanView(); var request = GetDataRequest(true); GetDataResponse response = webServiceClient.GetData(request); List <TModel> records = new List <TModel>(); IAmplaBinding binding = new AmplaGetDataBinding <TModel>(response, records, ModelProperties); if (binding.Validate() && binding.Bind()) { return(records); } return(null); }
/// <summary> /// Finds the model using the id. /// </summary> /// <param name="id">The unique identifier.</param> /// <returns></returns> public TModel FindById(int id) { IAmplaViewProperties <TModel> amplaViewProperties = GetViewProperties(null); amplaViewProperties.Enforce.CanView(); FilterValue filter = new FilterValue("Id", Convert.ToString(id)); var request = GetDataRequest(true, filter); GetDataResponse response = webServiceClient.GetData(request); List <TModel> records = new List <TModel>(); IAmplaBinding binding = new AmplaGetDataBinding <TModel>(response, records, ModelProperties); if (binding.Validate() && binding.Bind()) { return(records.Count == 1 ? records[0] : null); } return(null); }
private AmplaRecord FindAmplaRecord(GetDataResponse response, IModelProperties <TModel> iModelProperties, IAmplaViewProperties <TModel> amplaViewProperties, out TModel model) { List <AmplaRecord> records = new List <AmplaRecord>(); model = null; IAmplaBinding amplaBinding = new AmplaGetDataRecordBinding <TModel>(response, records, modelProperties, amplaViewProperties); if (amplaBinding.Validate() && amplaBinding.Bind()) { List <TModel> models = new List <TModel>(); IAmplaBinding modelBinding = new AmplaGetDataBinding <TModel>(response, models, iModelProperties); if (modelBinding.Validate() && modelBinding.Bind()) { model = models.Count > 0 ? models[0] : null; } return(records.Count > 0 ? records[0] : null); } return(null); }