Пример #1
0
        internal ScrutinModel(Scrutin rawScrutin)
        {
            this.Uid           = rawScrutin.Uid;
            this.Numero        = (int)rawScrutin.Numero;
            this.Titre         = rawScrutin.Titre;
            this.Demandeur     = rawScrutin.Demandeur.Texte;
            this.Date          = rawScrutin.DateScrutin.GetValueOrDefault();
            this.Annonce       = rawScrutin.SyntheseVote.Annonce;
            this.Results       = new List <GroupeResult>();
            this.TotalExprimes = (int)rawScrutin.SyntheseVote.SuffragesExprimes;
            foreach (var groupe in rawScrutin.VentilationVotes.OrganeScrutin.Groupes.Groupe)
            {
                // forge new gp as it may have changed
                GroupeParlementaireModel groupeParlementaire = new GroupeParlementaireModel(ObjectStorage <BaseRawData> .Singleton().Get <Organe>(groupe.OrganeRef));

                this.Results.Add(new GroupeResult
                {
                    Abstentions = ParseVotants(groupeParlementaire, groupe.Vote.DecompteNominatif.Abstentions?.Votant),
                    NonVotants  = ParseVotants(groupeParlementaire, groupe.Vote.DecompteNominatif.NonVotants?.Votant),
                    Pour        = ParseVotants(groupeParlementaire, groupe.Vote.DecompteNominatif.Pours?.Votant),
                    Contre      = ParseVotants(groupeParlementaire, groupe.Vote.DecompteNominatif.Contres?.Votant),
                    Groupe      = groupeParlementaire
                });
            }

            _modelStorage.Register(this.Uid, this);
        }
Пример #2
0
        public async Task <Scrutin> CreatePoll(string nom, TypesScrutin?typeScrutin, string candidats, string user)
        {
            try
            {
                var client = new HttpClient();
                //get Id modeScrutin
                var response = await client.GetAsync("https://voteinback.azurewebsites.net/api/modeScrutin");

                var jsonstring = await response.Content.ReadAsStringAsync();

                //options.SerializerSettings.ContractResolver = new DefaultContractResolver();

                var     modeScrutins = JsonConvert.DeserializeObject <List <ModeScrutin> >(jsonstring);
                var     selectedCode = typeScrutin == TypesScrutin.JugementMajoritaire ? Constantes.JUG_MAJ : (typeScrutin == TypesScrutin.VoteAlternatif ? Constantes.VOTE_ALTER : Constantes.SCRUTIN_MAJ);
                Scrutin scrutin      = new Scrutin
                {
                    Auteur        = user,
                    DateOuverture = DateTime.Now,
                    IdModeScrutin = modeScrutins.First(m => m.Code == selectedCode).Id,
                    Nom           = nom,
                    Public        = true,
                    Description   = "Généré par le chatbot",
                    OptionScrutin = new List <OptionScrutin>()
                };

                foreach (var c in candidats.Split(','))
                {
                    scrutin.OptionScrutin.Add(new OptionScrutin
                    {
                        Option = new Option
                        {
                            Nom = c
                        }
                    });
                }

                var jsonString = JsonConvert.SerializeObject(scrutin);
                var content    = new StringContent(jsonString, Encoding.UTF8, "application/json");
                response = await client.PostAsync("https://voteinback.azurewebsites.net/api/scrutin", content);

                jsonstring = await response.Content.ReadAsStringAsync();

                scrutin = JsonConvert.DeserializeObject <Scrutin>(jsonstring);
                return(scrutin);
            }
            catch (Exception ex)
            {
            }


            return(null);
        }