Ejemplo n.º 1
0
        /// <summary>
        /// Загружает инфраструктуру шаблона
        /// </summary>
        /// <param name="formType">Тип формы</param>
        /// <param name="countryDeterminant">Детерминант-страна</param>
        /// <param name="secondDeterminant">Детерминант диагноз или тест</param>
        /// <param name="observationList">Перечень observation</param>
        private void LoadTemplate(FFTypeEnum formType, long countryDeterminant, long?secondDeterminant, List <long> observationList)
        {
            IdfsFormTemplate = null;

            Model.SetProperties(countryDeterminant, secondDeterminant, formType, observationList, 0);
            //если нет ни одной строки, то никакого шаблона не удалось найти (ни обычного, ни UNI)
            IdfsFormTemplate = Model.CurrentTemplate != null ? (long?)Model.CurrentTemplate.idfsFormTemplate : null;
        }
Ejemplo n.º 2
0
        public static FFPresenterModel SetFFModel(FFTypeEnum ffType, long?idObservation, DbManagerProxy manager, long?idVersion, long idfAggrCase, out long?idFormTemplate)
        {
            idFormTemplate = null;
            var ffModel      = FFPresenterModel.Accessor.Instance(null).SelectByKey(manager, idObservation);
            var observations = new List <long>();

            if (idObservation.HasValue)
            {
                observations.Add(idObservation.Value);
            }
            if (ffModel.CurrentTemplate == null)
            {
                ffModel.SetProperties(EidssSiteContext.Instance.CountryID, null, ffType, observations, idfAggrCase);
            }

            if (ffModel.CurrentTemplate != null)
            {
                idFormTemplate = ffModel.CurrentTemplate.idfsFormTemplate;
            }

            if (idVersion.HasValue)
            {
                #region Настройка показа аггрегатных случаев

                switch (ffType)
                {
                case FFTypeEnum.HumanAggregateCase:
                    ffModel.PrepareAggregateCase(AggregateCaseSectionEnum.HumanCase, idVersion.Value);
                    break;

                case FFTypeEnum.VetAggregateCase:
                    ffModel.PrepareAggregateCase(AggregateCaseSectionEnum.VetCase, idVersion.Value);
                    break;

                case FFTypeEnum.VetEpizooticAction:
                    ffModel.PrepareAggregateCase(AggregateCaseSectionEnum.SanitaryAction, idVersion.Value);
                    break;

                case FFTypeEnum.VetEpizooticActionDiagnosisInv:
                    ffModel.PrepareAggregateCase(AggregateCaseSectionEnum.DiagnosticAction, idVersion.Value);
                    break;

                case FFTypeEnum.VetEpizooticActionTreatment:
                    ffModel.PrepareAggregateCase(AggregateCaseSectionEnum.ProphylacticAction, idVersion.Value);
                    break;
                }

                #endregion
            }
            return(ffModel);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Рассчитывает сводные данные, заполняя табличные секции предустановленными боковиками, по текущей стране
        /// </summary>
        /// <param name="observations">Коллекция ID сущностей (observation)</param>
        /// <param name="formType">ID типа формы</param>
        public void LoadSummary(List <long> observations, FFTypeEnum formType)
        {
            Model.FormType = (long)formType;
            Model.PrepareSummary(observations);

            /*
             * if (observations == null) return;
             *
             * IdfsFormTemplate = IdfsFormTemplateSummary;
             * //обнуляем эти свойства, потому что в саммари участвует несколько Observation и у каждого может быть своя версия боковика и шаблона
             * VersionMatrixStub = null;
             * var idfsFormType = (long)formType;
             * //получим информацию по всему шаблону
             * SetActualTemplate(0, idfsFormType, 0);
             *
             * //загружаем структуру
             * MergeTemplates(MainDbService.IdfsFormTemplateSummary, observations, formType);
             * var observationsRows = MainDbService.LoadObservations(observations);
             *
             * //загружаем данные
             * //загрузим пользовательские данные
             * foreach (var observationsRow in observationsRows)
             * {
             *  if (observationsRow.IsidfsFormTemplateNull()) continue;
             *  MainDbService.LoadUserData(observationsRow.idfObservation, observationsRow.idfsFormTemplate, true);
             * }
             *
             * //надо рассчитать сумму данных и заложить её в фиктивный ObservationSummary, а затем показывать его
             * //суммировать можно только те параметры, у которых тип Numeric. Остальные игнорировать (Михаил, 11.01.2010).
             * //суммируется только тело таблицы, боковик не учитывается
             * //в дальнейшем суммированные данные не сохраняются
             *
             * //расчёт summary
             * var lst = new List<long>();
             * lst.AddRange(observations);
             * MainDbService.CalculateSummary(lst);
             * List<FlexibleFormsDS.PredefinedStubRow> predefinedStubRows;
             *
             * MainDbService.IncludeStubDataInUserData(IdfsFormTemplate, IdfObservationSummary, null, null, out predefinedStubRows);
             *
             * //загружаем структуру шаблона
             * MainDbService.LoadSections(idfsFormType, null, null);
             * MainDbService.LoadParameters(idfsFormType, null);
             * MainDbService.LoadSectionTemplate(IdfsFormTemplate);
             * MainDbService.LoadParameterTemplate(IdfsFormTemplate);
             */
        }
Ejemplo n.º 4
0
        /*
         * /// <summary>
         * /// Загружает инфраструктуру шаблона
         * /// </summary>
         * /// <param name="idFormTemplate"></param>
         * /// <param name="observation"></param>
         * /// <param name="formType"></param>
         * public void LoadAggregateTemplate(long idFormTemplate, long observation, FFTypeEnum formType)
         * {
         *  LoadTemplate(formType, idFormTemplate, new List<long> { observation });
         * }
         */

        /// <summary>
        /// Загружает инфраструктуру шаблона
        /// </summary>
        /// <param name="observations"></param>
        /// <param name="formType"></param>
        /// <param name="secondDeterminant">Диагноз или Тип теста</param>
        public void LoadTemplate(List <long> observations, long?secondDeterminant, FFTypeEnum formType)
        {
            LoadTemplate(formType, EidssSiteContext.Instance.CountryID, secondDeterminant, observations);
        }