Esempio n. 1
0
        public async Task<HttpResponseMessage> PostInitializeMyRecords([FromBody]LoginParameter postParameter)
        {
            string openid = postParameter.openID;
            if(string.IsNullOrEmpty(openid))
            {
                return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments);
            }
            using(UserRepository userRepository = new UserRepository())
            {
                var userUuid = await userRepository.GetUserUuidByOpenid(openid);
                if(userUuid == Guid.Empty)
                {
                    return WebApiHelper.HttpRMtoJson(postParameter.jsonpCallback, null, HttpStatusCode.OK, customStatus.NotFound);
                }
                else
                {
                    List<UserSkill> userSkillList = await userRepository.GetUserRecords(new UserSkill() { AccountEmail_uuid = userUuid });
                    List<UserCourse> userCourseList = await userRepository.GetUserRecords(new UserCourse() { AccountEmail_uuid = userUuid });
                    List<UserEducation> userEducationList = await userRepository.GetUserRecords(new UserEducation() { AccountEmail_uuid = userUuid });
                    List<UserExperience> userExperienceList = await userRepository.GetUserRecords(new UserExperience() { AccountEmail_uuid = userUuid });
                    int userArticleNumber = await userRepository.GetUserRecordsNumber(new UserArticle() { AccountEmail_uuid = userUuid });
                    int visitorsBeenToNumber = await userRepository.GetVisitorBeenToNumber(userUuid);
                    List<UserInfo> visitorsBeenTo = await userRepository.GetVisitorBeenTo(userUuid, 6);
                    Dictionary<string,object> tempResult = new Dictionary<string, object>();
                    tempResult.Add("userSkillList", userSkillList);
                    tempResult.Add("userCourseList", userCourseList);
                    tempResult.Add("userEducationList", userEducationList);
                    tempResult.Add("userExperienceList", userExperienceList);
                    tempResult.Add("userArticleNumber", userArticleNumber);
                    tempResult.Add("visitorsBeenToNumber", visitorsBeenToNumber);
                    tempResult.Add("visitorsBeenToTopSix", visitorsBeenTo);
                    return WebApiHelper.HttpRMtoJson(tempResult, HttpStatusCode.OK, customStatus.Success);
                }

            }
        }
Esempio n. 2
0
        public async Task<HttpResponseMessage> PostInitializeUserPatent([FromBody]UserRecordsParameter postParameter)
        {
            string openid = postParameter.openID;
            long id = postParameter.id;
            int pageIndex = postParameter.pageIndex;
            int pageSize = postParameter.pageSize;

            if(string.IsNullOrEmpty(openid))
            {
                return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments);
            }

            using(UserRepository userRepository = new UserRepository())
            {
                dynamic resultList;
                var userUuid = await userRepository.GetUserUuidByOpenid(openid);
                if(id != 0)
                {
                    resultList = null;
                    //resultList = await userRepository.GetUserRecordsById<UserPatent>(id);
                }
                else if(pageIndex != 0 && pageSize != 0)
                {
                    resultList = await userRepository.GetUserRecords(new UserPatent() { AccountEmail_uuid = userUuid }, pageIndex, pageSize);
                }
                else
                {
                    resultList = await userRepository.GetUserRecords(new UserPatent() { AccountEmail_uuid = userUuid });
                }
                return WebApiHelper.HttpRMtoJson(resultList, HttpStatusCode.OK, customStatus.Success);
            }


        }
        public async Task<HttpResponseMessage> PostInitializeMyRecords([FromBody]DualParameter postParameter)
        {
            string openid = postParameter.openID;
            if (string.IsNullOrEmpty(openid) || Guid.Empty.Equals(postParameter.uuid))
            {
                return WebApiHelper.HttpRMtoJson("必须同时传入openid与uuid", HttpStatusCode.OK, customStatus.InvalidArguments);
            }
            using (UserRepository userRepository = new UserRepository())
            {
                var userUuid = postParameter.uuid;
                if (userUuid == Guid.Empty)
                {
                    return WebApiHelper.HttpRMtoJson(postParameter.jsonpCallback, null, HttpStatusCode.OK, customStatus.NotFound);
                }
                else
                {
                    UserInfo userinfo = await userRepository.GetUserInfoByUuidAsync(userUuid);
                    //研究兴趣
                    string Interests = userinfo.Interests;

                    //学术地位
                    List<UserAcademic> userAcademicList = await userRepository.GetUserRecords(new UserAcademic { AccountEmail_uuid = userUuid });
                    List<string> acadmeicList = RepositoryHelper.ConvertUserAcademicToString(userAcademicList);

                    //项目资助
                    List<UserAwards> userAwardList = await userRepository.GetUserRecords(new UserAwards() { AccountEmail_uuid = userUuid });
                    //教育经历
                    List<UserEducation> userEducationList = await userRepository.GetUserRecords(new UserEducation() { AccountEmail_uuid = userUuid });

                    //工作经历
                    List<UserExperience> userExperienceList = await userRepository.GetUserRecords(new UserExperience() { AccountEmail_uuid = userUuid });

                    //论文数
                    int userArticleNumber = await userRepository.GetUserRecordsNumber(new UserArticle() { AccountEmail_uuid = userUuid });

                    //专利数
                    int userPatendNumber = await userRepository.GetUserRecordsNumber(new UserPatent() { AccountEmail_uuid = userUuid });

                    //访问过我的人还访问过谁
                    int visitorsBeenToNumber = await userRepository.GetVisitorBeenToNumber(userUuid);
                    List<UserInfo> visitorsBeenTo = await userRepository.GetVisitorBeenTo(userUuid, 6);

                    Dictionary<string, object> tempResult = new Dictionary<string, object>();

                    tempResult.Add("Interests", Interests);
                    tempResult.Add("acadmeicList", acadmeicList);
                    tempResult.Add("userAwardList", userAwardList);
                    tempResult.Add("userEducationList", userEducationList);
                    tempResult.Add("userExperienceList", userExperienceList);
                    tempResult.Add("userArticleNumber", userArticleNumber);
                    tempResult.Add("userPatendNumber", userPatendNumber);
                    tempResult.Add("visitorsBeenToNumber", visitorsBeenToNumber);
                    tempResult.Add("visitorsBeenToTopSix", visitorsBeenTo);
                    return WebApiHelper.HttpRMtoJson(tempResult, HttpStatusCode.OK, customStatus.Success);
                }

            }
        }
        public async Task<HttpResponseMessage> PostInitializeProfessorRecords([FromBody]BaseParameter postParameter)
        {
            string openid = postParameter.openID;
            if (string.IsNullOrEmpty(openid))
            {
                return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments);
            }
            using (UserRepository userRepository = new UserRepository())
            {
                var userUuid = await userRepository.GetUserUuidByOpenid(openid);
                if (userUuid == Guid.Empty)
                {
                    return WebApiHelper.HttpRMtoJson(postParameter.jsonpCallback, null, HttpStatusCode.OK, customStatus.NotFound);
                }
                else
                {
                    Dictionary<string, object> tempResult = new Dictionary<string, object>();

                    UserInfo userinfo = await userRepository.GetUserInfoByOpenid(openid);
                    //研究兴趣
                    string researchField = userinfo.Interests;
                    tempResult.Add("yjly", researchField);


                    //学术地位
                    List<UserAcademic> userAcademicList = await userRepository.GetUserRecords(new UserAcademic { AccountEmail_uuid = userUuid });
                    List<string> acadmeicList =  RepositoryHelper.ConvertUserAcademicToString(userAcademicList);
                    tempResult.Add("xsdw", Tuple.Create("UserAcademic", acadmeicList));

                    //项目资助
                    List<UserAwards> userAwardList = await userRepository.GetUserRecords(new UserAwards() { AccountEmail_uuid = userUuid });

                    tempResult.Add("zzxm", Tuple.Create("UserAwards", userAwardList));

                    //教育经历
                    List<UserEducation> userEducationList = await userRepository.GetUserRecords(new UserEducation() { AccountEmail_uuid = userUuid });
                    tempResult.Add("jyjl", Tuple.Create("UserEducation", userEducationList));

                    //工作经历
                    List<UserExperience> userExperienceList = await userRepository.GetUserRecords(new UserExperience() { AccountEmail_uuid = userUuid });
                    tempResult.Add("gzjl", Tuple.Create("UserExperience", userExperienceList));

                    //论文数
                    int userArticleNumber = await userRepository.GetUserRecordsNumber(new UserArticle() { AccountEmail_uuid = userUuid });
                    tempResult.Add("lws", Tuple.Create("UserArticle", userArticleNumber));

                    //专利数
                    int userPatendNumber = await userRepository.GetUserRecordsNumber(new UserPatent() { AccountEmail_uuid = userUuid });
                    tempResult.Add("zls", Tuple.Create("UserPatent", userPatendNumber));

                    //访问过我的人还访问过谁
                    int visitorsBeenToNumber = await userRepository.GetVisitorBeenToNumber(userUuid);
                    List<UserInfo> visitorsBeenTo = await userRepository.GetVisitorBeenTo(userUuid, 6);

                    tempResult.Add("visitorsBeenToNumber", visitorsBeenToNumber);
                    tempResult.Add("visitorsBeenToTopSix", visitorsBeenTo);
                    return WebApiHelper.HttpRMtoJson(tempResult, 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);
            }
        }
Esempio n. 6
0
        public async Task<HttpResponseMessage> PostInitializeUserRecords([FromBody]UserRecordsParameter postParameter)
        {
            string openid = postParameter.openID;
            int pageIndex = postParameter.pageIndex;
            int pageSize = postParameter.pageSize;
            if(string.IsNullOrEmpty(openid))
            {
                return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments);
            }
            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);
            }
            else if(input.AccountEmail_uuid == Guid.Empty)
            {
                return WebApiHelper.HttpRMtoJson(null, HttpStatusCode.OK, customStatus.InvalidArguments);
            }
            using(UserRepository userRepository = new UserRepository())
            {
                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);
            }
        }