public SondajForm(int IdParticipant, bool top3) { InitializeComponent(); UpGoingPanel = null; string NumeParticipant = ParticipantNumeByID(IdParticipant, true); //Pozitionarea label-urilor label.Left = 0; label.ForeColor = Color.FromArgb(255, 190, 0); lbMelodiiRamase.Left = 0; lbParticipant.Left = 0; //Viteza initiala pentru UpGoingPanel si UpComingPanel; speed = Width / 6; //Extragerea melodiilor din baza de date LoadMelodii(ref melodii, top3); //Stabilirea pozitiilor in top a melodiilor melodii.Sort((x, y) => x.Puncte.CompareTo(y.Puncte)); for (int i = 0; i < melodii.Count; i++) { melodii[i].LoculInTop = melodii.Count - i; } nrMelodiiInitial = melodii.Count(); lbMelodiiRamase.Text = "Melodii ramase: " + (nrMelodiiInitial - 1); lbParticipant.Text = "Participant: " + NumeParticipant; lbProgessBar.Width = 0; lbProgessBar.Tag = ((double)(100 / nrMelodiiInitial)).ToString(); btNext.Enabled = false; //Crearea unui obiect Sondaj si inserarea acestuia in BD; //Sondajul va fi inregistrat in baza de date, initial avand 0 puncte. //La sfarsitul sondajului, scorul va fi actualizat in dependenta de punctele acumulate. Sondaj = new Models.Sondaj(); Sondaj.IdParticipant = IdParticipant; Sondaj.Data = DateTime.Now; Sondaj.ScorFinal = 0; InsertSondaj(Sondaj); Sondaj.IdSondaj = LastInsertedID("Sondaje"); rezultateSondaj = new RezultateSondaj(); rezultateSondaj.Participant = NumeParticipant; //Extragerea unei melodii aleatoare RandomMelodie(); }
private void btNext_Click(object sender, EventArgs e) { if (melodii.Count() == 0) { //Sondajul s-a terminat, se revine la fereastra 'Acasa' //Eliberare resurse melodii.Clear(); voturi.Clear(); UpComingPanel = UpComingPanel = null; Sondaj = null; rezultateSondaj.Rezultate.Clear(); rezultateSondaj = null; Panel parent = this.Parent as Panel; openChildForm(new HomeForm(), parent); } else { //Procesarea votului curent si alegerea urmatoarei melodii int optiuneAleasa = int.Parse(btNext.Tag.ToString()); ProcesareVot(optiuneAleasa); RandomMelodie(); if (melodii.Count >= 1) { (sender as Button).Enabled = false; } else { (sender as Button).FlatAppearance.BorderSize = 1; } //Incrementarea progressBar-ului if (melodii.Count() == 0) { lbProgessBar.Width = Width; } else { lbProgessBar.Width += (int)((Width / 100) * (double.Parse(lbProgessBar.Tag.ToString()))); } } }