public static void AddMissedValues(AvrPivotGridModel model, bool forceRefill) { if (forceRefill) { bool isNewObject; string errorMessage; model.PivotData = GetPivotData(model.PivotSettings, out isNewObject, out errorMessage); if (!string.IsNullOrEmpty(errorMessage)) { //todo:[mike] return ErrorMessage to user } } List <IAvrPivotGridField> fields = model.PivotSettings.Fields.Cast <IAvrPivotGridField>().ToList(); var result = new LayoutValidateResult(); if (model.PivotSettings.ShowMissedValues) { LayoutBaseValidator validator = CreateLayoutComplexityValidator(); result = AvrPivotGridHelper.AddMissedValuesAndValidateComplexity(model, fields, validator); } if (result.IsCancelOrUserDialogCancel()) { model.HideDataForComplexLayout(); } else { FillEmptyValuesInDataArea(model, fields); } }
public static LayoutValidateResult FillEmptyValuesInDataArea(AvrPivotGridModel model, List <IAvrPivotGridField> fields = null) { if (fields == null) { fields = model.PivotSettings.Fields.ToList <IAvrPivotGridField>(); } var avrDataSource = new AvrPivotGridData(model.PivotData); var result = new LayoutValidateResult(); LayoutBaseValidator validator = CreateLayoutComplexityValidator(); if (model.PivotSettings.ShowMissedValues) { result = AvrPivotGridHelper.AddMissedValuesAndValidateComplexity(avrDataSource, fields, validator); } if (!result.IsCancelOrUserDialogCancel()) { result = AvrPivotGridHelper.FillEmptyValuesAndValidateComplexity(avrDataSource, fields, validator); } //LayoutValidateResult result = AvrPivotGridHelper.FillEmptyValuesAndValidateComplexity(avrDataSource, fields, validator); if (result.IsCancelOrUserDialogCancel()) { model.HideDataForComplexLayout(); } return(result); }
public static AvrPivotGridModel FillData(ref long queryId, long layoutId) { var service = new WebLayoutDB(); var sessionDataSet = (LayoutDetailDataSet)service.GetDetail(layoutId); if (queryId <= 0) { queryId = ((LayoutDetailDataSet.LayoutRow)sessionDataSet.Layout.Rows[0]).idflQuery; } var helper = new LayoutHelper(sessionDataSet); var settings = new AvrPivotSettings(queryId, layoutId); helper.InitAvrPivotSettings(settings); bool isNewObject; string errorMessage; AvrDataTable data = LayoutPivotGridHelper.GetPivotData( helper.LayoutDataSet, queryId, layoutId, settings.UseArchiveData, settings.ApplyFilter ? settings.FilterCriteriaString :string.Empty, out isNewObject, out errorMessage); if (!string.IsNullOrEmpty(errorMessage)) { throw new AvrException(errorMessage); } settings.Fields = AvrPivotGridHelper.CreateFields <WebPivotGridField>(data); helper.PrepareWebFields(settings); List <IAvrPivotGridField> fields = settings.Fields.Cast <IAvrPivotGridField>().ToList(); LayoutValidateResult result = helper.LoadPivotFromDB(new AvrPivotGridData(data), fields, isNewObject); var model = new AvrPivotGridModel(settings, data); if (result.IsCancelOrUserDialogCancel()) { model.HideDataForComplexLayout(); } return(model); }