//internal void SetAge() //{ // var today = DateTime.Today; // // Calculate the age. // Age = today.Year - Birthdate.GetValueOrDefault().Year; // // Go back to the year the person was born in case of a leap year // if (Birthdate.GetValueOrDefault().Date > today.AddYears(-Age)) Age--; //} public int GetAge(DateTime asOfDate) { var age = asOfDate.Year - Birthdate.GetValueOrDefault().Year; // Go back to the year the person was born in case of a leap year if (Birthdate.GetValueOrDefault().Date > asOfDate.AddYears(-age)) { age--; } return(age); }
private async void OnRegisterClosing(object sender, DialogClosingEventArgs args) { if (Equals(args.Parameter, false)) { return; } if (_isOkMessageOpen && _result) { _isOkMessageOpen = false; return; } if (_isOkMessageOpen && !_result) { args.Session.UpdateContent(_content); } args.Cancel(); await ValidateAsync(); RaisePropertyChanged(() => IsValid); if (Equals(args.Parameter, "Add") && !HasErrors) { args.Session.UpdateContent(new PleaseWaitView()); await Task.Run(() => { try { var newTeacher = new Teacher() { FirstName = FirstName, MiddleName = MiddleName, LastName = LastName, Gender = Gender, ContactNo = Contact, Birthday = Birthdate.GetValueOrDefault(), Address = Address, Photo = Photo, }; _context.Teachers.Add(newTeacher); _context.SaveChanges(); _result = true; return($"{newTeacher.FullName} is registered"); } catch (Exception e) { Console.WriteLine(e.Message); _content = args.Session.Content; _result = false; return($"Failed to register Student"); } }) .ContinueWith((t, _) => { LoadData(); SendUpdateMessage(); args.Session.UpdateContent(new OkMessageDialog() { DataContext = t.Result }); _isOkMessageOpen = true; }, null, TaskScheduler.FromCurrentSynchronizationContext()); } }
private async void AddStudentClosing(object sender, DialogClosingEventArgs args) { if (Equals(args.Parameter, "Exit")) { return; } if (_isOkMessageOpen && _result) { _isOkMessageOpen = false; return; } else if (_isOkMessageOpen && !_result) { _isOkMessageOpen = false; args.Session.UpdateContent(_content); } args.Cancel(); await ValidateAsync(); RaisePropertyChanged(() => IsValid); if (Equals(args.Parameter, "Add") && !HasErrors) { args.Cancel(); args.Session.UpdateContent(new PleaseWaitView()); await Task.Run(() => { try { Student NewStudent; //using (var context = new MorenoContext()) //{ NewStudent = new Student() { FirstName = FirstName, MiddleName = MiddleName, LastName = LastName, Gender = Gender, Contact = Contact, Address = Address, SchoolYear = SchoolYear, BirthDate = Birthdate.GetValueOrDefault(), LRN = LRN, YearLevel = SelectedYearLevel, Section = SelectedSection, Photo = Photo }; _context.Students.Add(NewStudent); _context.SaveChanges(); var user = new User() { UserName = LRN, Password = $"{FirstName[0]}{MiddleName[0]}{LastName[0]}{Birthdate?.Date.ToString("dMyyyy")}" .ToLower(), Authorization = "Student", Student = NewStudent }; _context.Users.Add(user); _context.SaveChanges(); foreach (var requirement in NewStudentRequirements) { var studentRequirements = new RequirementStudents { RequirementId = requirement.Id, Status = requirement.Status, StudentId = NewStudent.Id }; NewStudent.RequirementStudents.Add(studentRequirements); _context.SaveChanges(); } //_context.Students.Add(NewStudent); //_context.Users.Add(user); StatusMessage = $"{NewStudent.FullName} is registered"; _result = true; } catch (Exception e) { Console.WriteLine(e.Message); StatusMessage = $"Failed to register Student"; _result = false; } }) .ContinueWith((t, _) => { if (!_result) { _content = args.Session.Content; } LoadStudents(); args.Session.UpdateContent(new OkMessageDialog() { DataContext = StatusMessage }); _isOkMessageOpen = true; }, null, TaskScheduler.FromCurrentSynchronizationContext()); } }