public async Task<HttpResponseMessage> PostInitializeUserRecordsById([FromBody]UserRecordsParameter postParameter) { string openid = postParameter.openID; if(string.IsNullOrEmpty(openid)) { return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments); } using(UserRepository userRepository = new UserRepository()) { dynamic input=null; foreach(System.Reflection.PropertyInfo pi in postParameter.GetType().GetProperties()) { if(pi.PropertyType.BaseType.Equals(typeof(DBModelBase)) && pi.GetValue(postParameter) != null) { input = Convert.ChangeType(pi.GetValue(postParameter), pi.PropertyType); break; } } if(input == null) { return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments); } input = await userRepository.GetUserRecordsById(input); return WebApiHelper.HttpRMtoJson(input, HttpStatusCode.OK, customStatus.Success); } }
public async Task<HttpResponseMessage> PostGetObjectsByUUid([FromBody]UserRecordsParameter postParameter) { Guid uuid = postParameter.uuid; string typeid = postParameter.typeid; int pageIndex = postParameter.pageIndex; int pageSize = postParameter.pageSize; if (uuid.Equals(Guid.Empty) || string.IsNullOrEmpty(typeid) || RecordFactory.GetTypeById(typeid) == null) { return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments); } using (UserRepository userRepository = new UserRepository()) { //获取uuid var userUuid = uuid; if (userUuid.Equals(Guid.Empty)) return WebApiHelper.HttpRMtoJson("Error:uuid is empty", HttpStatusCode.OK, customStatus.InvalidArguments); //获取对象 Type t = RecordFactory.GetTypeById(typeid); if (t.GetInterface("IDBModelWithID") == null) { return WebApiHelper.HttpRMtoJson("Error:类型错误:" + "type:" + t.ToString() + "。不是IDBModelWithID的接口!", HttpStatusCode.OK, customStatus.InvalidArguments); } dynamic input = t.Assembly.CreateInstance(t.FullName) as IDBModelWithID; input.AccountEmail_uuid = userUuid; if (input.Id != 0) { input = await userRepository.GetUserRecordsById(input); } else if (pageIndex != 0 && pageSize != 0) { input = await userRepository.GetUserRecords(input, pageIndex, pageSize); } else { input = await userRepository.GetUserRecords(input); } return WebApiHelper.HttpRMtoJson(input, HttpStatusCode.OK, customStatus.Success); } }