Ejemplo n.º 1
0
 //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);
     }
 }
Ejemplo n.º 2
0
 //Add ministers
 public void AddMinister(Minister minister)
 {
     using (var context = new FTDatabaseEntities())
     {
         context.Minister.Add(minister);
         context.SaveChanges();
     }
 }
Ejemplo n.º 3
0
 //Add contact info
 public void AddContactInfo(ContactInfo contact)
 {
     using (var context = new FTDatabaseEntities())
     {
         context.ContactInfo.Add(contact);
         context.SaveChanges();
     }
 }
Ejemplo n.º 4
0
 public void AddPolitician(Politician politician)
 {
     using (var context = new FTDatabaseEntities())
     {
         context.Politician.Add(politician);
         context.SaveChanges();
     }
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        public Municipality GetMunicipality(string name)
        {
            Municipality municipality;

            using (var context = new FTDatabaseEntities())
            {
                municipality = context.Municipality.Where(p => p.name.Equals(name)).SingleOrDefault();
            }
            return(municipality);
        }
Ejemplo n.º 7
0
        public MinisterialPost GetMinisterialPost(string title)
        {
            MinisterialPost post;

            using (var context = new FTDatabaseEntities())
            {
                post = context.MinisterialPost.Where(p => p.title.Equals(title)).SingleOrDefault();
            }
            return(post);
        }
Ejemplo n.º 8
0
        //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);
        }
Ejemplo n.º 9
0
 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);
     }
 }
Ejemplo n.º 10
0
        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;
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
        //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();
            }
        }
Ejemplo n.º 12
0
        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();
            }
        }
Ejemplo n.º 13
0
        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();
            }
        }
Ejemplo n.º 14
0
        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();
                }
            }
        }