Пример #1
0
        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);
            }


        }
Пример #2
0
        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);
            }
        }