Пример #1
0
        /// <summary>
        /// Surveys the did finish with result.
        /// </summary>
        /// <param name="survey">The survey.</param>
        /// <param name="result">The result.</param>
        public void SurveyDidFinishWithResult(UPSurvey survey, object result)
        {
            this.SurveyLoaded();
            UPMQuestionnairePage page = (UPMQuestionnairePage)this.Page;

            page.QuestionnaireNotExists = false;
        }
Пример #2
0
        /// <summary>
        /// Surveys the did fail with error.
        /// </summary>
        /// <param name="survey">The survey.</param>
        /// <param name="error">The error.</param>
        public void SurveyDidFailWithError(UPSurvey survey, Exception error)
        {
            UPMQuestionnairePage page = (UPMQuestionnairePage)this.Page;

            page.Status = null;
            page.QuestionnaireNotExists = true;
            this.InformAboutDidChangeTopLevelElement(this.Page, this.Page, null, null);
        }
Пример #3
0
        private List <UPCRMRecord> ChangedRecordsWithRootTemplateFilter(UPConfigFilter rootTemplateFilter, UPConfigFilter baseTemplateFilter, bool ignoreDefault)
        {
            List <UPCRMRecord> changedRecordArray = null;
            UPSurvey           survey             = null;

            foreach (UPPageModelController pageModelController in this.PageModelControllers)
            {
                List <UPCRMRecord> cr;

                var questionnaireEditPageModelController = pageModelController as QuestionnaireEditPageModelController;
                if (ignoreDefault && questionnaireEditPageModelController != null)
                {
                    cr = questionnaireEditPageModelController.ChangedRecordsIgnoreDefaultWithRootTemplateFilterBaseTemplateFilter(rootTemplateFilter, baseTemplateFilter);
                }
                else if (!ignoreDefault && questionnaireEditPageModelController != null)
                {
                    cr = questionnaireEditPageModelController.ChangedRecordsWithRootTemplateFilterBaseTemplateFilter(rootTemplateFilter, baseTemplateFilter);
                }
                else
                {
                    cr = pageModelController.ChangedRecords();
                }

                if (cr?.Count > 0)
                {
                    if (changedRecordArray == null)
                    {
                        changedRecordArray = new List <UPCRMRecord>(cr);
                    }
                    else
                    {
                        changedRecordArray.AddRange(cr);
                    }
                }

                if (survey == null && questionnaireEditPageModelController != null)
                {
                    survey = questionnaireEditPageModelController.Survey;
                }
            }

            return(changedRecordArray);
        }
Пример #4
0
        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);
            }
        }