public static async System.Threading.Tasks.Task <AccountDataItem> CreateAndInitializeAccountAsync(string username, string localToken, string token, long accountId, int deviceId) { var account = await CreateAccountHelper.CreateAccountLocally(username, localToken, token, accountId, deviceId, needsInitialSync : false); if (account != null) { AccountsManager.SetLastLoginIdentifier(account.LocalAccountId); // Add the default year/semester try { DataItemYear year = new DataItemYear() { Identifier = Guid.NewGuid(), Name = PowerPlannerResources.GetString("DummyFirstYear") }; DataItemSemester semester = new DataItemSemester() { Identifier = Guid.NewGuid(), UpperIdentifier = year.Identifier, Name = PowerPlannerResources.GetString("DummyFirstSemester") }; DataChanges changes = new DataChanges(); changes.Add(year); changes.Add(semester); await PowerPlannerApp.Current.SaveChanges(account, changes); await account.SetCurrentSemesterAsync(semester.Identifier); NavigationManager.MainMenuSelection = NavigationManager.MainMenuSelections.Schedule; return(account); } catch (Exception ex) { TelemetryExtension.Current?.TrackException(ex); } } return(null); }
public void Save() { TryStartDataOperationAndThenNavigate(async delegate { string name = Name; if (string.IsNullOrWhiteSpace(name)) { new PortableMessageDialog(PowerPlannerResources.GetStringNoNameMessageBody(), PowerPlannerResources.GetStringNoNameMessageHeader()).Show(); return; } DataItemSemester semester; if (SemesterToEdit != null) { semester = new DataItemSemester() { Identifier = SemesterToEdit.Identifier } } ; else if (AddParams != null) { semester = new DataItemSemester() { Identifier = Guid.NewGuid(), UpperIdentifier = AddParams.YearIdentifier } } ; else { throw new NullReferenceException("Either editing semester or add semester param must be initialized."); } semester.Name = name; if (SupportsStartEnd) { if (StartDate != null) { semester.Start = DateTime.SpecifyKind(StartDate.Value.Date, DateTimeKind.Utc); if (!SqlDate.IsValid(semester.Start)) { semester.Start = DateTime.Today; } } else { semester.Start = PowerPlannerSending.DateValues.UNASSIGNED; } if (EndDate != null) { semester.End = DateTime.SpecifyKind(EndDate.Value.Date, DateTimeKind.Utc); if (!SqlDate.IsValid(semester.End)) { semester.End = DateTime.Today; } } else { semester.End = PowerPlannerSending.DateValues.UNASSIGNED; } if (!PowerPlannerSending.DateValues.IsUnassigned(semester.Start) && !PowerPlannerSending.DateValues.IsUnassigned(semester.End) && semester.Start > semester.End) { new PortableMessageDialog(PowerPlannerResources.GetString("EditSemesterPage_String_StartDateGreaterThanEndExplanation"), PowerPlannerResources.GetString("EditSemesterPage_String_InvalidStartDate")).Show(); return; } } DataChanges changes = new DataChanges(); changes.Add(semester); await PowerPlannerApp.Current.SaveChanges(changes); }, delegate
private static ViewItemSemester CreateSemester(DataItemSemester dataSemester) { return(new ViewItemSemester( dataSemester, createClassMethod: CreateClass)); }
public bool IsChild(DataItemSemester dataSemester) { return(dataSemester.UpperIdentifier == Identifier); }