Exemplo n.º 1
0
        private void AddNewStandard()
        {
            SchoolObjContext context = new SchoolObjContext();

            if (NameToBeAdded != null && NameToBeAdded != " " && NameToBeAdded != "")
            {
                EntityDatabase.DomainClasses.Standard std = new EntityDatabase.DomainClasses.Standard()
                {
                    StandardName = NameToBeAdded
                };
                context.Standards.Add(std);
                context.SaveChanges();
                StandardList.Add(context.Standards.AsEnumerable().Last());
                var StdId = context.Standards.Where(s => s.StandardName == NameToBeAdded).FirstOrDefault().StandardId;

                NameToBeAdded = "";

                MainViewModel.RefreshView("Subjects");
                MainViewModel.RefreshView("Show Students");
                MainViewModel.RefreshView("Result Report");


                MainViewModel.Tabs.Add(new SubjectViewModel(StdId));
            }
        }
Exemplo n.º 2
0
        private void RemoveRecord()
        {
            if (MessageBox.Show("Are sure to delete '" + CurrentSelectedItem.StandardName + "' and it's all students ? ", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
            {
                return;
            }
            SchoolObjContext context = new SchoolObjContext();

            TestApp.EntityDatabase.DomainClasses.Standard std = context.Standards.Where(s => s.StandardId == CurrentSelectedItem.StandardId).FirstOrDefault();
            if (std == null)
            {
                return;
            }
            context.Standards.Remove(std);
            context.SaveChanges();
            MainViewModel.RefreshView("Result Report");


            //MainViewModel.CloseTabs("Subjects");
            MainViewModel.RefreshView("Subjects");
            MainViewModel.RefreshView("Add Students");
            MainViewModel.RefreshView("Show Students");

            StandardList.Remove(CurrentSelectedItem);
        }
Exemplo n.º 3
0
        public StandardViewModel()
        {
            TabTitle = "Standards";

            SchoolObjContext context = new SchoolObjContext();

            StandardList = new ObservableCollection <EntityDatabase.DomainClasses.Standard>(context.Standards.ToList());

            //var Result = (
            //    from Standard in context.Standards
            //    select new
            //    {
            //        StandardId = Standard.StandardId,
            //        StandardName = Standard.StandardName,
            //        TotalSubjects = context.Subjects.Where(s => s.StandardId == Standard.StandardId).Count()
            //    }).ToList();
            //StandardList = new ObservableCollection<object>(Result);

            SaveChangesCommand = new RelayCommand((x) =>
            {
                context.SaveChanges();
                MainViewModel.RefreshView("Subjects");
                MainViewModel.RefreshView("Add Students");
                MainViewModel.RefreshView("Show Students");
            });
            AddStandardCommand  = new RelayCommand((x) => AddNewStandard());
            RemoveRecordCommand = new RelayCommand((x) => RemoveRecord());
            ShowSubjectsCommand = new RelayCommand((x) => MainViewModel.Tabs.Add(new SubjectViewModel(CurrentSelectedItem.StandardId.ToString())));

            this.UserControl = new UserControls.Standard()
            {
                DataContext = this
            };
        }
 private void StandardSelectionChanged(EntityDatabase.DomainClasses.Standard std)
 {
     using (SchoolObjContext Context = new SchoolObjContext())
     {
         if (AllSubjects != null)
         {
             AllSubjects = null;
         }
         if (std == null || std.StandardId == 0)
         {
             AllSubjects = new ObservableCollection <object>(
                 (from Subject in Context.Subjects
                  join Standard in Context.Standards
                  on Subject.StandardId equals Standard.StandardId
                  select new
             {
                 Id = Subject.Id,
                 Name = Subject.Name,
                 Standard = Standard.StandardName
             }).ToList()
                 );
             StdColumnVisibility = System.Windows.Visibility.Visible;
         }
         else
         {
             AllSubjects         = new ObservableCollection <object>(Context.Subjects.Where(s => s.StandardId == std.StandardId).ToList());
             StdColumnVisibility = System.Windows.Visibility.Hidden;
         }
     }
 }
        public override void RefreshView()
        {
            SchoolObjContext context = new SchoolObjContext();

            AllStandards = context.Standards.ToList();
            StdIndex     = _StdIndex;
            OnPropertyChanged("AllStandards");
        }
Exemplo n.º 6
0
        private void SaveMarks()


        {
            if (EditBox > 100 || EditBox < 0)
            {
                MessageBox.Show("Marks must be >=0 and <100", "Invalid Entry", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (SelectedSubjectItem == null)
            {
                return;
            }

            dynamic tmp = SelectedSubjectItem;
            int     ID  = tmp.MarksheetId;

            SchoolObjContext Context = new SchoolObjContext();
            var SubjectMark          = Context.AllMarks.Where(s => s.Id == ID).FirstOrDefault();

            SubjectMark.Mark = EditBox;
            Context.SaveChanges();
            MainViewModel.RefreshView("Result Report");

            if (SelectedSubjectItem != null)
            {
                var index = SubjectAndMarks.IndexOf(SelectedSubjectItem);

                if (SubjectAndMarks.Count - 1 > index)
                {
                    SelectedSubjectItem = SubjectAndMarks[index + 1];
                }
                else
                {
                    SelectedSubjectItem = SubjectAndMarks[0];
                }
            }

            Calculate();

            if (Result == "PASS")
            {
                CaryForwardVisibility = Visibility.Visible;
            }
            else
            {
                CaryForwardVisibility = Visibility.Hidden;
            }
        }
Exemplo n.º 7
0
        public override void RefreshView()
        {
            SchoolObjContext Context = new SchoolObjContext();

            AllStudents = new ObservableCollection <object>(Context.Students.Join(
                                                                Context.Standards,
                                                                s => s.StandardId,
                                                                std => std.StandardId,
                                                                (s, std) => new
            {
                Student      = s,
                StandardName = std.StandardName
            }
                                                                ).ToList());
        }
Exemplo n.º 8
0
        public void Search(string text = "")
        {
            SchoolObjContext Context = new SchoolObjContext();

            if (SelectedStandard.StandardName == "All")
            {
                AllStudents = new ObservableCollection <object>(

                    (from AllMarks in Context.AllMarks
                     join Student in Context.Students
                     on AllMarks.StudentId equals Student.StudentId
                     join Standard in Context.Standards
                     on AllMarks.StandardId equals Standard.StandardId
                     where Student.FirstName.StartsWith(text) || Student.MiddleName.StartsWith(text) || Student.LastName.StartsWith(text)
                     select new
                {
                    Student,
                    StandardName = Standard.StandardName,
                    StandardId = Standard.StandardId,
                    Percentage = Context.AllMarks.Where(x => x.StudentId == Student.StudentId && x.StandardId == Standard.StandardId).Sum(x => x.Mark) / Context.Subjects.Where(s => s.StandardId == Standard.StandardId).Count(),
                    Result = Context.AllMarks.Where(x => x.Mark < 35 && x.StudentId == Student.StudentId && x.StandardId == Standard.StandardId).Count() == 0 ? "Pass" : "Fail"
                }

                    ).Distinct().ToList()
                    );
            }
            else
            {
                AllStudents = new ObservableCollection <object>(

                    (from AllMarks in Context.AllMarks
                     join Student in Context.Students
                     on AllMarks.StudentId equals Student.StudentId
                     join Standard in Context.Standards
                     on AllMarks.StandardId equals Standard.StandardId
                     where (Standard.StandardName == SelectedStandard.StandardName) && (Student.FirstName.StartsWith(text) || Student.MiddleName.StartsWith(text) || Student.LastName.StartsWith(text))
                     select new
                {
                    Student,
                    StandardName = Standard.StandardName,
                    StandardId = Standard.StandardId,
                    Percentage = Context.AllMarks.Where(x => x.StudentId == Student.StudentId && x.StandardId == Standard.StandardId).Sum(x => x.Mark),
                    Result = "Pass"
                }

                    ).Distinct().ToList());;
            }
        }
Exemplo n.º 9
0
        private void Calculate()
        {
            SchoolObjContext Context = new SchoolObjContext();

            this.SubjectAndMarks = new ObservableCollection <object>((from Subject in Context.Subjects
                                                                      join Marksheet in Context.AllMarks
                                                                      on Subject.Id equals Marksheet.SubjectId
                                                                      orderby Marksheet.StudentId descending
                                                                      where Marksheet.StudentId == Student.StudentId && Marksheet.StandardId == Student.StandardId
                                                                      select new
            {
                MarksheetId = Marksheet.Id,
                SubjectName = Subject.Name,
                Mark = Marksheet.Mark,
                Result = Marksheet.Mark < 35 ? "Fail" : "Pass"
            }).ToList());

            Result = "PASS";
            Total  = 0;
            if (SubjectAndMarks == null)
            {
                return;
            }
            foreach (dynamic item in SubjectAndMarks)
            {
                Total += (int)item.Mark;
                if (Result == "PASS")
                {
                    if (item.Mark < 35)
                    {
                        Result = "FAIL";
                    }
                }
            }
            if (Total == 0)
            {
                Percentage = 0;
            }
            else
            {
                Percentage = Total / SubjectAndMarks.Count;
            }
        }
Exemplo n.º 10
0
        private void RemoveRecord()
        {
            if (MessageBox.Show("Are sure to delete this student ? ", "Confirm", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
            {
                return;
            }
            SchoolObjContext context = new SchoolObjContext();
            dynamic          item    = CurrentItem;

            EntityDatabase.DomainClasses.Student SelectedStudent = CurrentItem.Student;
            EntityDatabase.DomainClasses.Student obj             = context.Students.Where(s => s.StudentId == SelectedStudent.StudentId).FirstOrDefault();
            if (obj == null)
            {
                return;
            }
            context.Students.Remove(obj);
            context.SaveChanges();

            AllStudents.Remove(CurrentItem);
        }
        private void AddSubject()
        {
            if (EditBox == "")
            {
                return;
            }
            SchoolObjContext Context = new SchoolObjContext();
            var subject = new Subject()
            {
                Name = EditBox, StandardId = SelectedStandard.StandardId, Standard = null
            };

            Context.Subjects.Add(subject);
            if (Context.SaveChanges() > 0)
            {
                //MessageBox.Show("Subject Added Successfully", "Success !", MessageBoxButton.OK, MessageBoxImage.Information);
                AllSubjects.Add(subject);
                EditBox = "";
                MainViewModel.RefreshView("Subjects");
            }
        }
        public override void RefreshView()
        {
            SchoolObjContext Context = new SchoolObjContext();

            this.AllSubjects = new ObservableCollection <object>(
                (from Subject in Context.Subjects
                 join Standard in Context.Standards
                 on Subject.StandardId equals Standard.StandardId
                 select new
            {
                Id = Subject.Id,
                Name = Subject.Name,
                Standard = Standard.StandardName
            }).ToList()
                );

            AllStandards = Context.Standards.ToList();
            AllStandards.Insert(0, new EntityDatabase.DomainClasses.Standard()
            {
                StandardId = 0, StandardName = "All"
            });
            this.SelectedStandard = this._SelectedStandard;
        }
        private void RemoveSubject()
        {
            if (SelectedGridItem == null)
            {
                return;
            }


            dynamic tmp = SelectedGridItem;
            int     id  = tmp.Id;

            SchoolObjContext Context = new SchoolObjContext();
            var obj = Context.Subjects.Where(s => s.Id == id).FirstOrDefault();

            Context.Subjects.Remove(obj);
            if (Context.SaveChanges() > 0)
            {
                MainViewModel.RefreshView("Subjects");
                MessageBox.Show("Subject Deleted Successfully", "Success !", MessageBoxButton.OK, MessageBoxImage.Information);
                AllSubjects.Remove(SelectedGridItem);
                EditBox = "";
            }
        }
        public SubjectViewModel(string StdId = "0")
        {
            this.TabTitle    = "Subjects";
            this.ButtonText  = "Save";
            this.UserControl = new UserControls.Subject()
            {
                DataContext = this
            };

            using (var context = new SchoolObjContext())
            {
                AllStandards = context.Standards.ToList();
                AllStandards.Insert(0, new EntityDatabase.DomainClasses.Standard()
                {
                    StandardId = 0, StandardName = "All"
                });
            }

            this.StandardSelectionChanged(new EntityDatabase.DomainClasses.Standard());
            StdColumnVisibility = System.Windows.Visibility.Visible;
            SelectedStandard    = AllStandards.Find(x => x.StandardId == int.Parse(StdId));

            SaveChangesCommand = new RelayCommand(x => SaveChanges());
        }
Exemplo n.º 15
0
        private void GenerateResult()
        {
            SchoolObjContext context = new SchoolObjContext();
            //var Student = context.Students.OrderByDescending(s => s.StudentId).FirstOrDefault<Student>();


            List <Subject> SubList = (from Subject in context.Subjects
                                      where (Subject.StandardId == Student.StandardId)
                                      select Subject).ToList();

            foreach (Subject Item in SubList)
            {
                AllMarks sheet = new AllMarks()
                {
                    StudentId  = Student.StudentId,
                    StandardId = Student.StandardId,
                    SubjectId  = Item.Id,
                    Mark       = 0
                };
                context.AllMarks.Add(sheet);
            }
            context.SaveChanges();
            MainViewModel.RefreshView("Result Report");
        }
        public SubjectViewModel(int stdId)
        {
            this.TabTitle    = "Add Subjects";
            this.ButtonText  = "Add";
            this.Notice      = "*Warning : Don't switch or close this tab otherwise you can't re-open this tab and add subjects.*";
            this.UserControl = new UserControls.Subject()
            {
                DataContext = this
            };

            using (var context = new SchoolObjContext())
            {
                AllStandards = context.Standards.Where(s => s.StandardId == stdId).ToList();
                //AllStandards.Insert(0, new EntityDatabase.DomainClasses.Standard() { StandardId = 0, StandardName = "All" });
                AddSectionVisibility = context.Subjects.Where(s => s.StandardId == stdId).Count() > 0 ? Visibility.Hidden : Visibility.Visible;
            }

            this.StandardSelectionChanged(new EntityDatabase.DomainClasses.Standard());
            StdColumnVisibility = System.Windows.Visibility.Visible;
            SelectedStandard    = AllStandards[0];

            SaveChangesCommand = new RelayCommand(x => AddSubject());
            DeleteSubject      = new RelayCommand(x => RemoveSubject());
        }
Exemplo n.º 17
0
        private void CaryForward()
        {
            if (SelectedStandard == null)
            {
                return;
            }
            if (MessageBox.Show("Are you sure to caryforward \"" + Student.MiddleName + "\" in standard " + Standard.StandardName + " to " + SelectedStandard.StandardName, "Confirm !!!", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
            {
                using (SchoolObjContext context = new SchoolObjContext())
                {
                    //List<Subject> SubList = (from Subject in context.Subjects
                    //                         where (Subject.StandardId == SelectedStandard.StandardId)
                    //                         select Subject).ToList();

                    //foreach (Subject Item in SubList)
                    //{
                    //    AllMarks sheet = new AllMarks()
                    //    {
                    //        StudentId = Student.StudentId,
                    //        StandardId = SelectedStandard.StandardId,
                    //        SubjectId = Item.Id,
                    //        Mark = 0
                    //    };
                    //    context.AllMarks.Add(sheet);
                    //}
                    var stud = context.Students.Where(s => s.StudentId == Student.StudentId).FirstOrDefault();
                    //stud.Standard = SelectedStandard;
                    stud.StandardId = SelectedStandard.StandardId;
                    var tmp = context.SaveChanges();
                    this.CloseTabCommand.Execute(null);
                    MainViewModel.CloseTabs("Show Students");
                    MainViewModel.Tabs.Add(new ShowAllStudentViewModel());
                }
            }
            return;
        }
        private void SaveChanges()
        {
            if (SelectedGridItem == null)
            {
                return;
            }
            dynamic          tmp     = SelectedGridItem;
            int              id      = tmp.Id;
            SchoolObjContext Context = new SchoolObjContext();
            Subject          obj     = Context.Subjects.Where(s => s.Id == id).FirstOrDefault();

            if (obj != null)
            {
                obj.Name = EditBox;
                if (Context.SaveChanges() > 0)
                {
                    MainViewModel.RefreshView(this.TabTitle);
                    MessageBox.Show("Subject Edited Successfully", "Success !", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                //int i = AllSubjects.IndexOf(SelectedGridItem);
                //AllSubjects[i] = obj as object;
                EditBox = "";
            }
        }
Exemplo n.º 19
0
        public ResultViewModel(int StudentId, int StandardId = 0, bool CanGenerateResult = false)
        {
            TabTitle    = "Result";
            UserControl = new UserControls.ShowResult()
            {
                DataContext = this
            };

            using (SchoolObjContext Context = new SchoolObjContext())
            {
                this.Student = Context.Students.Where(s => s.StudentId == StudentId).FirstOrDefault();

                if (StandardId > 0)
                {
                    Student.StandardId = StandardId;
                }

                if (this.Student != null)
                {
                    var check = Context.StudentResultCanEditables.Where(x => x.StudentId == Student.StudentId && x.StandardId == Student.StandardId).FirstOrDefault();
                    if (check == null)
                    {
                        EditableVisibility = Visibility.Visible;
                    }
                    else
                    {
                        EditableVisibility = Visibility.Hidden;
                    }

                    this.Standard = Context.Standards.Where(s => s.StandardId == Student.StandardId).FirstOrDefault();
                    AllStandards  = Context.Standards.Where(s => s.StandardId != Standard.StandardId).ToList();

                    //var check = (from sheet in Context.AllMarks
                    //             where sheet.StudentId == Student.StudentId && sheet.StandardId == Student.StandardId
                    //             select sheet).FirstOrDefault();
                    if (CanGenerateResult)
                    {
                        GenerateResult();
                    }

                    Calculate();
                }
            }

            SaveMarksCommand   = new RelayCommand(x => SaveMarks());
            CaryForwardCommand = new RelayCommand(x => CaryForward());

            if (SubjectAndMarks != null && SubjectAndMarks.Count > 0)
            {
                SelectedSubjectItem = SubjectAndMarks[0];
            }

            if (Result == "PASS")
            {
                CaryForwardVisibility = Visibility.Visible;
            }
            else
            {
                CaryForwardVisibility = Visibility.Hidden;
            }
        }
Exemplo n.º 20
0
        public ReportResultViewModel()
        {
            this.TabTitle    = "Result Report";
            this.UserControl = new ResultReport()
            {
                DataContext = this
            };
            using (var context = new SchoolObjContext())
            {
                AllStandards = context.Standards.ToList();
                AllStandards.Insert(0, new EntityDatabase.DomainClasses.Standard()
                {
                    StandardId = 0, StandardName = "All"
                });
                SelectedStandard = AllStandards[0];
            }
            ShowResultCommand  = new RelayCommand(x => MainViewModel.Tabs.Add(new ViewModels.ResultViewModel((int)CurrentItem.Student.StudentId, (int)CurrentItem.StandardId)));
            PrintResultCommand = new RelayCommand(x =>
            {
                Student student          = x as Student;
                student.StandardId       = (int)(CurrentItem as dynamic).StandardId;
                SchoolObjContext Context = new SchoolObjContext();

                SaveFileDialog Dialog = new SaveFileDialog()
                {
                    Filter = "FDF (.*pdf)|*.pdf"
                };
                if (Dialog.ShowDialog() == false)
                {
                    return;
                }

                System.IO.FileStream fs = new FileStream(Dialog.FileName, FileMode.Create);
                Document document       = new Document(PageSize.A4, 7f, 5f, 5f, 0f);
                PdfWriter writer        = PdfWriter.GetInstance(document, fs);
                document.Open();

                PdfPTable StudentInfoTable = new PdfPTable(2);

                PdfPCell cell            = new PdfPCell(new Phrase("Student"));
                cell.Colspan             = 2;
                cell.HorizontalAlignment = Element.ALIGN_CENTER;
                cell.Padding             = 10;
                StudentInfoTable.AddCell(cell);

                StudentInfoTable.AddCell("Name");
                StudentInfoTable.AddCell(student.FirstName + " " + student.MiddleName + " " + student.LastName);


                StudentInfoTable.AddCell("Seat No.");
                StudentInfoTable.AddCell(student.StudentId.ToString());

                StudentInfoTable.AddCell("Standard");
                StudentInfoTable.AddCell(Context.Standards.Where(s => s.StandardId == student.StandardId).Select(s => s.StandardName).FirstOrDefault().ToString());

                StudentInfoTable.AddCell("Age");
                StudentInfoTable.AddCell(student.Age.ToString());

                StudentInfoTable.AddCell("City");
                StudentInfoTable.AddCell(student.City);

                document.Add(StudentInfoTable);

                PdfPTable ResultTable = new PdfPTable(3);
                cell                     = new PdfPCell(new Phrase("Result"));
                cell.Colspan             = 3;
                cell.HorizontalAlignment = Element.ALIGN_CENTER;
                cell.Padding             = 10;
                ResultTable.AddCell(cell);

                var SubAndMarks = (from Subject in Context.Subjects
                                   join Marksheet in Context.AllMarks
                                   on Subject.Id equals Marksheet.SubjectId
                                   orderby Marksheet.StudentId descending
                                   where Marksheet.StudentId == student.StudentId && Marksheet.StandardId == student.StandardId
                                   select new
                {
                    MarksheetId = Marksheet.Id,
                    SubjectName = Subject.Name,
                    Mark = Marksheet.Mark,
                    Result = Marksheet.Mark < 35 ? "Fail" : "Pass"
                }).ToList();

                int Total = 0, Count = 0;
                foreach (dynamic item in SubAndMarks)
                {
                    ResultTable.AddCell(item.SubjectName as string);
                    int Mark = ((int)item.Mark);
                    Total   += Mark;
                    Count++;
                    ResultTable.AddCell(Mark.ToString());
                    ResultTable.AddCell(item.Result as string);
                }
                cell         = new PdfPCell(new Phrase("Total : " + Total));
                cell.Colspan = 3;
                cell.Padding = 5;
                ResultTable.AddCell(cell);

                cell         = new PdfPCell(new Phrase("Percentage : " + (CurrentItem as dynamic).Percentage + "%"));
                cell.Colspan = 3;
                cell.Padding = 5;
                ResultTable.AddCell(cell);

                cell         = new PdfPCell(new Phrase("Result : " + (CurrentItem as dynamic).Result));
                cell.Colspan = 3;
                cell.Padding = 5;
                ResultTable.AddCell(cell);

                document.Add(ResultTable);

                document.Close();
                writer.Close();
                fs.Close();

                Context.StudentResultCanEditables.Add(new StudentResultCanEditable()
                {
                    StandardId = student.StandardId,
                    StudentId  = student.StudentId
                });
                Context.SaveChanges();
            });
        }
        //Call when Editing
        public StudentViewModel(int Id)
        {
            TabTitle   = "Edit Students";
            ButtonName = "Save Changes";

            SchoolObjContext context = new SchoolObjContext();

            if (Id > 0)
            {
                using (var Context = new SchoolObjContext())
                {
                    Student obj = Context.Students.Where(s => s.StudentId == Id).FirstOrDefault();
                    AllStandards = context.Standards.Where(s => s.StandardId == obj.StandardId).ToList();

                    if (obj != null)
                    {
                        this.FirstName   = obj.FirstName;
                        this.MiddleName  = obj.MiddleName;
                        this.LastName    = obj.LastName;
                        this.Age         = obj.Age;
                        this.City        = obj.City;
                        this.DocFileType = obj.DocType;
                        this.DocFile     = obj.Doc;
                        SelectedStandard = Context.Standards.Where(s => s.StandardId == obj.StandardId).FirstOrDefault();

                        for (int i = 0; i < AllStandards.Count; i++)
                        {
                            if (AllStandards[i].StandardId == SelectedStandard.StandardId)
                            {
                                StdIndex = i;
                                break;
                            }
                        }
                    }
                }
            }

            //Update edited student
            SubmitStudentCommand = new RelayCommand(x =>
            {
                if (!CheckCanSubmit())
                {
                    MessageBox.Show("Fill all the field properly", "Validation Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    //CanShowResult = false;
                    return;
                }
                //else
                //    CanShowResult = true;

                EntityDatabase.DomainClasses.Student stud = context.Students.Where(s => s.StudentId == Id).FirstOrDefault();

                if (stud != null)
                {
                    stud.FirstName  = this.FirstName;
                    stud.MiddleName = this.MiddleName;
                    stud.LastName   = this.LastName;
                    stud.Age        = this.Age;
                    stud.City       = this.City;
                    stud.StandardId = this.SelectedStandard.StandardId;
                    stud.Doc        = this.DocFile;
                    stud.DocType    = this.DocFileType;

                    if (context.SaveChanges() > 0)
                    {
                        MainViewModel.RefreshView("Show Students");
                        MainViewModel.RefreshView("Result Report");

                        MessageBox.Show("Student Edited Successfully", "Edited !", MessageBoxButton.OK, MessageBoxImage.Information);
                        //CanShowResult = true;
                    }
                    //else
                    //{
                    //    MessageBox.Show("Student not Edited", "Failed !", MessageBoxButton.OK, MessageBoxImage.Error);
                    //    CanShowResult = false;
                    //}


                    OnPropertyChanged("SelectedStandard");
                    this.CloseTabCommand.Execute(null);
                    MainViewModel.Tabs.Add(new ShowAllStudentViewModel());
                }
            });
            //ShowResultCommand = new RelayCommand(x =>
            //{
            //    this.SubmitStudentCommand.Execute(null);
            //    if (CanShowResult)
            //        MainViewModel.Tabs.Add(new ViewModels.ResultViewModel(Id));
            //});

            UserControl = new UserControls.Student {
                DataContext = this
            };
        }
Exemplo n.º 22
0
        public ShowAllStudentViewModel()
        {
            TabTitle = "Show Students";
            Application.Current.Dispatcher.InvokeAsync(() =>
            {
                UserControl = new ShowAllStudent()
                {
                    DataContext = this
                };
            });

            SchoolObjContext Context = new SchoolObjContext();

            AllStudents = new ObservableCollection <object>(Context.Students.Join(
                                                                Context.Standards,
                                                                s => s.StandardId,
                                                                std => std.StandardId,
                                                                (s, std) => new
            {
                Student      = s,
                StandardName = std.StandardName
            }
                                                                ).ToList());

            RemoveRecordCommand = new RelayCommand(x => RemoveRecord());
            EditStudentCommand  = new RelayCommand(x => EditStudent(x));
            ShowResultCommand   = new RelayCommand(x =>
            {
                var Student = Context.Students.Where(s => s.StudentId == (int)x).FirstOrDefault();
                if (Student == null)
                {
                    return;
                }
                var check = (from sheet in Context.AllMarks
                             where sheet.StudentId == Student.StudentId && sheet.StandardId == Student.StandardId
                             select sheet).FirstOrDefault();
                if (check == null)
                {
                    if (MessageBox.Show("Result not available yet, click 'Yes' to generate", "Result not available", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                    {
                        MainViewModel.Tabs.Add(new ViewModels.ResultViewModel((int)CurrentItem.Student.StudentId, 0, true));
                        return;
                    }
                }
                else
                {
                    MainViewModel.Tabs.Add(new ViewModels.ResultViewModel((int)CurrentItem.Student.StudentId));
                }
            });
            ShowDocumentCommand = new RelayCommand(x =>
            {
                var stud = x as EntityDatabase.DomainClasses.Student;
                if (stud.DocType.Equals("photo", StringComparison.InvariantCultureIgnoreCase))
                {
                    ImageDialog imageDialog = new ImageDialog(stud);
                    imageDialog.ShowDialog();
                }
                else
                {
                    var Dialog = new SaveFileDialog()
                    {
                        Filter   = "PDF file (*.pdf)|*.pdf",
                        FileName = "Document.pdf"
                    };
                    if (Dialog.ShowDialog() == false)
                    {
                        return;
                    }

                    using (Stream file = File.OpenWrite(@Dialog.FileName))
                    {
                        file.Write(stud.Doc, 0, stud.Doc.Length);
                    }
                }
            });
        }
        //Call when new adding
        public StudentViewModel()
        {
            TabTitle = "Add Students";

            ButtonName = "Add";

            SchoolObjContext context = new SchoolObjContext();

            AllStandards = context.Standards.ToList();

            SubmitStudentCommand = new RelayCommand(x =>
            {
                if (!CheckCanSubmit())
                {
                    MessageBox.Show("Fill all the field properly", "Validation Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    //CanShowResult = false;
                    return;
                }

                SchoolObjContext ctx = new SchoolObjContext();

                //EntityDatabase.DomainClasses.Standard stan = ctx.Standards.Where(s => s.StandardId == this.SelectedStandard.StandardId).FirstOrDefault();

                ctx.Students.Add(new Student()
                {
                    FirstName  = this.FirstName,
                    MiddleName = this.MiddleName,
                    LastName   = this.LastName,
                    Age        = this.Age,
                    City       = this.City,
                    StandardId = this.SelectedStandard.StandardId,
                    Doc        = this.DocFile,
                    DocType    = this.DocFileType
                });

                if (ctx.SaveChanges() > 0)
                {
                    MessageBox.Show("Student Registered Successfully", "Registered !", MessageBoxButton.OK, MessageBoxImage.Information);

                    //CanShowResult = true;

                    MainViewModel.RefreshView("Show Students");
                }
                else
                {
                    //CanShowResult = false;
                    MessageBox.Show("Student Registration Failed", "Registration Failed !", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                this.FirstName        = MiddleName = LastName = "";
                this.Age              = 0;
                this.City             = "";
                this.SelectedStandard = ctx.Standards.FirstOrDefault();
                this.DocFile          = null;
                OnPropertyChanged("SelectedStandard");
            });
            //ShowResultCommand = new RelayCommand(x =>
            //{
            //    SubmitStudentCommand.Execute(null);
            //    if (CanShowResult)
            //        MainViewModel.Tabs.Add(new ResultViewModel(context.Students.OrderByDescending(s => s.StudentId).FirstOrDefault<Student>().StudentId));
            //});


            UserControl = new UserControls.Student {
                DataContext = this
            };
        }