コード例 #1
0
 public static void Insert(MongoProfile model)
 {
     Console.WriteLine(MongoCollection.Count());
     MongoCollection.Insert(model);
 }
コード例 #2
0
        public static bool Insert(BolePlus.Client.LinkedIn.Json.LinkedInProfile profile)
        {
            bool insertSucceed = true;
            try
            {
                MongoProfile model = new MongoProfile();
                if (profile.Content != null)
                {
                    model.LangProfiles = new LangProfiles();
                    var langProfile = model.LangProfiles.EN;

                    var content = profile.Content;
                    if (content.Summary != null && content.Summary.SummaryDetail != null)
                    {
                        langProfile.Expertises = content.Summary.SummaryDetail.Specialties;
                        langProfile.SelfEvaluation = content.Summary.SummaryDetail.SummaryMessage;
                    }
                    if (content.BasicInfo != null && content.BasicInfo.BasicInfoDetail != null)
                    {
                        langProfile.CurrentLocation = content.BasicInfo.BasicInfoDetail.CurrentLocation;
                        langProfile.Name = content.BasicInfo.BasicInfoDetail.FullName;
                    }
                    if (content.Skills != null && content.Skills.SkillMpr != null)
                    {
                        if (!string.IsNullOrEmpty(content.Skills.SkillMpr.FirstName))
                        {
                            langProfile.FirstName = content.Skills.SkillMpr.FirstName;
                        }
                        if (!string.IsNullOrEmpty(content.Skills.SkillMpr.LastName))
                        {
                            langProfile.LastName = content.Skills.SkillMpr.LastName;
                        }
                        if (!string.IsNullOrEmpty(content.Skills.SkillMpr.FullName) && string.IsNullOrEmpty(langProfile.Name))
                        {
                            langProfile.Name = content.Skills.SkillMpr.FullName;
                        }
                        if (content.Skills.SkillMpr.Skills != null)
                        {
                            foreach (var skill in content.Skills.SkillMpr.Skills)
                            {
                                var item = new Skill()
                                {
                                    Name = skill.Name
                                };

                                langProfile.Skills.Add(item);
                            }
                        }
                    }
                    if (content.ContactInfo != null && content.ContactInfo.ContactInfoDetail != null)
                    {
                        var contactInfo = content.ContactInfo.ContactInfoDetail;
                        if (contactInfo.LinkedInEmails != null)
                        {
                            foreach (var email in contactInfo.LinkedInEmails)
                            {
                                model.Emails.Add(email.Email);
                            }
                        }
                        if (contactInfo.LinkedInWebSites != null)
                        {
                            foreach (var website in contactInfo.LinkedInWebSites)
                            {
                                model.WebSites.Add(new WebSite()
                                {
                                    Description = website.Type,
                                    Url = website.Url
                                });
                            }
                        }
                    }
                    if (content.Experience != null && content.Experience.PositionMpr != null && content.Experience.PositionMpr.Positions != null)
                    {
                        foreach (var position in content.Experience.PositionMpr.Positions)
                        {
                            var workExp = new WorkExp()
                            {
                                CompanyName = position.Company,
                                Position = position.PositionName,
                                Description = position.Description
                            };

                            workExp.StartTime = ConvertToBsonDateTime(position.StartDate);
                            workExp.EndTime = ConvertToBsonDateTime(position.EndDate);
                            langProfile.WorkExps.Add(workExp);
                        }
                    }
                    if (content.Languages != null && content.Languages.LanguageData != null && content.Languages.LanguageData.LanguageDetails != null)
                    {
                        foreach (var lang in content.Languages.LanguageData.LanguageDetails)
                        {
                            var language = new LangExp()
                            {
                                Language = lang.Name
                            };
                        }
                    }
                    if (content.Discovery != null && content.Discovery.DiscoveryDetail != null && content.Discovery.DiscoveryDetail.Name != null)
                    {
                        var nameInstance = content.Discovery.DiscoveryDetail.Name;
                        if (!string.IsNullOrEmpty(nameInstance.FirstName))
                        {
                            langProfile.FirstName = nameInstance.FirstName;
                        }
                        if (!string.IsNullOrEmpty(nameInstance.LastName))
                        {
                            langProfile.LastName = nameInstance.LastName;
                        }
                    }
                    if (content.Education != null && content.Education.EducationsMpr != null && content.Education.EducationsMpr.EducationDetails != null)
                    {
                        foreach (var edu in content.Education.EducationsMpr.EducationDetails)
                        {
                            var eduExp = new EduExp()
                            {
                                Degree = edu.Degree,
                                Major = edu.Study,
                                SchoolName = edu.SchoolName,
                                Description = edu.Description
                            };
                            eduExp.StartTime = ConvertToBsonDateTime(edu.StartDate);
                            eduExp.EndTime = ConvertToBsonDateTime(edu.EndDate);
                            langProfile.EduExps.Add(eduExp);
                        }
                    }
                    if (content.Projects != null && content.Projects.ProjectMpr != null && content.Projects.ProjectMpr.Projects != null)
                    {
                        foreach (var project in content.Projects.ProjectMpr.Projects)
                        {
                            var projectExp = new ProjectExp()
                            {
                                Description = project.Description,
                                Name = project.Title
                            };

                            projectExp.StartTime = ConvertToBsonDateTime(project.StartDate);
                            projectExp.EndTime = ConvertToBsonDateTime(project.EndDate);
                            langProfile.ProjectExps.Add(projectExp);
                        }
                    }
                }

                model.AutoId = GetAutoId();
                MongoCollection.Insert(model);
                Console.WriteLine("写入数据成功,用户名:{0} {1}, AutoId: {2} ", model.LangProfiles.EN.LastName, model.LangProfiles.EN.FirstName, model.AutoId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("写入数据失败, " + ex.Message + "stack: " + ex.StackTrace);
                insertSucceed = false;
                throw;
            }

            return insertSucceed;
        }