Ejemplo n.º 1
0
        public void RegisterVoteForBill(bool vote, int billId, ConstituencyDataModel constituency)
        {
            decimal verticalAvarage   = 50;
            decimal horizontalAvarage = 50;
            var     bill = _db.Single <BillDataModel>(b => b.Id == billId);
            var     allStanceRecordsForBill = _db.All <BillStanceDateModel>().Where(s => s.BillId == billId);

            if (allStanceRecordsForBill.Any())
            {
                verticalAvarage   = allStanceRecordsForBill.Sum(s => s.VerticalValue) / allStanceRecordsForBill.Count();
                horizontalAvarage = allStanceRecordsForBill.Sum(s => s.HorizontalValue) / allStanceRecordsForBill.Count();
            }

            var newVote = new VoteDateModel()
            {
                BillDataModelId         = bill.Id,
                House                   = bill.House,
                Stage                   = bill.Stage,
                Vote                    = vote,
                ConstituencyDataModelId = constituency.Id,
                VerticalValue           = verticalAvarage,
                HorizontalValue         = horizontalAvarage
            };

            _db.Add <VoteDateModel>(newVote);
            _db.CommitChanges();
        }
Ejemplo n.º 2
0
        public void RegisterOpinionForBill(bool vote, int billId, ConstituencyDataModel constituency)
        {
            var bill = _db.Single <BillDataModel>(b => b.Id == billId);

            var newOpinion = new OpinionDataModel()
            {
                BillId       = bill.Id,
                House        = bill.House,
                Stage        = bill.Stage,
                Vote         = vote,
                Constituency = constituency
            };

            _db.Add <OpinionDataModel>(newOpinion);
            _db.CommitChanges();
        }
Ejemplo n.º 3
0
        private void PopulateConstituencies()
        {
            Democracy.TheyWorkForYou.API theyWorkForYouApi = new Democracy.TheyWorkForYou.API();
            string result = theyWorkForYouApi.Query("getConstituencies", new string[] { });
            var    constituenciesResults = JsonConvert.DeserializeObject <List <TWFYConstituenciesSearchResults> >(result);

            foreach (var constituencyData in constituenciesResults)
            {
                var constituency = _db.Single <ConstituencyDataModel>(c => c.Name == constituencyData.Name);

                if (constituency == null)
                {
                    var newConstituency = new ConstituencyDataModel()
                    {
                        Name            = constituencyData.Name,
                        RegisterdVoters = GetVotersForConstituency(constituencyData.Name)
                    };
                    _db.Add <ConstituencyDataModel>(newConstituency);
                }
            }
            _db.CommitChanges();
        }