コード例 #1
0
ファイル: AddStudent.xaml.cs プロジェクト: msh2050/MoalemYar
        public async static Task <string> InsertStudentAsync(long BaseId, string Name, string LName, string FName, string Gender, byte[] Image)
        {
            using (var db = new DataClass.myDbContext())
            {
                var Student = new DataClass.Tables.Student();
                Student.BaseId = BaseId;
                Student.Name   = Name;
                Student.LName  = LName;
                Student.FName  = FName;
                Student.Gender = Gender;
                Student.Image  = Image;
                db.Students.Add(Student);

                await db.SaveChangesAsync();

                return("Student Added Successfully");
            }
        }
コード例 #2
0
 private void addAttendance(long StudentId, bool Exist, string Date)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var Attendance = new DataClass.Tables.Attendance();
             Attendance.StudentId = StudentId;
             Attendance.Exist     = Exist;
             Attendance.Date      = Date;
             db.Attendances.Add(Attendance);
             db.SaveChanges();
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #3
0
        public async static Task <string> InsertScoreAsync(long StudentId, string Book, string Date, string Scorez, string Desc)
        {
            using (var db = new DataClass.myDbContext())
            {
                var Score = new DataClass.Tables.Score();
                Score.StudentId = StudentId;
                Score.Book      = Book;
                Score.Date      = Date;
                Score.Scores    = Scorez;
                Score.Desc      = Desc;

                db.Scores.Add(Score);

                await db.SaveChangesAsync();

                return("Score Added Successfully");
            }
        }
コード例 #4
0
 private void getSchool()
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Schools.Select(x => x);
             if (query.Any())
             {
                 cmbBase.ItemsSource     = query.ToList();
                 cmbEditBase.ItemsSource = query.ToList();
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #5
0
        private void cmbAzmon_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            gpChart.Visibility = Visibility.Visible;
            double[] values = new double[] { };

            try
            {
                dynamic getGroupName = cmbGroups.SelectedItem;
                string  gpName       = getGroupName.GroupName;
                dynamic getDateText  = cmbAzmon.SelectedItem;
                string  dPass        = getDateText.DatePass;
                using (var db = new DataClass.myDbContext())
                {
                    dynamic selectedItem = dataGrid.SelectedItems[0];
                    long    uId          = selectedItem.Id;
                    var     data         = db.AHistories.Where(x => x.UserId == uId && x.DatePass == dPass && x.GroupName.Equals(gpName)).Select(x => x).OrderByDescending(x => x.DatePass).ToList();
                    values = new double[] { data.FirstOrDefault().TrueItem, data.FirstOrDefault().FalseItem, data.FirstOrDefault().NoneItem };

                    list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                        Caption = "پاسخ صحیح", Scores = data.FirstOrDefault().TrueItem
                    });
                    list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                        Caption = "پاسخ غلط", Scores = data.FirstOrDefault().FalseItem
                    });
                    list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                        Caption = "بدون پاسخ", Scores = data.FirstOrDefault().NoneItem
                    });

                    Mapper = Mappers.Xy <DataClass.DataTransferObjects.myChartTemplate>()
                             .X((myData, index) => index)
                             .Y(myData => myData.Scores);

                    //lets take the first 15 records by default;
                    var records = list.OrderBy(x => x.Scores).ToArray();

                    Results     = records.AsChartValues();
                    Labels      = new ObservableCollection <string>(records.Select(x => x.Caption));
                    DataContext = this;
                }
            }
            catch (Exception)
            {
            }
        }
コード例 #6
0
        private void addAQuestions(long GroupId, string Class, string QuestionText, string Case1, string Case2, string Case3, string Case4, int Answer, string Date)
        {
            using (var db = new DataClass.myDbContext())
            {
                var aQuestion = new DataClass.Tables.AQuestion();
                aQuestion.GroupId      = GroupId;
                aQuestion.Class        = Class;
                aQuestion.QuestionText = QuestionText;
                aQuestion.Case1        = Case1;
                aQuestion.Case2        = Case2;
                aQuestion.Case3        = Case3;
                aQuestion.Case4        = Case4;
                aQuestion.Answer       = Answer;
                aQuestion.Date         = Date;
                db.AQuestions.Add(aQuestion);

                db.SaveChanges();
            }
        }
コード例 #7
0
 private void deleteSchool(long id)
 {
     using (var db = new DataClass.myDbContext())
     {
         var checkQuery = db.Students.Where(x => x.BaseId == id).Any();
         if (checkQuery)
         {
             MainWindow.main.ShowDeleteExistNotification("مدرسه", "دانش آموزان");
         }
         else
         {
             var DeleteSchool = db.Schools.Find(id);
             db.Schools.Remove(DeleteSchool);
             db.SaveChanges();
             MainWindow.main.getexHint();
             MainWindow.main.ShowDeletedNotification(true, txtSchool.Text, "مدرسه");
         }
     }
 }
コード例 #8
0
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                using (var db = new DataClass.myDbContext())
                {
                    var qschool = db.Schools.ToList();
                    cmbEditBase.ItemsSource = qschool.Any() ? qschool : null;

                    var qGroupName = db.Groups.ToList();
                    cmbGroups.ItemsSource = qGroupName.Any() ? qGroupName : null;
                }
            }
            catch (Exception)
            {
            }

            cmbEditBase.SelectedIndex = Convert.ToInt32(FindElement.Settings.DefaultSchool);
        }
コード例 #9
0
ファイル: AddStudent.xaml.cs プロジェクト: msh2050/MoalemYar
        public async static Task <string> UpdateStudentAsync(long id, long BaseId, string Name, string LName, string FName, string Gender, byte[] Image)
        {
            using (var db = new DataClass.myDbContext())
            {
                var EditStudent = await db.Students.FindAsync(id);

                EditStudent.Name = Name;

                EditStudent.LName = LName;

                EditStudent.FName  = FName;
                EditStudent.Gender = Gender;
                EditStudent.BaseId = BaseId;
                EditStudent.Image  = Image;
                await db.SaveChangesAsync();

                return("Student Updated Successfully");
            }
        }
コード例 #10
0
        public void getTopStudent(long BaseId)
        {
            using (var db = new DataClass.myDbContext())
            {
                var query = db.Scores.Join(
                    db.Students,
                    c => c.StudentId,
                    v => v.Id,
                    (c, v) => new DataClass.DataTransferObjects.StudentsScoresDto {
                    Id = c.Id, BaseId = v.BaseId, StudentId = v.Id, Name = v.Name, LName = v.LName, FName = v.FName, Scores = c.Scores
                }
                    ).OrderBy(x => x.Scores).Where(x => x.BaseId == BaseId).ToList();

                var res = query.GroupBy(x => new { x.StudentId })
                          .Select(x => new
                {
                    x.Key.StudentId,
                    Name  = x.FirstOrDefault().Name,
                    LName = x.FirstOrDefault().LName,
                    FName = x.FirstOrDefault().FName,
                    Sum   = x.Sum(y => AppVariable.EnumToNumber(y.Scores))
                }).OrderByDescending(x => x.Sum).Take(6).ToArray();

                foreach (var item in res)
                {
                    ProgressBar progressBar = new ProgressBar()
                    {
                        FlowDirection = FlowDirection.LeftToRight,
                        Value         = item.Sum
                    };
                    TextBlock textBlock = new TextBlock()
                    {
                        Opacity  = .4,
                        Margin   = new Thickness(0, 5, 0, 0),
                        FontSize = 15,
                        Text     = item.Name + " " + item.LName
                    };
                    stkDash.Children.Add(textBlock);
                    stkDash.Children.Add(progressBar);
                }
            }
        }
コード例 #11
0
        public static async Task <string> DeleteGroupAsync(long id)
        {
            using (var db = new DataClass.myDbContext())
            {
                var DeleteQuestion = await db.AQuestions.FindAsync(id);

                if (!db.AQuestions.Any())
                {
                    db.AQuestions.Remove(DeleteQuestion);
                }

                var DeleteGroup = await db.Groups.FindAsync(id);

                db.Groups.Remove(DeleteGroup);

                await db.SaveChangesAsync();

                return("Group Deleted Successfully");
            }
        }
コード例 #12
0
ファイル: AddStudent.xaml.cs プロジェクト: msh2050/MoalemYar
        //Todo:if new table created this func must be update
        private void deleteStudent(long id)
        {
            using (var db = new DataClass.myDbContext())
            {
                var checkQuery  = db.Scores.Where(x => x.StudentId == id).Any();
                var checkQuery2 = db.Attendances.Where(x => x.StudentId == id).Any();

                if (checkQuery || checkQuery2)
                {
                    MainWindow.main.ShowDeleteExistNotification("دانش آموز", "فعالیت ها، نمره ها و لیست حضور غیاب");
                }
                else
                {
                    var query = DeleteStudentAsync(id);
                    query.Wait();
                    MainWindow.main.getexHint();
                    MainWindow.main.ShowDeletedNotification(true, txtName.Text, "دانش آموز");
                }
            }
        }
コード例 #13
0
 private void getStudentScore(long StudentId)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Scores.Where(x => x.StudentId == StudentId).ToList();
             if (query.Any())
             {
                 _initialCollection = query;
             }
             else
             {
                 _initialCollection = null;
             }
         }
     }
     catch (NullReferenceException)
     {
     }
 }
コード例 #14
0
 private void getGroup()
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Groups.Select(x => x);
             if (query.Any())
             {
                 cmbGroup.ItemsSource = query.ToList();
             }
             else
             {
                 cmbGroup.ItemsSource = null;
                 MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.No_Data_KEY, param: "Group");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #15
0
 private void getGroup()
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Groups.Select(x => x);
             if (query.Any())
             {
                 cmbGroup.ItemsSource = query.ToList();
             }
             else
             {
                 cmbGroup.ItemsSource = null;
                 MainWindow.main.ShowNoDataNotification("Group");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #16
0
 private void getStudent(long BaseId)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Students.OrderBy(x => x.LName).Where(x => x.BaseId == BaseId).Select(x => new DataClass.DataTransferObjects.StudentsDto {
                 Name = x.Name, LName = x.LName, FName = x.FName, BaseId = x.BaseId, Id = x.Id
             });
             if (query.Any())
             {
                 dataGrid.ItemsSource = query.ToList();
             }
             else
             {
                 MainWindow.main.ShowNoDataNotification(null);
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #17
0
 private void getSchool()
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Schools.Select(x => x);
             _initialCollection = query.ToList();
             if (query.Any())
             {
                 dataGrid.ItemsSource = query.ToList();
             }
             else
             {
                 dataGrid.ItemsSource = null;
                 MainWindow.main.ShowNoDataNotification("School");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #18
0
 private void getStudent(long BaseId)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Students.OrderBy(x => x.LName).Where(x => x.BaseId == BaseId).Select(x => new DataClass.DataTransferObjects.StudentsDto {
                 Name = x.Name, LName = x.LName, FName = x.FName, BaseId = x.BaseId, Id = x.Id
             });
             if (query.Any())
             {
                 dataGrid.ItemsSource = query.OrderBy(x => x.LName).ToList();
             }
             else
             {
                 MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.No_Data_KEY, param: string.Empty);
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #19
0
 private void getScores(long StudentId)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Scores.Where(x => x.StudentId == StudentId).Select(x => x).OrderByDescending(x => new { x.Date, x.Book }).ThenBy(x => x.Scores);
             _initialCollectionScore = query.ToList();
             if (query.Any())
             {
                 dataGridEdit.ItemsSource = query.ToList();
             }
             else
             {
                 dataGridEdit.ItemsSource = null;
                 MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.No_Data_KEY, param: "Score");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #20
0
 private void getUser()
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Users.ToList();
             _initialCollection = query;
             if (query.Any())
             {
                 dataGrid.ItemsSource = query;
             }
             else
             {
                 dataGrid.ItemsSource = null;
                 MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.No_Data_KEY, param: "User");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #21
0
 private void getScores(long StudentId)
 {
     try
     {
         using (var db = new DataClass.myDbContext())
         {
             var query = db.Scores.Where(x => x.StudentId == StudentId).Select(x => x).OrderByDescending(x => new { x.Date, x.Book }).ThenBy(x => x.Scores);
             _initialCollectionScore = query.ToList();
             if (query.Any())
             {
                 dataGridEdit.ItemsSource = query.ToList();
             }
             else
             {
                 stEdit.IsEnabled         = false;
                 dataGridEdit.ItemsSource = null;
                 MainWindow.main.ShowNoDataNotification("Score");
             }
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #22
0
 private void UserControl_Loaded(object sender, System.Windows.RoutedEventArgs e)
 {
     if (!runFirst)
     {
         getSchool();
         cmbEditBase.SelectedIndex = Convert.ToInt32(FindElement.Settings.DefaultSchool);
         runFirst = true;
     }
     using (var db = new DataClass.myDbContext())
     {
         long baseId = Convert.ToInt64(cmbEditBase.SelectedValue);
         var  query  = db.Scores.Join(
             db.Students,
             c => c.StudentId,
             v => v.Id,
             (c, v) => new DataClass.DataTransferObjects.StudentsScoresDto {
             Id = c.Id, BaseId = v.BaseId, StudentId = v.Id, Name = v.Name, LName = v.LName, FName = v.FName, Scores = c.Scores
         }
             ).Where(y => y.BaseId == baseId).ToList();
         var x    = query.Where(y => y.Scores == "نیاز به تلاش بیشتر").ToList();
         var xx   = query.Where(y => y.Scores == "قابل قبول").ToList();
         var xxx  = query.Where(y => y.Scores == "خوب").ToList();
         var xxxx = query.Where(y => y.Scores == "خیلی خوب").ToList();
         AchievementChart.Series.Add(new LineSeries
         {
             Values          = new ChartValues <double>(new double[] { xxxx.Count, xxx.Count, xx.Count, x.Count }),
             StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
         });
         AchievementChart.AxisX.Add(new Axis
         {
             Labels    = new string[] { "خیلی خوب", "خوب", "قابل قبول", "نیاز به تلاش بیشتر" },
             Separator = new LiveCharts.Wpf.Separator {
             }
         });
     }
 }
コード例 #23
0
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (txtTedad.Value == 0 || cmbGroup.SelectedIndex == -1 || cmbEditStudent.SelectedIndex == -1)
            {
                MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.Fill_All_Data_KEY);
                return;
            }
            else
            {
                using (var db = new DataClass.myDbContext())
                {
                    var id        = Convert.ToInt64(cmbGroup.SelectedValue);
                    var classText = uClass;

                    if (isGuid)
                    {
                        result = db.AQuestions.Where(x => x.GroupId == id && x.Class == classText).OrderBy(x => Guid.NewGuid()).Take(Convert.ToInt32(txtTedad.Value)).ToList();
                    }
                    else
                    {
                        result = db.AQuestions.Where(x => x.GroupId == id && x.Class == classText).Take(Convert.ToInt32(txtTedad.Value)).ToList();
                    }

                    if (result.Count < Convert.ToInt32(txtTedad.Value))
                    {
                        MainWindow.main.showGrowlNotification(NotificationKEY: AppVariable.Azmon_KEY);
                    }
                    else
                    {
                        QN = 0;

                        lblQNumber.Content = Convert.ToString(QN + 1);

                        lblQtext.Content      = result[QN].QuestionText;
                        txtFirst.Text         = result[QN].Case1;
                        txtSec.Text           = result[QN].Case2;
                        txtThird.Text         = result[QN].Case3;
                        txtForth.Text         = result[QN].Case4;
                        btnNext.IsEnabled     = true;
                        btnPrev.IsEnabled     = false;
                        btnStart.IsEnabled    = false;
                        swLimit.IsEnabled     = false;
                        txtTedad.IsEnabled    = false;
                        cmbGroup.IsEnabled    = false;
                        cmbEditBase.IsEnabled = false;
                        swRandom.IsEnabled    = false;
                        gpAzmon.IsEnabled     = true;
                        ClearCheck();
                        answerlist = new ListBox();

                        for (int i = 0; i < result.Count; i++)
                        {
                            answerlist.Items.Add("0");
                        }

                        gpControl.Visibility = Visibility.Visible;

                        if (swLimit.IsChecked == true)
                        {
                            lblTime.Content = Convert.ToString(Convert.ToInt32(txtTime.Value) * (Convert.ToInt32(txtTedad.Value)));
                            dispatcherTimer.Start();
                        }
                        else
                        {
                            lblTime.Content = "نامحدود";
                        }
                    }
                }
            }
        }
コード例 #24
0
        private async void InitialDataAsync()
        {
            var b = await Task.Run(async() => {
                using (var db = new DataClass.myDbContext())
                {
                    var SchoolQuery = db.Schools.ToList();

                    await Dispatcher.InvokeAsync(() => {
                        if (SchoolQuery.Any())
                        {
                            cmbEditBase.ItemsSource = SchoolQuery;
                        }

                        txtScCount.Text = db.Schools.Count().ToString();
                        txtUCount.Text  = db.Users.Count().ToString();
                        txtStCount.Text = db.Students.Count().ToString();

                        cmbEditBase.SelectedIndex = Convert.ToInt32(FindElement.Settings.DefaultSchool);
                        getTopStudent(Convert.ToInt64(cmbEditBase.SelectedValue));

                        try
                        {
                            long baseId = Convert.ToInt64(cmbEditBase.SelectedValue);
                            var query   = db.Scores.Join(
                                db.Students,
                                c => c.StudentId,
                                v => v.Id,
                                (c, v) => new DataClass.DataTransferObjects.StudentsScoresDto {
                                Id = c.Id, BaseId = v.BaseId, StudentId = v.Id, Name = v.Name, LName = v.LName, FName = v.FName, Scores = c.Scores
                            }
                                ).Where(y => y.BaseId == baseId).ToList();

                            var niazBeTalash = query.Where(y => y.Scores == "نیاز به تلاش بیشتر").Count();
                            var ghabelGhabol = query.Where(y => y.Scores == "قابل قبول").Count();
                            var khob         = query.Where(y => y.Scores == "خوب").Count();
                            var kheyliKhob   = query.Where(y => y.Scores == "خیلی خوب").Count();

                            list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                                Caption = "نیاز به تلاش", Scores = niazBeTalash * 100 / query.Count
                            });
                            list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                                Caption = "قابل قبول", Scores = ghabelGhabol * 100 / query.Count
                            });
                            list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                                Caption = "خوب", Scores = khob * 100 / query.Count
                            });
                            list.Add(new DataClass.DataTransferObjects.myChartTemplate {
                                Caption = "خیلی خوب", Scores = kheyliKhob * 100 / query.Count
                            });

                            Mapper = Mappers.Xy <DataClass.DataTransferObjects.myChartTemplate>()
                                     .X((myData, index) => index)
                                     .Y(myData => myData.Scores);

                            var records = list.OrderBy(x => x.Scores).ToArray();

                            Results     = records.AsChartValues();
                            Labels      = new ObservableCollection <string>(records.Select(x => x.Caption));
                            Formatter   = val => string.Format("{0}%", val);
                            DataContext = this;

                            Loading.Visibility = Visibility.Collapsed;
                            Chart.Visibility   = Visibility.Visible;
                        }
                        catch (DivideByZeroException) { }
                        catch (Exception)
                        {
                        }
                    });
                    return(await db.Users.FirstOrDefaultAsync());
                }
            });
        }
コード例 #25
0
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtTedad.Text) || txtTedad.Text == "0" || txtTedad.Text == "تعداد سوالات" || cmbGroup.SelectedIndex == -1 || cmbEditStudent.SelectedIndex == -1)
            {
                MainWindow.main.ShowFillAllDataNotification();
                return;
            }
            else
            {
                using (var db = new DataClass.myDbContext())
                {
                    var id        = Convert.ToInt64(cmbGroup.SelectedValue);
                    var classText = uClass;

                    if (isGuid)
                    {
                        result = db.AQuestions.Where(x => x.GroupId == id && x.Class == classText).OrderBy(x => Guid.NewGuid()).Take(Convert.ToInt32(txtTedad.Text)).ToList();
                    }
                    else
                    {
                        result = db.AQuestions.Where(x => x.GroupId == id && x.Class == classText).Take(Convert.ToInt32(txtTedad.Text)).ToList();
                    }

                    if (result.Count < Convert.ToInt32(txtTedad.Text))
                    {
                        MainWindow.main.ShowAzmonNotification();
                    }
                    else
                    {
                        QN = 0;

                        lblQNumber.Text = Convert.ToString(QN + 1);

                        lblQtext.Text         = result[QN].QuestionText;
                        swCase1.Content       = result[QN].Case1;
                        swCase2.Content       = result[QN].Case2;
                        swCase3.Content       = result[QN].Case3;
                        swCase4.Content       = result[QN].Case4;
                        btnNext.IsEnabled     = true;
                        btnPrev.IsEnabled     = false;
                        btnStart.IsEnabled    = false;
                        swLimit.IsEnabled     = false;
                        txtTedad.IsEnabled    = false;
                        cmbGroup.IsEnabled    = false;
                        cmbEditBase.IsEnabled = false;
                        swRandom.IsEnabled    = false;
                        gpAzmon.IsEnabled     = true;
                        ClearCheck();
                        answerlist = new ListBox();

                        for (int i = 0; i < result.Count; i++)
                        {
                            answerlist.Items.Add("0");
                        }

                        gpControl.Visibility = Visibility.Visible;

                        if (swLimit.IsChecked == true)
                        {
                            lblTime.Text = Convert.ToString(Convert.ToInt32(txtTime.Text) * (Convert.ToInt32(txtTedad.Text)));
                            dispatcherTimer.Start();
                        }
                        else
                        {
                            lblTime.Text = "نامحدود";
                        }
                    }
                }
            }
        }
コード例 #26
0
        private void cmbAzmon_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            gpChart.Visibility = Visibility.Visible;
            double[] values = new double[] { };

            try
            {
                dynamic getGroupName = cmbGroups.SelectedItem;
                string  gpName       = getGroupName.GroupName;
                dynamic getDateText  = cmbAzmon.SelectedItem;
                string  dPass        = getDateText.DatePass;
                using (var db = new DataClass.myDbContext())
                {
                    dynamic selectedItem = dataGrid.SelectedItems[0];
                    long    uId          = selectedItem.Id;
                    var     data         = db.AHistories.Where(x => x.UserId == uId && x.DatePass == dPass && x.GroupName.Equals(gpName)).Select(x => x).OrderByDescending(x => x.DatePass).ToList();
                    values = new double[] { data.FirstOrDefault().TrueItem, data.FirstOrDefault().FalseItem, data.FirstOrDefault().NoneItem };

                    Series series = new ColumnSeries();

                    switch (FindElement.Settings.ChartType ?? 0)
                    {
                    case 0:
                        series = new ColumnSeries {
                        };
                        break;

                    case 1:
                        series = new StackedColumnSeries {
                        };
                        break;

                    case 2:
                        series = new LineSeries {
                        };
                        break;

                    case 3:
                        series = new StepLineSeries {
                        };
                        break;

                    case 4:
                        series = new StackedAreaSeries {
                        };
                        break;
                    }

                    if (series.GetType() == typeof(ColumnSeries))
                    {
                        AchievementChart.Series.Add(new ColumnSeries
                        {
                            Values          = new ChartValues <double>(values),
                            StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
                        });
                    }
                    else if (series.GetType() == typeof(LineSeries))
                    {
                        AchievementChart.Series.Add(new LineSeries
                        {
                            Values          = new ChartValues <double>(values),
                            StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
                        });
                    }
                    else if (series.GetType() == typeof(StackedAreaSeries))
                    {
                        AchievementChart.Series.Add(new StackedAreaSeries
                        {
                            Values          = new ChartValues <double>(values),
                            StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
                        });
                    }
                    else if (series.GetType() == typeof(StackedColumnSeries))
                    {
                        AchievementChart.Series.Add(new StackedColumnSeries
                        {
                            Values          = new ChartValues <double>(values),
                            StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
                        });
                    }
                    else if (series.GetType() == typeof(StepLineSeries))
                    {
                        AchievementChart.Series.Add(new StepLineSeries
                        {
                            Values          = new ChartValues <double>(values),
                            StrokeDashArray = new System.Windows.Media.DoubleCollection(20)
                        });
                    }

                    AchievementChart.AxisX.Add(new Axis
                    {
                        Labels    = new string[] { "پاسخ صحیح", "پاسخ غلط", "بدون پاسخ" },
                        Separator = new LiveCharts.Wpf.Separator {
                        }
                    });
                    txtName.Text = dPass;
                    txtBook.Text = gpName;
                }
            }
            catch (Exception)
            {
            }
        }