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)); } }
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); }
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"); }
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; } }
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()); }
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());; } }
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; } }
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()); }
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()); }
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 = ""; } }
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; } }
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 }; }
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 }; }