Esempio n. 1
2
        public ViewChart(Group current)
        {
            this.model = new PlotModel("Postęp nauki dla "+current.Name);
            LineSeries basicSerie =  new LineSeries("Postęp nauki");
            LinearAxis ax = new LinearAxis();
            ax.Unit = "%";
            ax.Title = "Poprawne odpowiedzi";
            model.Axes.Add(ax);

            SqlAccess sql = new SqlAccess();
            basicSerie.Smooth = true;
            List<double> list = sql.GetStatsForGroup(current);
            int i = 1;
            if(list.Count>0)
            basicSerie.Points.Add(new DataPoint(0.0,0));
            basicSerie.MarkerType = MarkerType.Circle;
            basicSerie.MarkerSize = 3;
            basicSerie.SelectionMode = SelectionMode.Single;

            foreach (double d in list)
            {

                basicSerie.Points.Add(new DataPoint(i,d));
                i++;
            }

            this.model.Series.Add(basicSerie);
        }
Esempio n. 2
0
 public ChartWindow(Group g)
 {
     plotModel = new ViewChart(g);
     DataContext = plotModel;
     InitializeComponent();
     SqlAccess sql = new SqlAccess();
     label2.Content = sql.GetAttendsForGroup(g);
     TimeSpan timeSpan = sql.GetAvgOfDurationForGroup(g);
     avgduration.Content = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",
         timeSpan.Hours,
         timeSpan.Minutes,
         timeSpan.Seconds);
     ShowDialog();
 }
Esempio n. 3
0
        internal List<double> GetStatsForGroup(Group g)
        {
            List<double> list = new List<double>();

            cmd.CommandText = "select round(((PositiveAnsw*1.0)/(PositiveAnsw+NegativeAnsw))*100) from stats where ID_group = @id_g group by ID order by Data asc ";
            cmd.Parameters.Add(new SQLiteParameter("@id_g", g.Id));
            SQLiteDataReader data = cmd.ExecuteReader();
            while (data.Read()) {

                list.Add((double)data.GetDecimal(0));

            }
            data.Close();
            return list;
        }
Esempio n. 4
0
        internal TimeSpan GetAvgOfDurationForGroup(Group g)
        {
            cmd.CommandText = "select avg(Duration) from stats where ID_group=@id_g";
            cmd.Parameters.Add(new SQLiteParameter("@id_g", g.Id));
            object result = cmd.ExecuteScalar();
            try
            {

                return TimeSpan.FromSeconds((double)result);

            }
            catch (Exception x)
            {

                return TimeSpan.FromSeconds(0);

            }
        }
Esempio n. 5
0
        internal long GetAttendsForGroup(Group g)
        {
            cmd.CommandText = "select Attends from attends where ID_group=@id_g";
            cmd.Parameters.Add(new SQLiteParameter("@id_g", g.Id));

            return (long)cmd.ExecuteScalar();
        }