public async Task <StatisticGeneralDo2> GetUserlStatisticForTrainer(string VartotojoId, string WorkoutId)
        {
            var resultTask   = new StatisticGeneralDo2();
            var getAllQuery  = string.Format(_getUserGeneralStatistics, VartotojoId);
            var getAllQuery2 = string.Format(_getUserMadedStatForSelectedWorkout, VartotojoId, WorkoutId);

            List <string> chartLabel = new List <string>();

            var result = await _sqlClient.ExecuteQueryList <StatistikaDto>(getAllQuery, Func);


            List <double> averageTime = new List <double>();
            double        temp        = 0;
            int           count       = 0;

            foreach (var d in result)
            {
                chartLabel.Add(d.TreniruotesPradzia);
                var start   = DateTime.Parse(d.TreniruotesPradzia);
                var pabaiga = DateTime.Parse(d.TreniruotesPabaiga);
                var skirt   = pabaiga - start;
                temp += skirt.TotalHours;
                count++;
                averageTime.Add(Math.Round(temp / count, 2));
            }


            tableDataa2[] tblData2 = new tableDataa2[1];
            tblData2[0]       = new tableDataa2();
            tblData2[0].label = "User's average training time";
            tblData2[0].data  = averageTime;


            var        tempTimeMean = temp / count;
            List <int> goalEx       = new List <int>();
            List <int> userEx       = new List <int>();

            List <string> tempArr = new List <string>();

            var userMadeStat = await _sqlClient.ExecuteQueryList <UserExerciseCountDto>(getAllQuery2, Func2);

            foreach (var u in userMadeStat)
            {
                if (tempArr.Any())
                {
                    int index = tempArr.FindIndex(x => x == u.StatistikosId);
                    if (index == -1)//jei nerado
                    {
                        tempArr.Add(u.StatistikosId);
                        goalEx.Add(u.ReikiaPadaryti);
                        userEx.Add(u.Padare);
                    }
                    else //rado
                    {
                        goalEx[index] += u.ReikiaPadaryti;
                        userEx[index] += u.Padare;
                    }
                }
                else
                {
                    tempArr.Add(u.StatistikosId);
                    goalEx.Add(u.ReikiaPadaryti);
                    userEx.Add(u.Padare);
                }
            }

            tableDataa[] tblData = new tableDataa[2];
            tblData[0]       = new tableDataa();
            tblData[1]       = new tableDataa();
            tblData[0].label = "Workout goal";
            tblData[0].data  = goalEx;
            tblData[1].label = "User's workout exercise count";
            tblData[1].data  = userEx;


            /*double tempCount = 0;
             * foreach (var a in userEx)
             * {
             *  tempCount += a;
             * }
             *
             * var avg = tempCount / count;
             * resultTask.meanTime = Math.Round(tempTimeMean, 2);
             *
             * resultTask.meanCount = Math.Round(avg, 2);*/
            resultTask.chartLabels   = chartLabel;
            resultTask.dataForTable  = tblData;
            resultTask.dataForTable2 = tblData2;

            return(resultTask);
        }
        public async Task <StatisticGeneralDo> GetUserGeneralStatistic(string VartotojoId)
        {
            var resultTask   = new StatisticGeneralDo();
            var getAllQuery  = string.Format(_getUserGeneralStatistics, VartotojoId);
            var getAllQuery2 = string.Format(_getUserMadedStat, VartotojoId);

            List <string> chartLabel = new List <string>();

            var result = await _sqlClient.ExecuteQueryList <StatistikaDto>(getAllQuery, Func);

            double temp  = 0;
            int    count = 0;

            foreach (var d in result)
            {
                chartLabel.Add(d.TreniruotesPradzia);
                var start   = DateTime.Parse(d.TreniruotesPradzia);
                var pabaiga = DateTime.Parse(d.TreniruotesPabaiga);
                var skirt   = pabaiga - start;
                temp += skirt.TotalHours;
                count++;
            }
            var tempTimeMean = temp / count;

            resultTask.meanTime = Math.Round(tempTimeMean, 2);
            List <int> goalEx = new List <int>();
            List <int> userEx = new List <int>();
            List <int> maxEx  = new List <int>();
            List <int> minEx  = new List <int>();



            List <string> tempArr = new List <string>();

            var userMadeStat = await _sqlClient.ExecuteQueryList <UserExerciseCountDto>(getAllQuery2, Func2);

            foreach (var u in userMadeStat)
            {
                if (tempArr.Any())
                {
                    int index = tempArr.FindIndex(x => x == u.StatistikosId);
                    if (index == -1)//jei nerado
                    {
                        tempArr.Add(u.StatistikosId);
                        goalEx.Add(u.ReikiaPadaryti);
                        userEx.Add(u.Padare);
                        maxEx.Add(u.Padare);
                        minEx.Add(u.Padare);
                    }
                    else //rado
                    {
                        goalEx[index] += u.ReikiaPadaryti;
                        userEx[index] += u.Padare;
                        if (maxEx[index] < u.Padare)
                        {
                            maxEx[index] = u.Padare;
                        }

                        if (minEx[index] > u.Padare)
                        {
                            minEx[index] = u.Padare;
                        }
                    }
                }
                else
                {
                    tempArr.Add(u.StatistikosId);
                    goalEx.Add(u.ReikiaPadaryti);
                    userEx.Add(u.Padare);
                    maxEx.Add(u.Padare);
                    minEx.Add(u.Padare);
                }
            }

            tableDataa[] tblData = new tableDataa[4];
            tblData[0]       = new tableDataa();
            tblData[1]       = new tableDataa();
            tblData[2]       = new tableDataa();
            tblData[3]       = new tableDataa();
            tblData[0].label = "Workout goal";
            tblData[0].data  = goalEx;
            tblData[1].label = "User's workout exercise count";
            tblData[1].data  = userEx;
            tblData[2].label = "Max count per exercise";
            tblData[2].data  = maxEx;
            tblData[3].label = "Min count per exercise";
            tblData[3].data  = minEx;

            double tempCount = 0;

            foreach (var a in userEx)
            {
                tempCount += a;
            }

            var avg = tempCount / count;

            resultTask.meanCount    = Math.Round(avg, 2);
            resultTask.chartLabels  = chartLabel;
            resultTask.dataForTable = tblData;

            return(resultTask);
        }