Example #1
0
        public LayoutValidateResult LoadPivotFromDB(AvrPivotGridData model, IList <IAvrPivotGridField> avrFields, bool isNewObject)
        {
            if ((PivotGridXmlVersion)LayoutRow.intPivotGridXmlVersion == PivotGridXmlVersion.Version5)
            {
                throw new AvrDbException("Layout has version 5 format. It's not supported.");
            }

            if (!isNewObject)
            {
                AvrPivotGridHelper.LoadSearchFieldsVersionSixFromDB(avrFields, LayoutSearchFieldTable, LayoutRow.idfsDefaultGroupDate);

                LoadPivotFilterVersionSixFromDB();
            }

            AvrPivotGridHelper.LoadExstraSearchFieldsProperties(avrFields, LayoutSearchFieldTable);

            AvrPivotGridHelper.SwapOriginalAndCopiedFieldsIfReversed(avrFields);



            var result = new LayoutValidateResult();
            LayoutBaseValidator validator = LayoutPivotGridHelper.CreateLayoutComplexityValidator();

            if (LayoutRow.blnShowMissedValuesInPivotGrid)
            {
                result = AvrPivotGridHelper.AddMissedValuesAndValidateComplexity(model, avrFields, validator);
            }
            if (!result.IsCancelOrUserDialogCancel())
            {
                result = AvrPivotGridHelper.FillEmptyValuesAndValidateComplexity(model, avrFields, validator);
            }
            return(result);
        }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
        }
Example #4
0
        public void PivotGridDeleteFieldMissedValuesDuplicateTest()
        {
            IAvrPivotGridField date1 = GetIAvrPivotGridField("Date");

            date1.SearchFieldDataType = typeof(DateTime);
            date1.AddMissedValues     = true;

            IAvrPivotGridField region1 = GetIAvrPivotGridField("Region");
            IAvrPivotGridField region2 = GetIAvrPivotGridField("Region");

            region2.AddMissedValues = true;
            IAvrPivotGridField region3 = GetIAvrPivotGridField("Region");

            region3.AddMissedValues = true;

            IAvrPivotGridField date2 = GetIAvrPivotGridField("Date");

            date2.SearchFieldDataType = typeof(DateTime);
            date2.AddMissedValues     = true;

            var fields = new List <IAvrPivotGridField> {
                date1, region1, region2, region3, date2
            };

            foreach (IAvrPivotGridField field in fields)
            {
                field.AllPivotFields = fields;
            }
            List <IAvrPivotGridField> result = AvrPivotGridHelper.AddRelatedFields(fields).ToList();

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(date1, result[0]);
            Assert.AreEqual(region2, result[1]);
        }
Example #5
0
        public void GetPivotSummaryTypeTest()
        {
            using (var pivot = new PivotDetailPanel())
            {
                AvrDataTable dataTable = new AvrDataTable(DataHelper.GenerateTestTable());

                List <WinPivotGridField> list = AvrPivotGridHelper.CreateFields <WinPivotGridField>(dataTable);
                pivot.PivotGrid.Fields.AddRange(list.ToArray());

                pivot.PivotGrid.SetDataSourceAndCreateFields(dataTable);
                Assert.IsTrue(Configuration.SummaryTypeDictionary.ContainsKey(typeof(string)));
                CustomSummaryType type = Configuration.SummaryTypeDictionary[typeof(string)];
                Assert.AreEqual(CustomSummaryType.Count, type);

                Assert.IsTrue(Configuration.SummaryTypeDictionary.ContainsKey(typeof(DateTime)));
                type = Configuration.SummaryTypeDictionary[typeof(DateTime)];
                Assert.AreEqual(CustomSummaryType.Max, type);

                Assert.IsFalse(Configuration.SummaryTypeDictionary.ContainsKey(typeof(bool)));
                type = Configuration.DefaltSummaryType;
                Assert.AreEqual(CustomSummaryType.Count, type);

                Assert.IsTrue(Configuration.SummaryTypeDictionary.ContainsKey(typeof(int)));
                type = Configuration.SummaryTypeDictionary[typeof(int)];
                Assert.AreEqual(CustomSummaryType.Sum, type);

                Assert.IsTrue(Configuration.SummaryTypeDictionary.ContainsKey(typeof(long)));
                type = Configuration.SummaryTypeDictionary[typeof(long)];
                Assert.AreEqual(CustomSummaryType.Sum, type);
            }
        }
Example #6
0
        public ActionResult OnCopyField(string fieldId)
        {
            AvrPivotGridModel model = GetModelFromSession();

            if (model == null)
            {
                return(View("AvrServiceError", (object)m_ErrorMessage));
            }
            if (string.IsNullOrEmpty(fieldId))
            {
                return(new JsonResult {
                    Data = false, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            WebPivotGridField sourceField = model.PivotSettings.Fields.Find(f => f.FieldName == fieldId);

            var copy = AvrPivotGridHelper.CreateFieldCopy <WebPivotGridField>(sourceField,
                                                                              model.PivotSettings.LayoutDataset,
                                                                              model,
                                                                              model.PivotSettings.QueryId,
                                                                              model.PivotSettings.LayoutId);

            model.PivotSettings.AddField(copy);
            model.PivotSettings.SelectedField = copy;
            copy.Action = WebFieldAction.Add;
            model.PivotSettings.UpdatedField = copy;

            model.IsFirstLoad = true;
            return(new JsonResult {
                Data = true, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Example #7
0
        private void RestorePivotSettings(LayoutDetailDataSet layoutDataSet)
        {
            try
            {
                LayoutDetailDataSet.LayoutRow layoutRow = GetLayoutRow(layoutDataSet);
                List <IAvrPivotGridField>     avrFields = m_AvrPivot.AvrFields.ToList();

                AvrPivotGridHelper.LoadSearchFieldsVersionSixFromDB(avrFields, layoutDataSet.LayoutSearchField,
                                                                    layoutRow.idfsDefaultGroupDate);

                using (m_AvrPivot.BeginTransaction())
                {
                    AvrPivotGridHelper.LoadExstraSearchFieldsProperties(avrFields, layoutDataSet.LayoutSearchField);

                    AvrPivotGridHelper.SwapOriginalAndCopiedFieldsIfReversed(avrFields);

                    m_AvrPivot.PivotGridPresenter.UpdatePivotCaptions();

                    RestoreTotals(layoutRow);
                }
            }
            catch (XmlException ex)
            {
                Trace.WriteLine(ex);
                ErrorForm.ShowError("errCantParseLayout", "Cannot parse Layout retrived from Database", ex);
            }
        }
Example #8
0
        //[HttpPost]
        // public ActionResult OnSaveFieldChanges()
        public ActionResult AggregateFunctionChanged(string aggregateFunctionId)
        {
            AvrPivotGridModel model = GetModelFromSession();

            if (model == null)
            {
                return(View("AvrServiceError", (object)m_ErrorMessage));
            }
            int intPrecision = -1;

            if (model.PivotSettings.SelectedField != null)
            {
                long aggrId = bv.common.Core.Utils.ToLong(aggregateFunctionId);
                CustomSummaryType summaryTypeType = AvrPivotGridHelper.ParseSummaryType(aggrId);
                if (model.PivotSettings.SelectedField.PrecisionDictionary.ContainsKey(summaryTypeType))
                {
                    intPrecision = model.PivotSettings.SelectedField.PrecisionDictionary[summaryTypeType];
                }
                else
                {
                    string strPrecision = LookupCache.GetLookupValue((long)summaryTypeType, LookupTables.AggregateFunction,
                                                                     "intDefaultPrecision");
                    intPrecision = int.TryParse(strPrecision, out intPrecision)
                        ? intPrecision
                        : -1;
                }
            }
            return(new JsonResult {
                Data = new { precision = (decimal)intPrecision }, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Example #9
0
        public static AvrDataTable GetPivotData(LayoutDetailDataSet ds, long queryId, long layoutId, bool useArchiveData, string filter, out bool isNewObject, out string errorMessage)
        {
            CachedQueryResult queryResult = ServiceClientHelper.ExecQuery(queryId, useArchiveData, filter);

            isNewObject  = ds.LayoutSearchField.Count == 0;
            errorMessage = queryResult.ErrorMessage;
            return(AvrPivotGridHelper.GetPreparedDataSource(ds.LayoutSearchField, queryId, layoutId, queryResult.QueryTable, isNewObject));
        }
Example #10
0
        private AvrPivotViewModel CreateAvrPivotViewModelInternal(long layoutId, string lang)
        {
            LayoutDetailDataSet layoutDataSet = GetLayoutDataSet(layoutId);

            LayoutDetailDataSet.LayoutRow layoutRow = GetLayoutRow(layoutDataSet);

            m_SharedPresenter.SharedModel.SelectedQueryId  = layoutRow.idflQuery;
            m_SharedPresenter.SharedModel.SelectedLayoutId = layoutId;

            m_Trace.Trace(TraceTitle, string.Format("Layout {0} structure read from DB", layoutId));

            var validatorWaiter = new LayoutSilentValidatorWaiter();
            var filter          = layoutRow.blnApplyPivotGridFilter ? layoutRow.strPivotGridSettings : string.Empty;
            var queryResult     = AvrMainFormPresenter.ExecQueryInternal(layoutRow.idflQuery, lang,
                                                                         layoutRow.blnUseArchivedData, filter, validatorWaiter, false, QueryExecutor);

            //var queryResult = AvrMainFormPresenter.ExecQueryInternal(layoutRow.idflQuery, lang,
            //    layoutRow.blnUseArchivedData, layoutRow.strPivotGridSettings, validatorWaiter, false, QueryExecutor);

            m_Trace.Trace(TraceTitle, string.Format("Data for layout {0} received from AVR Cashe ", layoutId));

            AvrDataTable preparedQueryTable = AvrPivotGridHelper.GetPreparedDataSource(layoutDataSet.LayoutSearchField,
                                                                                       layoutRow.idflQuery, layoutId, queryResult.QueryTable, false);

            m_AvrPivot.SetDataSourceAndCreateFields(preparedQueryTable);

            RestorePivotSettings(layoutDataSet);

            using (m_AvrPivot.BeginTransaction())
            {
                List <IAvrPivotGridField> fields = m_AvrPivot.AvrFields.ToList();

                var result = new LayoutValidateResult();
                if (layoutRow.blnShowMissedValuesInPivotGrid)
                {
                    result = AvrPivotGridHelper.AddMissedValuesAndValidateComplexity(m_AvrPivot.DataSource, fields,
                                                                                     validatorWaiter.Validator);
                }
                if (!result.IsCancelOrUserDialogCancel())
                {
                    result = AvrPivotGridHelper.FillEmptyValuesAndValidateComplexity(m_AvrPivot.DataSource, fields,
                                                                                     validatorWaiter.Validator);
                }
                if (result.IsCancelOrUserDialogCancel())
                {
                    m_AvrPivot.HideData = true;
                }

                m_AvrPivot.RefreshData();
            }
            m_Trace.Trace(TraceTitle, string.Format("Layout {0} builded", layoutId));

            PivotGridDataLoadedCommand command = m_AvrPivot.CreatePivotDataLoadedCommand(layoutRow.strLayoutName);

            m_Trace.Trace(TraceTitle, string.Format("View model for layout {0}, language {1} created", layoutId, lang));
            return(command.Model);
        }
Example #11
0
        public void QueryFieldImageTest()
        {
            DataTable table = CreateLookupWithFieldType();
            Dictionary <string, Type> types = AvrPivotGridHelper.GetSearchFieldDataTypes(table);

            Assert.AreEqual(table.Rows.Count * 4, types.Count);
            Assert.AreEqual(typeof(bool), types["fBit"]);
            Assert.AreEqual(typeof(DateTime), types["fDate"]);
            Assert.AreEqual(typeof(float), types["fFloat"]);
            Assert.AreEqual(typeof(long), types["fID"]);
            Assert.AreEqual(typeof(long), types["fInteger"]);
            Assert.AreEqual(typeof(string), types["fString"]);
        }
Example #12
0
        public void QueryParamImageTest()
        {
            DataTable table = CreateLookupWithFF();

            Dictionary <string, Type> types = AvrPivotGridHelper.GetSearchFieldDataTypes(table);

            Assert.AreEqual(typeof(long), types["fNumeric"]);
            Assert.AreEqual(typeof(bool), types["fBoolean"]);
            Assert.AreEqual(typeof(string), types["fCaption"]);
            Assert.AreEqual(typeof(DateTime), types["fDate"]);
            Assert.AreEqual(typeof(DateTime), types["fDateTime"]);
            Assert.AreEqual(typeof(long), types["fMonths"]);
            Assert.AreEqual(typeof(string), types["fString"]);
            Assert.AreEqual(typeof(long), types["fNumericNatural"]);
            Assert.AreEqual(typeof(long), types["fNumericPositive"]);
            Assert.AreEqual(typeof(long), types["fNumericInteger"]);
        }
Example #13
0
        public void PivotGridLinkedFieldRayonRegionSettlementTest()
        {
            WinPivotGridField region = GetIAvrPivotGridField("Region");
            WinPivotGridField rayon  = GetIAvrPivotGridField("Rayon");

            rayon.RelatedFields = new List <IAvrPivotGridField> {
                region
            };
            WinPivotGridField settlement = GetIAvrPivotGridField("Settlement");

            settlement.RelatedFields = new List <IAvrPivotGridField> {
                rayon, region
            };
            WinPivotGridField diagnosis = GetIAvrPivotGridField("Diagnosis");
            WinPivotGridField zoonotic  = GetIAvrPivotGridField("Zoonotic");

            zoonotic.RelatedFields = new List <IAvrPivotGridField> {
                diagnosis
            };

            var allFields = new List <IAvrPivotGridField> {
                region, rayon, settlement, diagnosis, zoonotic
            };

            foreach (IAvrPivotGridField field in allFields)
            {
                field.AllPivotFields = allFields;
            }

            Assert.AreEqual(2, settlement.GetRelatedFieldChain().Count);
            Assert.AreEqual(1, zoonotic.GetRelatedFieldChain().Count);

            var fields = new List <IAvrPivotGridField> {
                rayon, region, settlement, zoonotic
            };
            List <IAvrPivotGridField> result = AvrPivotGridHelper.AddRelatedFields(fields).ToList();

            Assert.AreEqual(5, result.Count);
            Assert.AreEqual(region, result[0]);
            Assert.AreEqual(rayon, result[1]);
            Assert.AreEqual(settlement, result[2]);
            Assert.AreEqual(diagnosis, result[3]);
            Assert.AreEqual(zoonotic, result[4]);
        }
Example #14
0
        public AvrPivotGridHelperWeb(ASPxPivotGrid pivotGrid)
        {
            DisplayTextHandler = new DisplayTextHandler();
            m_BaseFields       = pivotGrid.Fields;

            m_DataAreaFields = new List <IAvrPivotGridField>();
            foreach (PivotGridField field in pivotGrid.GetFieldsByArea(PivotArea.DataArea))
            {
                //todo: change this initialization
                if (field is IAvrPivotGridField)
                {
                    m_DataAreaFields.Add((IAvrPivotGridField)field);
                }
            }

            m_ColumnAreaFields = new List <IAvrPivotGridField>();
            foreach (PivotGridField field in pivotGrid.GetFieldsByArea(PivotArea.ColumnArea))
            {
                //todo: change this initialization
                if (field is IAvrPivotGridField)
                {
                    m_ColumnAreaFields.Add((IAvrPivotGridField)field);
                }
            }

            m_RowAreaFields = new List <IAvrPivotGridField>();
            foreach (PivotGridField field in pivotGrid.GetFieldsByArea(PivotArea.RowArea))
            {
                //todo: change this initialization
                if (field is IAvrPivotGridField)
                {
                    m_RowAreaFields.Add((IAvrPivotGridField)field);
                }
            }
            var fields = RowAreaFields;

            fields.AddRange(ColumnAreaFields);
            GenderField   = AvrPivotGridHelper.GetGenderField(fields);
            AgeGroupField = AvrPivotGridHelper.GetAgeGroupField(fields);

            PivotWebData = pivotGrid.Data;

            WebPivotGrid = pivotGrid;
        }
Example #15
0
        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);
        }
Example #16
0
        public void PivotGridDeleteFieldMissedValuesSingleTest()
        {
            IAvrPivotGridField region1 = GetIAvrPivotGridField("Region");
            IAvrPivotGridField region2 = GetIAvrPivotGridField("Region");
            IAvrPivotGridField region3 = GetIAvrPivotGridField("Region");

            region3.AddMissedValues = true;

            var fields = new List <IAvrPivotGridField> {
                region1, region2, region3
            };

            foreach (IAvrPivotGridField field in fields)
            {
                field.AllPivotFields = fields;
            }
            List <IAvrPivotGridField> result = AvrPivotGridHelper.AddRelatedFields(fields).ToList();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(region3, result[0]);
        }
Example #17
0
        public void PivotGridLinkedFieldSimpleTest()
        {
            IAvrPivotGridField region     = GetIAvrPivotGridField("Region");
            IAvrPivotGridField rayon      = GetIAvrPivotGridField("Rayon");
            IAvrPivotGridField settlement = GetIAvrPivotGridField("Settlement");

            var fields = new List <IAvrPivotGridField> {
                region, rayon, settlement
            };

            foreach (IAvrPivotGridField field in fields)
            {
                field.AllPivotFields = fields;
            }
            List <IAvrPivotGridField> result = AvrPivotGridHelper.AddRelatedFields(fields).ToList();

            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(region, result[0]);
            Assert.AreEqual(rayon, result[1]);
            Assert.AreEqual(settlement, result[2]);
        }
Example #18
0
        public ActionResult DeleteFieldCopy()
        {
            AvrPivotGridModel model = GetModelFromSession();

            if (model == null)
            {
                return(View("AvrServiceError", (object)m_ErrorMessage));
            }

            if (model.PivotSettings.SelectedField != null)
            {
                WebPivotGridField field = model.PivotSettings.SelectedField;
                field.Action = WebFieldAction.Delete;
                AvrPivotGridHelper.DeleteFieldCopy(field, model.PivotSettings.LayoutDataset, model);
                model.PivotSettings.DeleteField(field);
                model.PivotSettings.UpdatedField  = field;
                model.PivotSettings.SelectedField = null;
                model.IsFirstLoad = true;
            }
            return(new JsonResult {
                Data = true, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Example #19
0
        public bool SaveData(AvrPivotSettings settings)
        {
            List <IAvrPivotGridField> fields = settings.Fields.Cast <IAvrPivotGridField>().ToList();

            AvrPivotGridHelper.PrepareLayoutSearchFieldsBeforePost(fields,
                                                                   LayoutDataSet.LayoutSearchField, settings.QueryId, settings.LayoutId);
            var db = new WebLayoutDB();

            db.SetQueryID(settings.QueryId);
            LayoutRow.idfsDefaultGroupDate           = settings.DefaultGroupInterval;
            LayoutRow.blnShowColsTotals              = settings.ShowColumnTotals;
            LayoutRow.blnShowRowsTotals              = settings.ShowRowTotals;
            LayoutRow.blnShowColGrandTotals          = settings.ShowColumnGrandTotals;
            LayoutRow.blnShowRowGrandTotals          = settings.ShowRowGrandTotals;
            LayoutRow.blnShowForSingleTotals         = settings.ShowTotalsForSingleValues;
            LayoutRow.blnShowMissedValuesInPivotGrid = settings.ShowMissedValues;
            LayoutRow.blnApplyPivotGridFilter        = settings.ApplyFilter;
            LayoutRow.blnCompactPivotGrid            = settings.CompactLayout;
            LayoutRow.blnFreezeRowHeaders            = settings.FreezeRowHeaders;
            LayoutRow.blnUseArchivedData             = settings.UseArchiveData;
            LayoutRow.strPivotGridSettings           = settings.FilterCriteriaString;
            LayoutRow.blnShowDataInPivotGrid         = settings.ShowDataInPivot;
            return(db.PostDetail(m_DataSet, (int)PostType.FinalPosting));
        }
Example #20
0
        public void PivotGridMissedValuesFilterDateTest()
        {
            IAvrPivotGridField date1 = GetIAvrPivotGridField("Date");

            date1.SearchFieldDataType = typeof(DateTime);
            date1.GroupInterval       = PivotGroupInterval.DateYear;
            date1.AddMissedValues     = true;

            IAvrPivotGridField date2 = GetIAvrPivotGridField("Date");

            date2.SearchFieldDataType = typeof(DateTime);
            date2.GroupInterval       = PivotGroupInterval.DateMonth;
            date2.AddMissedValues     = true;


            IAvrPivotGridField date3 = GetIAvrPivotGridField("Date");

            date3.SearchFieldDataType = typeof(DateTime);
            date3.IsHiddenFilterField = true;


            var fields = new List <IAvrPivotGridField> {
                date1, date2, date3
            };

            foreach (IAvrPivotGridField field in fields)
            {
                field.AllPivotFields = fields;
            }
            List <IAvrPivotGridField> result = AvrPivotGridHelper.AddRelatedFields(new List <IAvrPivotGridField> {
                date1, date2
            }).ToList();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(date1, result[0]);
        }
Example #21
0
        public ActionResult OnSaveFieldChanges
            (string caption, string captionEn, string aggregateFunctionId, string precision, string basicCountFunctionId, string adminUnitField, string dateField,
            string groupInterval, string addMissedValue, string startDate, string endDate)
        {
            AvrPivotGridModel model = GetModelFromSession();

            if (model == null)
            {
                return(new JsonResult
                {
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                    Data = new { result = "error", error = m_ErrorMessage }
                });
            }
            if (model.PivotSettings.SelectedField != null)
            {
                WebPivotGridFieldClone clonedField =
                    model.PivotSettings.SelectedField.GetClonedField(model.PivotSettings.LayoutDataset, false);
                if (ModelUserContext.CurrentLanguage != Localizer.lngEn)
                {
                    clonedField.Caption = caption;
                }
                clonedField.CaptionEn               = captionEn;
                clonedField.AggregateFunctionId     = bv.common.Core.Utils.ToLong(aggregateFunctionId);
                clonedField.BasicCountFunctionId    = bv.common.Core.Utils.ToLong(basicCountFunctionId);
                clonedField.Precision               = bv.common.Core.Utils.ToNullableInt(precision);
                clonedField.UnitLayoutSearchFieldId = bv.common.Core.Utils.ToNullableLong(adminUnitField);
                clonedField.DateLayoutSearchFieldId = bv.common.Core.Utils.ToNullableLong(dateField);
                bool updateMissedValues = (!clonedField.AddMissedValues.Equals(bool.Parse(addMissedValue)) ||
                                           !clonedField.DiapasonStartDate.Equals(bv.common.Core.Utils.ToDateNullable(startDate)) ||
                                           !clonedField.DiapasonEndDate.Equals(bv.common.Core.Utils.ToDateNullable(endDate)) ||
                                           !clonedField.PrivateGroupInterval.Equals(bv.common.Core.Utils.ToNullableLong(groupInterval)));
                clonedField.PrivateGroupInterval = bv.common.Core.Utils.ToNullableLong(groupInterval);
                bool fillEmptyValues =
                    LayoutPivotGridHelper.IsFieldGroupIntervalChanged(model.PivotSettings.SelectedField,
                                                                      clonedField.PrivateGroupInterval.HasValue ? (PivotGroupInterval)clonedField.PrivateGroupInterval : model.PivotSettings.SelectedField.GroupInterval);
                clonedField.AddMissedValues   = bool.Parse(addMissedValue);
                clonedField.DiapasonStartDate = bv.common.Core.Utils.ToDateNullable(startDate);
                clonedField.DiapasonEndDate   = bv.common.Core.Utils.ToDateNullable(endDate);
                string error = ValidateFieldClone(clonedField, model.PivotSettings.SelectedField.IsDateTimeField);
                if (!string.IsNullOrEmpty(error))
                {
                    return(new JsonResult
                    {
                        JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                        Data = new { result = "error", error = error }
                    });
                }
                bool aggregateChanged =
                    !model.PivotSettings.SelectedField.AggregateFunctionId.Equals(clonedField.AggregateFunctionId);
                model.PivotSettings.SelectedField.FlashChanges(model.PivotSettings.LayoutDataset);
                if (aggregateChanged)
                {
                    WebPivotGridField field           = model.PivotSettings.SelectedField;
                    CustomSummaryType summaryTypeType =
                        AvrPivotGridHelper.ParseSummaryType(model.PivotSettings.SelectedField.AggregateFunctionId);
                    field.SummaryDisplayType = PivotSummaryDisplayType.Default;

                    PivotSummaryType summaryType = summaryTypeType == CustomSummaryType.Count
                        ? PivotSummaryType.Count
                        : PivotSummaryType.Custom;
                    field.CustomSummaryType = summaryTypeType;
                    field.SummaryType       = summaryType;
                }
                if (model.PivotSettings.SelectedField.Action != WebFieldAction.Add)
                {
                    model.PivotSettings.SelectedField.Action = WebFieldAction.Edit;
                }
                model.PivotSettings.UpdatedField = model.PivotSettings.SelectedField;
                if (model.PivotSettings.SelectedField.HasChanges)
                {
                    model.PivotSettings.HasChanges = true;
                }
                if (updateMissedValues)
                {
                    LayoutPivotGridHelper.CopyMissedValuesFromField(model.PivotSettings.SelectedField, model.PivotSettings.Fields);
                    LayoutPivotGridHelper.AddMissedValues(model, true);
                }
                else if (fillEmptyValues)
                {
                    LayoutPivotGridHelper.FillEmptyValuesInDataArea(model);
                }
                if (model.PivotSettings.SelectedField.Action != WebFieldAction.Add)
                {
                    return(new JsonResult {
                        Data = String.Empty, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                    });
                }
            }
            return(new JsonResult
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                Data = new { result = "refresh", function = "RefeshData2" }
            });
        }
Example #22
0
 private LayoutDetailDataSet.LayoutSearchFieldRow GetLayoutSearchFieldRowByField(LayoutDetailDataSet ds, WebPivotGridField webField)
 {
     return(AvrPivotGridHelper.GetLayoutSearchFieldRowByField(webField, ds));
 }
Example #23
0
        private static void PivotGridOnFieldAreaChanged(object sender, PivotFieldEventArgs pivotFieldEventArgs)
        {
            var pivotGrid              = (MVCxPivotGrid)sender;
            AvrPivotGridModel model    = GetModelFromSession(pivotGrid.Request);
            PivotGridField    field    = pivotFieldEventArgs.Field;
            WebPivotGridField webField = GetWebPivotGridFieldByName(model.PivotSettings.Fields, field.ID);

            if (field.Area == webField.Area && field.AreaIndex == webField.AreaIndex && field.Visible == webField.Visible)
            {
                return;
            }

            bool copyAddMissedValues = field.Visible &&
                                       (field.Area == PivotArea.ColumnArea || field.Area == PivotArea.RowArea) &&
                                       (!webField.Visible || !(webField.Area == PivotArea.ColumnArea ||
                                                               webField.Area == PivotArea.RowArea));
            bool clearMissedValues = !field.Visible ||
                                     !(field.Area == PivotArea.ColumnArea || field.Area == PivotArea.RowArea);

            webField.Area      = field.Area;
            webField.AreaIndex = field.AreaIndex;
            webField.Visible   = field.Visible;
            if (copyAddMissedValues)
            {
                CopyMissedValuesToField(webField, model.PivotSettings.Fields);
            }
            else if (clearMissedValues)
            {
                ClearMissedValues(webField);
            }
            var adminUnitsList = AvrPivotGridHelper.GetAdministrativeUnitView(model.PivotSettings.QueryId,
                                                                              model.PivotSettings.Fields.ToList <IAvrPivotGridField>());

            foreach (PivotGridField f in pivotGrid.Fields)
            {
                WebPivotGridField webF = GetWebPivotGridFieldByName(model.PivotSettings.Fields, f.ID);
                if (f.Visible && f.Area == field.Area && f.ID != field.ID)
                {
                    webF.AreaIndex = f.AreaIndex;
                }
                if (webF.UnitLayoutSearchFieldId != -1 && webF.UnitLayoutSearchFieldId != 0)
                {
                    if (adminUnitsList == null || adminUnitsList.Count == 0 || webF.Area != PivotArea.RowArea)
                    {
                        webF.UnitLayoutSearchFieldId = -1L;
                    }
                    else if (!webF.UnitLayoutSearchFieldId.Equals(adminUnitsList[0]["Id"]))
                    {
                        webF.UnitLayoutSearchFieldId = DBNull.Value.Equals(adminUnitsList[0]["Id"])
                                                           ? -1L
                                                           : (long)adminUnitsList[0]["Id"];
                    }
                }
            }
            if (model.PivotSettings.ShowMissedValues)
            {
                AddMissedValues(model, true);
                pivotGrid.JSProperties["cpNeedCallback"] = true;
                //pivotGrid.ReloadData();
            }
            else
            {
                LayoutValidateResult validateResult = FillEmptyValuesInDataArea(model);
                pivotGrid.JSProperties["cpNeedCallback"] = validateResult.IsCancelOrUserDialogCancel();
            }
            // because AvrPivotGridHelperWeb which used inside m_CustomSummaryHandler should be re-initialized
            m_CustomSummaryHandler = null;
        }
Example #24
0
        private static PivotGridSettings CreateLayoutPivotGridSettings(AvrPivotGridModel model)
        {
            var  settings = new PivotGridSettings();
            bool readOnly = model.PivotSettings.IsPublished | !AvrPermissions.UpdatePermission;

            settings.Name = "pivotGrid";
            settings.CallbackRouteValues =
                new
            {
                Controller = "Layout",
                Action     = "PivotGridPartial",
                //queryId = model.PivotSettings.QueryId,
                layoutId = model.PivotSettings.LayoutId
            };
            settings.CustomActionRouteValues =
                new
            {
                Controller = "Layout",
                Action     = "PivotGridPartial",
                //queryId = model.PivotSettings.QueryId,
                layoutId = model.PivotSettings.LayoutId
            };
            settings.OptionsView.HorizontalScrollBarMode = model.PivotSettings.FreezeRowHeaders ? ScrollBarMode.Auto : ScrollBarMode.Hidden;
            if (model.PivotSettings.FreezeRowHeaders)
            {
                settings.Width = Unit.Percentage(99);
            }
            settings.OptionsView.ShowFilterHeaders              = false;
            settings.OptionsView.ShowColumnHeaders              = true;
            settings.OptionsView.ShowRowHeaders                 = true;
            settings.OptionsView.DataHeadersDisplayMode         = PivotDataHeadersDisplayMode.Popup;
            settings.OptionsView.DataHeadersPopupMaxColumnCount = 3;
            //settings.OptionsDataField.RowHeaderWidth = 100;
            settings.OptionsPager.Position    = PagerPosition.Bottom;
            settings.OptionsPager.RowsPerPage = BaseSettings.AvrRowsPerPage;

            // note: this option disables paging. commented by Ivan because of out of memory
            //  settings.OptionsPager.Visible = false;
            settings.OptionsBehavior.BestFitMode = PivotGridBestFitMode.FieldValue; // PivotGridBestFitMode.Cell;

            settings.CustomLoadCallbackState = CustomLoadCallbackState;

            settings.OptionsCustomization.AllowDrag   = !readOnly;
            settings.OptionsCustomization.AllowExpand = !readOnly;
            settings.OptionsCustomization.AllowDragInCustomizationForm = true;
            settings.OptionsCustomization.AllowHideFields        = AllowHideFieldsType.Always;
            settings.OptionsCustomization.CustomizationFormStyle = CustomizationFormStyle.Simple;
            settings.OptionsCustomization.AllowCustomizationForm = !readOnly;
            SetTotalSettings(settings.OptionsView, model.PivotSettings);
            if (!readOnly)
            {
                settings.PivotCustomizationExtensionSettings.Name           = "pivotCustomization";
                settings.PivotCustomizationExtensionSettings.Enabled        = true;
                settings.PivotCustomizationExtensionSettings.Visible        = true;
                settings.PivotCustomizationExtensionSettings.AllowedLayouts =
                    CustomizationFormAllowedLayouts.TopPanelOnly;
                settings.PivotCustomizationExtensionSettings.Layout      = CustomizationFormLayout.TopPanelOnly;
                settings.PivotCustomizationExtensionSettings.AllowSort   = true;
                settings.PivotCustomizationExtensionSettings.AllowFilter = false;
                settings.PivotCustomizationExtensionSettings.Height      = Unit.Percentage(100);
                settings.PivotCustomizationExtensionSettings.Width       = Unit.Percentage(100);
            }
            settings.OptionsCustomization.AllowPrefilter = false;
            settings.Prefilter.Enabled = false;
            settings.OptionsView.EnableFilterControlPopupMenuScrolling = true;
            settings.Prefilter.Criteria = CriteriaOperator.TryParse(model.PivotSettings.FilterCriteriaString);
            settings.Styles.PrefilterBuilderCloseButtonStyle.CssClass = "invisible";
            settings.Styles.PrefilterBuilderHeaderStyle.CssClass      = "roundbox";
            settings.PopupMenuCreated += PopupMenuCreated;
            settings.Styles.PrefilterBuilderMainAreaStyle.CssClass = "filterwindow";
            settings.FilterControlOperationVisibility = (sender, args) =>
            {
                WebPivotGridField webField = GetWebPivotGridFieldByName(model.PivotSettings.Fields, args.PropertyInfo.PropertyName);
                if (webField == null)
                {
                    args.Visible = false;
                    return;
                }
                switch (webField.SearchFieldType)
                {
                case SearchFieldType.ID:     //lookup
                    args.Visible = IsValidLookupClause(args.Operation);
                    break;

                case SearchFieldType.String:
                    args.Visible = IsValidStringClause(args.Operation);
                    break;

                case SearchFieldType.Date:
                    args.Visible = IsValidDateClause(args.Operation);
                    break;

                default:
                    args.Visible = IsValidDefaultClause(args.Operation);
                    break;
                }
            };
            settings.FilterControlCustomValueDisplayText = (sender, args) =>
            {
                if (args.Value == null)
                {
                    args.DisplayText = Translator.GetMessageString("FilterConrol_EmptyEnter");
                }
                else if (args.PropertyInfo.PropertyType == typeof(DateTime))
                {
                    args.DisplayText = string.Format("{0:d}", args.Value);
                }
            };
            settings.OptionsCustomization.AllowFilterInCustomizationForm = true;
            settings.Theme = GeneralSettings.Theme;
            settings.Fields.Clear();

            foreach (WebPivotGridField webField in
                     model.PivotSettings.Fields.Where(f => f.Visible && f.Area != PivotArea.FilterArea).OrderBy(f => (long)f.Area * 100000 + f.AreaIndex))
            {
                settings.Fields.Add(webField);
            }
            foreach (WebPivotGridField webField in
                     model.PivotSettings.Fields.Where(f => !f.Visible || f.Area == PivotArea.FilterArea).OrderBy(f => f.Caption))
            {
                settings.Fields.Add(webField);
            }

            settings.Init = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                if (model.ShowingPrefilter)
                {
                    pivotGrid.PrefilterCriteriaChanged += PrefilterCriteriaChanged;
                }
                pivotGrid.FieldAreaChanged += PivotGridOnFieldAreaChanged;
                pivotGrid.HeaderTemplate    = new HeaderTemplate(model);
            };
            settings.PreRender = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                pivotGrid.BeginUpdate();
                pivotGrid.HeaderTemplate = new HeaderTemplate(model);
                pivotGrid.EndUpdate();
            };

            settings.BeforeGetCallbackResult = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                if (model.ShowPrefilter)
                {
                    pivotGrid.IsPrefilterPopupVisible = true;
                    CriteriaOperator criteria = CriteriaOperator.TryParse(model.PivotSettings.FilterCriteriaString);
                    criteria = ValidatePrefilterCriteria(criteria);
                    pivotGrid.Prefilter.Criteria = criteria;

                    model.ShowPrefilter    = false;
                    model.ShowingPrefilter = true;
                    return;
                }
                model.ShowingPrefilter = false;
                pivotGrid.BeginUpdate();
                try
                {
                    pivotGrid.Prefilter.Enabled = false;
                    UpdatePivotGridField(pivotGrid, model);

                    model.PivotSettings.UpdatedField = null;
                    if (model.PivotSettings.UpdateGroupInterval)
                    {
                        PivotGroupInterval interval = GroupIntervalHelper.GetGroupInterval(model.PivotSettings.DefaultGroupInterval);
                        SetInterval(pivotGrid, interval);
                        model.PivotSettings.UpdateGroupInterval = false;
                    }
                    SetTotalSettings(pivotGrid.OptionsView, model.PivotSettings);

                    pivotGrid.OptionsView.HorizontalScrollBarMode = model.PivotSettings.FreezeRowHeaders ? ScrollBarMode.Auto : ScrollBarMode.Hidden;
                    if (model.PivotSettings.FreezeRowHeaders)
                    {
                        pivotGrid.Width = Unit.Percentage(99);
                    }
                    else
                    {
                        pivotGrid.Width = Unit.Empty;
                    }
                    pivotGrid.ReloadData();
                }
                finally
                {
                    pivotGrid.EndUpdate();
                }
            };

            //settings.ClientSideEvents.EndCallback = "layoutPivotGrid.resizePivotGridEvent";

            settings.AfterPerformCallback = (sender, e) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;

                if (pivotGrid.HeaderTemplate == null)
                {
                    pivotGrid.HeaderTemplate = new HeaderTemplate(model);
                }
                //pivotGrid.BeginUpdate();
                //pivotGrid.ReloadData();
                //pivotGrid.EndUpdate();
            };

            settings.ClientSideEvents.CallbackError = "layoutPivotGrid.onCallbackError";
            settings.ClientSideEvents.EndCallback   = "layoutPivotGrid.onEndCallback";

            settings.CustomCellDisplayText = (sender, e) =>
            {
                InitDisplayTexthandler();

                m_DisplayTextHandler.DisplayAsterisk(new WebPivotCellDisplayTextEventArgs(e));
                if (e.DataField == null)
                {
                    return;
                }
                if (model.PivotSettings.FieldsDictionary.ContainsKey(e.DataField.FieldName))
                {
                    WebPivotGridField field = model.PivotSettings.FieldsDictionary[e.DataField.FieldName];
                    m_DisplayTextHandler.DisplayCellText(new WebPivotCellDisplayTextEventArgs(e), field.CustomSummaryType, field.Precision);
                }
            };

            settings.FieldValueDisplayText = (sender, e) =>
            {
                InitDisplayTexthandler();
                var eventArgs = new WebPivotFieldDisplayTextEventArgs(e);
                m_DisplayTextHandler.DisplayAsterisk(eventArgs);
                m_DisplayTextHandler.DisplayBool(eventArgs);

                if (m_CustomSummaryHandler == null)
                {
                    var helper = new AvrPivotGridHelperWeb((ASPxPivotGrid)sender)
                    {
                        SingleSearchObject = model.PivotSettings.IsSingleSearchObject
                    };

                    m_CustomSummaryHandler = new CustomSummaryHandler(helper);
                }
                var summaryTypes = new List <CustomSummaryType>();


                List <IAvrPivotGridField> dataFields = AvrPivotGridHelper.GetFieldCollectionFromArea(model.PivotSettings.Fields,
                                                                                                     PivotArea.DataArea);
                foreach (IAvrPivotGridField field in dataFields)
                {
                    summaryTypes.Add(field.CustomSummaryType);
                    m_DisplayTextHandler.DisplayStatisticsTotalCaption(eventArgs, summaryTypes);
                }
            };

            settings.CustomSummary = (sender, e) =>
            {
                if (m_CustomSummaryHandler == null)
                {
                    var helper = new AvrPivotGridHelperWeb((ASPxPivotGrid)sender);

                    m_CustomSummaryHandler = new CustomSummaryHandler(helper);
                }

                WebPivotGridField settingsField = model.PivotSettings.Fields.Find(f => f.FieldName == e.DataField.FieldName);
                var field = e.DataField as IAvrPivotGridField;

                if (settingsField != null && field != null && ((int)field.CustomSummaryType <= 0))
                {
                    field.CustomSummaryType    = settingsField.CustomSummaryType;
                    field.BasicCountFunctionId = settingsField.BasicCountFunctionId;
                    field.AggregateFunctionId  = settingsField.AggregateFunctionId;


                    field.UnitLayoutSearchFieldId = settingsField.UnitLayoutSearchFieldId;
                    field.UnitSearchFieldAlias    = settingsField.UnitSearchFieldAlias;
                    field.SearchFieldDataType     = settingsField.SearchFieldDataType;

                    field.DefaultGroupInterval = settingsField.DefaultGroupInterval;

                    field.Ordinal           = settingsField.Ordinal;
                    field.AddMissedValues   = settingsField.AddMissedValues;
                    field.DiapasonStartDate = settingsField.DiapasonStartDate;
                    field.DiapasonEndDate   = settingsField.DiapasonEndDate;
                    field.Precision         = settingsField.Precision;

                    field.AggregateFunctionId     = settingsField.AggregateFunctionId;
                    field.BasicCountFunctionId    = settingsField.BasicCountFunctionId;
                    field.UnitLayoutSearchFieldId = settingsField.UnitLayoutSearchFieldId;
                    field.UnitSearchFieldAlias    = settingsField.UnitSearchFieldAlias;
                    field.DateLayoutSearchFieldId = settingsField.DateLayoutSearchFieldId;
                    field.DateSearchFieldAlias    = settingsField.DateSearchFieldAlias;

                    if (settingsField.IsDateTimeField)
                    {
                        field.GroupInterval = settingsField.DefaultGroupInterval;
                    }

                    field.AllowMissedReferenceValues = settingsField.AllowMissedReferenceValues;
                    field.LookupTableName            = settingsField.LookupTableName;
                    field.GisReferenceTypeId         = settingsField.GisReferenceTypeId;
                    field.ReferenceTypeId            = settingsField.ReferenceTypeId;
                    field.LookupAttributeName        = settingsField.LookupAttributeName;
                    field.HaCode = settingsField.HaCode;

                    field.AllPivotFields       = settingsField.AllPivotFields;
                    field.FieldNamesDictionary = settingsField.FieldNamesDictionary;
                }
                m_CustomSummaryHandler.OnCustomSummary(sender, new WebPivotGridCustomSummaryEventArgs(e));
            };
            settings.CustomCellStyle = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.HtmlCellPrepared = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.HtmlFieldValuePrepared = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
            };
            settings.GridLayout = (sender, args) =>
            {
                var pivotGrid = (MVCxPivotGrid)sender;
                model.PivotSettings.HasChanges = true;
                var fieldsToDelete = new List <PivotGridFieldBase>();
                foreach (PivotGridField field in pivotGrid.Fields)
                {
                    WebPivotGridField webField = GetWebPivotGridFieldByFieldName(model.PivotSettings.Fields, field.FieldName);
                    if (webField != null)
                    {
                        PivotFieldItemBase visualField =
                            pivotGrid.Fields.Data.VisualItems.Data.FieldItems.SingleOrDefault(
                                s => s.FieldName == field.FieldName);
                        Dbg.Assert(visualField != null, "field {0} is not found in pivot fields list",
                                   field.FieldName);
                        if (!visualField.Visible && visualField.Area != PivotArea.FilterArea)
                        {
                            webField.Area      = PivotArea.FilterArea;
                            webField.AreaIndex = -1;
                            webField.FilterValues.Clear();
                            webField.SortOrder = field.SortOrder;
                            webField.Width     = field.Width;
                            ClearMissedValues(webField);
                        }
                        else
                        {
                            webField.Area      = field.Area;
                            webField.AreaIndex = field.AreaIndex;
                            webField.Visible   = field.Visible;
                            webField.SortOrder = field.SortOrder;
                            webField.Width     = field.Width;
                            webField.FilterValues.Assign(field.FilterValues);
                            //if (webField.IsDateTimeField && webField.GroupInterval == PivotGroupInterval.Default)
                            //{
                            //    webField.DefaultGroupInterval = GroupIntervalHelper.GetGroupInterval(model.PivotSettings.DefaultGroupInterval);
                            //    field.GroupInterval = webField.GroupInterval;
                            //}
                        }
                    }
                    else
                    {
                        fieldsToDelete.Add(field);
                    }
                }
                foreach (PivotGridFieldBase field in fieldsToDelete)
                {
                    field.Visible   = false;
                    field.Area      = PivotArea.FilterArea;
                    field.AreaIndex = -1;
                    pivotGrid.Fields.Remove(field);
                }
                //if (model.PivotSettings.ShowMissedValues)
                //{
                //    List<IAvrPivotGridField> fields = model.PivotSettings.Fields.Cast<IAvrPivotGridField>().ToList();
                //    AvrPivotGridHelper.AddMissedValuesInRowColumnArea(model, fields);
                //}
                if (fieldsToDelete.Count > 0)
                {
                    pivotGrid.ReloadData();
                }
            };
            return(settings);
        }
Example #25
0
        public void PivotSummaryTypeParserBadValueTest()
        {
            CustomSummaryType type = AvrPivotGridHelper.ParseSummaryType(0);

            Assert.AreEqual(CustomSummaryType.Max, type);
        }
Example #26
0
        public void PivotSummaryTypeParserTest()
        {
            CustomSummaryType type = AvrPivotGridHelper.ParseSummaryType(10004002);

            Assert.AreEqual(CustomSummaryType.Count, type);
        }
Example #27
0
 public bool CanDeleteSelectedField()
 {
     return(AvrPivotGridHelper.EnableDeleteField(SelectedField, Fields));
 }