//Returns ministers depending on government public List <CustomMinister> GetMinisters() { using (var entities = new FTDatabaseEntities()) { List <CustomMinister> ministers = new List <CustomMinister>(); List <Minister> tempList = entities.Minister.Where(s => s.MinisterialPost.Government.id == 1).ToList(); foreach (var item in tempList) { ContactInfo contact = item.Politician.ContactInfo.FirstOrDefault(); CustomMinister minister = new CustomMinister() { GovernmentId = item.MinisterialPost.governmentId, Firstname = item.Politician.firstname, Lastname = item.Politician.lastname, Party = item.Politician.Party.name, Title = item.MinisterialPost.title }; if (contact != null) { if (contact.email != null) { minister.Email = contact.email; } if (contact.phone != null) { minister.Phone = contact.phone; } } ministers.Add(minister); } return(ministers); } }
//Add ministers public void AddMinister(Minister minister) { using (var context = new FTDatabaseEntities()) { context.Minister.Add(minister); context.SaveChanges(); } }
//Add contact info public void AddContactInfo(ContactInfo contact) { using (var context = new FTDatabaseEntities()) { context.ContactInfo.Add(contact); context.SaveChanges(); } }
public void AddPolitician(Politician politician) { using (var context = new FTDatabaseEntities()) { context.Politician.Add(politician); context.SaveChanges(); } }
public Party GetParty(string initial) { Party party; using (var context = new FTDatabaseEntities()) { party = context.Party.Where(p => p.initial.Equals(initial, StringComparison.InvariantCultureIgnoreCase)).SingleOrDefault(); } return(party); }
public Municipality GetMunicipality(string name) { Municipality municipality; using (var context = new FTDatabaseEntities()) { municipality = context.Municipality.Where(p => p.name.Equals(name)).SingleOrDefault(); } return(municipality); }
public MinisterialPost GetMinisterialPost(string title) { MinisterialPost post; using (var context = new FTDatabaseEntities()) { post = context.MinisterialPost.Where(p => p.title.Equals(title)).SingleOrDefault(); } return(post); }
//Get politician id with name public Politician GetPolitician(string firstname, string lastname) { Politician politician; using (var context = new FTDatabaseEntities()) { politician = context.Politician.Where(p => p.firstname.Equals(firstname) && p.lastname.Equals(lastname)).SingleOrDefault(); } return(politician); }
private bool SelectionMemberExist(Selection_member member, FTDatabaseEntities context) { if (context.Selection_member.Where(s => s.selectionId == member.selectionId && s.parliamentMemberId == member.parliamentMemberId).Any()) { return(true); } else { return(false); } }
private void CreateSelectionMembers(Object data) { ThreadData indexes = (ThreadData)data; string pattern = "^\\d+$"; bool shouldInclude = true; var tdList = documents[indexes.Index].DocumentNode.SelectNodes("//td"); foreach (var node in tdList) { var value = RemoveExcessWhiteSpace(node.InnerText); if (!value.Equals("")) { if (!Regex.IsMatch(value, pattern)) { if (shouldInclude) { string[] fullname = SplitName(value); string firstname = fullname[0]; string lastname = fullname[1]; Selection_member selection_Member = new Selection_member(); //saving the retrieved data to db using (var context = new FTDatabaseEntities()) { if (context.Politician.Where(p => p.firstname.Equals(firstname) && p.lastname.Equals(lastname)).Any()) { Debug.WriteLine(firstname + " " + lastname + " " + indexes.SelectionIndex); selection_Member.parliamentMemberId = context.ParliamentMember.Where(p => p.Politician.firstname.Equals(firstname) && p.Politician.lastname.Equals(lastname) && p.Parliament.id == parliamentId).Single().id; selection_Member.selectionId = indexes.SelectionIndex; if (!SelectionMemberExist(selection_Member, context)) { context.Selection_member.Add(selection_Member); } context.SaveChanges(); } } shouldInclude = false; } else { shouldInclude = true; } } } } }
//Add Minister to db public void AddMinisters() { using (var entities = new FTDatabaseEntities()) { MinisterScraper scraper = new MinisterScraper(); List <ExtractedValues> values = scraper.GetMinisters(); List <CustomMinister> ministers = new List <CustomMinister>(); foreach (var item in values) { Politician politician = service.GetPolitician(item.Firstname, item.Lastname); if (politician == null) { politician = new Politician(); politician.firstname = item.Firstname; politician.lastname = item.Lastname; politician.partyId = entities.Party.Where(p => p.name.Equals(item.Party)).SingleOrDefault().id; service.AddPolitician(politician); politician = service.GetPolitician(item.Firstname, item.Lastname); ContactInfo contactInfo = item.Contact; contactInfo.politicianId = politician.id; Debug.WriteLine(politician.id); service.AddContactInfo(contactInfo); } MinisterialPost post = service.GetMinisterialPost(item.Title); if (post == null) { using (var context = new FTDatabaseEntities()) { context.MinisterialPost.Add(new MinisterialPost() { governmentId = 1, title = item.Title }); context.SaveChanges(); } } Minister minister = new Minister(); minister.ministerialPostId = service.GetMinisterialPost(item.Title).id; minister.politicianId = politician.id; minister.startDate = DateTime.Now.Date; entities.Minister.Add(minister); } entities.SaveChanges(); } }
public void AddMayors(List <CustomMayor> mayors) { using (var entity = new FTDatabaseEntities()) { List <CustomMayor> ministers = new List <CustomMayor>(); foreach (var item in mayors) { Politician politician = service.GetPolitician(item.Firstname, item.Lastname); if (politician == null) { politician = new Politician(); politician.firstname = item.Firstname; politician.lastname = item.Lastname; politician.partyId = entity.Party.Where(p => p.name.Equals(item.Party)).SingleOrDefault().id; service.AddPolitician(politician); politician = service.GetPolitician(item.Firstname, item.Lastname); ContactInfo contactInfo = new ContactInfo(); contactInfo.email = item.Email; contactInfo.phone = item.Phone; contactInfo.politicianId = politician.id; service.AddContactInfo(contactInfo); } Municipality municipality = service.GetMunicipality(item.Municipality); if (municipality == null) { using (var context = new FTDatabaseEntities()) { context.Municipality.Add(new Municipality() { regionId = 1, name = item.Municipality }); context.SaveChanges(); } } Mayor mayor = new Mayor(); mayor.politicianId = politician.id; mayor.municipalityId = service.GetMunicipality(item.Municipality).id; entity.Mayor.Add(mayor); } entity.SaveChanges(); } }
public void AddMembers() { using (var entities = new FTDatabaseEntities()) { DBService service = new DBService(); ParliamentMemberFilter filter = new ParliamentMemberFilter(); List <ExtractedValues> values = filter.GetParliamentMembers(); List <CustomPolitcian> politcians = new List <CustomPolitcian>(); foreach (var item in values) { Politician politician = service.GetPolitician(item.Firstname, item.Lastname); if (politician == null) { politician = new Politician(); politician.firstname = item.Firstname; politician.lastname = item.Lastname; politician.partyId = entities.Party.Where(p => p.name.Equals(item.Party)).SingleOrDefault().id; service.AddPolitician(politician); politician = service.GetPolitician(item.Firstname, item.Lastname); UpdateContact(politician.id, item.Contact); } else { var partyId = entities.Party.Where(p => p.name.Equals(item.Party)).SingleOrDefault().id; politician.partyId = partyId; entities.Politician.Attach(politician); entities.Entry(politician).Property(pol => pol.partyId).IsModified = true; entities.SaveChanges(); } UpdateContact(politician.id, item.Contact); ParliamentMember member = new ParliamentMember(); member.politicianId = politician.id; member.parliamentId = 1; entities.ParliamentMember.Add(member); } entities.SaveChanges(); } }
private void UpdateContact(int politicianId, ContactInfo newContact) { DBService service = new DBService(); ContactInfo contactInfo = newContact; var checkContact = entities.ContactInfo.Where(c => c.email.Equals(contactInfo.email) && c.phone.Equals(contactInfo.phone)); if (!checkContact.Any()) { contactInfo.politicianId = politicianId; service.AddContactInfo(contactInfo); } else { checkContact.First().email = newContact.email; checkContact.First().phone = newContact.phone; using (var context = new FTDatabaseEntities()) { ContactInfo testContact = checkContact.First(); testContact.phone = newContact.phone; testContact.email = newContact.email; context.SaveChanges(); } } }