/// <summary> /// Saves the specified action dictionary. /// </summary> /// <param name="actionDictionary">The action dictionary.</param> public override void Save(object actionDictionary) { this.DisableAllActionItems(true); Dictionary <string, UPEditFieldContext> changedFields = this.ChangedFields(); if (changedFields == null || changedFields.Count == 0) { this.ModelControllerDelegate.PopToPreviousContentViewController(); return; } ServiceInfo serviceInfo = ServerSession.CurrentSession.ServiceInfoForServiceName("ChangeConfiguration"); ChangeConfigurationServerOperation request = new ChangeConfigurationServerOperation(changedFields, this); if (string.CompareOrdinal(serviceInfo.Version, "1.1") <= 0) { UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.Localize(LocalizationKeys.TextGroupProcesses, LocalizationKeys.KeyProcessesEditSavingChangesProgressMessage); stillLoadingError.StatusMessageField = statusField; this.Organizer.Status = stillLoadingError; this.InformAboutDidChangeTopLevelElement(this.TopLevelElement, this.TopLevelElement, null, null); ServerSession.CurrentSession.ExecuteRequest(request); } else { request.StoreWebConfigParametersLocally(); UPChangeManager.CurrentChangeManager.RegisterChanges(new List <IIdentifier> { StringIdentifier.IdentifierWithStringId("Configuration") }); this.ModelControllerDelegate.PopToPreviousContentViewController(); } }
private void Save(object actionDictionary) { List <UPCRMRecord> changedRecords = null; UPObjectives objectives = null; foreach (UPPageModelController modelController in this.PageModelControllers) { var objectivesEditPageModelController = modelController as ObjectivesEditPageModelController; if (objectivesEditPageModelController != null) { changedRecords = objectivesEditPageModelController.ChangedRecords(); objectives = objectivesEditPageModelController.ObjectivesCore; } } if (changedRecords == null) { this.NoChangesWhileSaving(); return; } UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextWaitForChanges; stillLoadingError.StatusMessageField = statusField; this.Organizer.Status = stillLoadingError; this.InformAboutDidChangeTopLevelElement(this.TopLevelElement, this.TopLevelElement, null, null); objectives.OfflineRequest.StartRequest(UPOfflineRequestMode.OnlineConfirm, changedRecords, this); }
private void ApplyLoadingStatusOnPage(Page page) { UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("loadingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.StringValue = LocalizedString.TextLoadingData; stillLoadingError.StatusMessageField = statusField; page.Status = stillLoadingError; }
private void ApplyLoadingStatusOnOrganizer(UPMOrganizer organizer) { UPMProgressStatus progressStatus = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("loadingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextLoadingData; progressStatus.StatusMessageField = statusField; organizer.Status = progressStatus; }
/// <inheritdoc/> public override void ApplyLoadingStatusOnPage(Page page) { UPMProgressStatus loadinfStatus = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("loadingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")) { FieldValue = LocalizedString.TextLoadingData }; loadinfStatus.StatusMessageField = statusField; page.Status = loadinfStatus; }
/// <summary> /// Applies the loading status on page. /// </summary> /// <param name="page">The page.</param> public virtual void ApplyLoadingStatusOnPage(Page page) { var stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("loadingIdentifier")); var statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")) { FieldValue = LocalizedString.TextLoadingData }; stillLoadingError.StatusMessageField = statusField; page.Status = stillLoadingError; }
/// <summary> /// Builds the page. /// </summary> public void BuildPage() { UPMSyncConflictsPage page = new UPMSyncConflictsPage(StringIdentifier.IdentifierWithStringId("SyncConflictsPage")); UPMProgressStatus progressStatus = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextLoadingData; progressStatus.StatusMessageField = statusField; page.Status = progressStatus; page.Invalid = true; this.TopLevelElement = page; }
/// <summary> /// Saves the specified action dictionary. /// </summary> /// <param name="actionDictionary">The action dictionary.</param> public void Save(object actionDictionary) { List <UPCRMRecord> changedRecords = null; UPCharacteristics characteristics = null; foreach (UPPageModelController modelController in this.PageModelControllers) { var characteristicsEditPageModelController = modelController as UPCharacteristicsEditPageModelController; if (characteristicsEditPageModelController != null) { changedRecords = characteristicsEditPageModelController.ChangedRecords(); characteristics = characteristicsEditPageModelController.Characteristics; break; } } if (this.conflictEditOfflineRequest != null) { bool onlineRequestNecessary = changedRecords?.Any(record => !(record.Deleted && record.IsNew)) ?? false; if (onlineRequestNecessary) { this.conflictEditOfflineRequest.StartRequest(UPOfflineRequestMode.OnlineOnly, changedRecords, this); } else { this.conflictEditOfflineRequest.DeleteRequest(true); this.ModelControllerDelegate.PopToRootContentViewController(); } return; } if (changedRecords == null || changedRecords.Count == 0) { this.NoChangesWhileSaving(); return; } UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextWaitForChanges; stillLoadingError.StatusMessageField = statusField; this.Organizer.Status = stillLoadingError; this.InformAboutDidChangeTopLevelElement(this.TopLevelElement, this.TopLevelElement, null, null); characteristics.OfflineRequest.StartRequest(UPOfflineRequestMode.OnlineConfirm, changedRecords, this); }
private void SaveRootTemplateFilterBaseTemplateFilter(object actionDictionary, UPConfigFilter rootTemplateFilter, UPConfigFilter baseTemplateFilter) { UPMOrganizerAction action = this.ActionItem(StringIdentifier.IdentifierWithStringId("action.save")); if (action.LabelText == LocalizedString.TextClose) { this.Cancel(actionDictionary); return; } List <UPCRMRecord> changedRecordArray = this.ChangedRecordsWithRootTemplateFilter(rootTemplateFilter, baseTemplateFilter, false); UPSurvey survey = null; foreach (UPPageModelController pageModelController in this.PageModelControllers) { if (survey == null && pageModelController is QuestionnaireEditPageModelController) { survey = ((QuestionnaireEditPageModelController)pageModelController).Survey; } } if (changedRecordArray == null) { this.NoChangesWhileSaving(); return; } if (survey != null) { UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextWaitForChanges; stillLoadingError.StatusMessageField = statusField; this.Organizer.Status = stillLoadingError; this.InformAboutDidChangeTopLevelElement(this.TopLevelElement, this.TopLevelElement, null, null); survey.OfflineRequest.StartRequest(UPOfflineRequestMode.OnlineConfirm, changedRecordArray, this); } }
private UPSerialEntryFinalSaveResult ExecuteFinalSave() { this.ModelControllerDelegate?.StopAllEditing(); if (this.finalSaveCalled) { return(UPSerialEntryFinalSaveResult.Finished); } bool hasViolations = false; foreach (UPPageModelController modelController in this.PageModelControllers) { EditPageModelController editModelController = modelController as EditPageModelController; if (editModelController == null) { continue; } if (editModelController.UpdatePageWithViolations()) { hasViolations = true; } } if (hasViolations) { return(UPSerialEntryFinalSaveResult.Abort); } this.finalSaveCalled = true; this.DisableAllActionItems(true); if (this.currentModelController is SerialEntryPageModelController) { UPMProgressStatus stillLoadingError = new UPMProgressStatus(StringIdentifier.IdentifierWithStringId("savingIdentifier")); UPMStringField statusField = new UPMStringField(StringIdentifier.IdentifierWithStringId("statusFieldIdentifier")); statusField.FieldValue = LocalizedString.TextWaitForChanges; stillLoadingError.StatusMessageField = statusField; this.Organizer.Status = stillLoadingError; this.InformAboutDidChangeTopLevelElement(this.TopLevelElement, this.TopLevelElement, null, null); } bool noChanges = true; if (!this.IsNew || !this.created) { List <UPCRMRecord> changedRecords = this.ChangedRecords(false); if (changedRecords?.Count > 0) { this.EditRecordRequest.TitleLine = this.Organizer.TitleText; this.EditRecordRequest.DetailsLine = this.Organizer.SubtitleText; this.waitForSave = true; noChanges = false; this.EditRecordRequest.StartRequest(UPOfflineRequestMode.OnlineConfirm, changedRecords, this); } } foreach (UPPageModelController modelController in this.PageModelControllers) { if (modelController is SerialEntryPageModelController) { SerialEntryPageModelController serialEntryModelController = (SerialEntryPageModelController)modelController; this.waitForSerialEntrySave = true; this.isSaving = true; if (!serialEntryModelController.SaveAll()) { this.waitForSerialEntrySave = false; this.isSaving = false; } else { noChanges = false; } } } if (noChanges) { this.HandleChangeManager(); this.HandleSaved(); return(UPSerialEntryFinalSaveResult.Finished); } return(UPSerialEntryFinalSaveResult.Pending); }