/// <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; }
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); }
/// <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); */ }
/* * /// <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); }