public async Task GetFromMongo() { var mongo = new MongoDBManager("211.249.60.69", 27017, "next", "next!!@@##$$", "baybName"); mongo.SetCollection("nationalBabyName"); mongo.ClearFilter(); mongo.AddFIlterStringRegex("Name", InfoName.Substring(0, 3)); mongo.AddFilterStringEq("Gender", InfoGender); mongo.AddFilterEqInt("Year", InfoYear); var part1 = await mongo.GetResult(); part1.Sort(delegate(BabyNameInfo A, BabyNameInfo B) { if (A.Count > B.Count) { return(-1); } else if (A.Count < B.Count) { return(1); } else { return(0); } }); mongo.ClearFilter(); mongo.AddFIlterStringRegex("Name", InfoName.Substring(0, 2)); mongo.AddFilterStringEq("Gender", InfoGender); mongo.AddFilterEqInt("Year", InfoYear); var part2 = await mongo.GetResult(); part2.Sort(delegate(BabyNameInfo A, BabyNameInfo B) { if (A.Count > B.Count) { return(-1); } else if (A.Count < B.Count) { return(1); } else { return(0); } }); mongo.ClearFilter(); mongo.AddFIlterStringRegex("Name", InfoName.Substring(0, 1)); mongo.AddFilterStringEq("Gender", InfoGender); mongo.AddFilterEqInt("Year", InfoYear); var part3 = await mongo.GetResult(); part3.Sort(delegate(BabyNameInfo A, BabyNameInfo B) { if (A.Count > B.Count) { return(-1); } else if (A.Count < B.Count) { return(1); } else { return(0); } }); var tempList = new List <BabyNameInfo>(); tempList.AddRange(part1); foreach (var info in part2) { if (!tempList.Exists(x => x.Name == info.Name)) { tempList.Add(info); } } foreach (var info in part3) { if (!tempList.Exists(x => x.Name == info.Name)) { tempList.Add(info); } } var item = new List <BabyNameInfo>(); item.AddRange(tempList.Distinct()); ResultView.ItemsSource = item; }
public async Task GetFromMongo() { var mongo = new MongoDBManager("211.249.60.69", 27017, "next", "next!!@@##$$", "baybName"); mongo.SetCollection("nationalBabyName"); mongo.ClearFilter(); mongo.AddFIlterStringRegex("Name", InfoName); mongo.AddFilterStringEq("Gender", InfoGender); var part1 = await mongo.GetResult(); part1.Sort(delegate(BabyNameInfo A, BabyNameInfo B) { if (A.Year > B.Year) { return(1); } else if (A.Year < B.Year) { return(-1); } else { return(0); } }); var tempList = new List <BabyNameInfo>(); tempList.AddRange(part1); m_infos = new List <BabyNameInfo>(); m_infos.AddRange(tempList.Distinct()); mongo.ClearFilter(); mongo.AddFIlterStringRegex("Name", InfoName); mongo.AddFilterEqInt("Year", InfoYear); var part2 = await mongo.GetResult(); if (part2.Count == 2) { var MaxNum = part2[0].Count + part2[1].Count; if (part2[0].Gender != part2[1].Gender) { if (part2[0].Gender == "F") { m_genderRatio = part2[0].Count / (double)MaxNum; } else { m_genderRatio = part2[1].Count / (double)MaxNum; } if (m_infoGender == "M") { m_genderRatio = 1 - m_genderRatio; } else { //아무것도 안함 } } else { m_genderRatio = 1; } } else { m_genderRatio = 1; } }