private bool DoCalculate(OlapControl Grid, ICubeAddress Address, out object Value, out CellFormattingProperties Formatted) { var fEvent = new CalcMemberArgs(); fEvent.fEvaluator = new Evaluator(Grid, Address); if (Address.IsCalculatedByExpression) { Value = DoCalculateExpression(Grid, Address, fEvent.fEvaluator); fEvent.ReturnValue = Address.Measure.FormatValue(Value, Address.Measure.DefaultFormat); Formatted = new CellFormattingProperties(fEvent.ReturnValue, fEvent.ReturnBackColor, fEvent.ReturnForeColor, fEvent.fFontStyle, fEvent.fFontName, fEvent.fFontSize); return(Value != null); } fEvent.fValue = null; Grid.EventCalcMember(fEvent); Formatted = new CellFormattingProperties(fEvent.ReturnValue, fEvent.ReturnBackColor, fEvent.ReturnForeColor, fEvent.fFontStyle, fEvent.fFontName, fEvent.fFontSize); Value = fEvent.ReturnData; return(Value != null); }
internal ClientDimension(Dimension d, OlapControl grid) { DisplayName = d.DisplayName; Description = d.Description; Hierarchies = d.Hierarchies.Where(item => item.Visible).Select(item => new ClientHierarchy(item, grid)) .ToArray(); }
public ICubeAddress(OlapControl AGrid, IList <Member> AMembers) { FMeasureID = string.Empty; FModeID = 0; FLevelsAndMembers = CreateSortedList(); FGrid = AGrid; var L = AMembers.Count; foreach (var m in AMembers) { if (m.FMemberType == MemberType.mtMeasure) { FMeasureID = m.UniqueName; } else { if (m.FMemberType == MemberType.mtMeasureMode) { FModeID = m.Parent.Children.IndexOf(m); } else { FLevelsAndMembers.Add(m.FLevel.ID, m); } } } var M = AGrid.FEngine.GetMetaline(FLevelsAndMembers.Keys); FLineID = M.fID; FLineIdx = M.GetLineIdx(FLevelsAndMembers.Values); FHierID = M.GetHierID(FLevelsAndMembers.Values); }
internal HistoryManager(OlapControl grid) { fGrid = grid; Updater = new Updater(this); Updater.UpdateEnd += Updater_UpdateEnd; }
internal GenericFilterGrid(OlapControl grid) { ActionString = RadarUtils.GetResStr("rsActions"); ItemString = RadarUtils.GetResStr("rsItem"); FilterDescriptionString = RadarUtils.GetResStr("rsFilterDescription"); EditFilterString = RadarUtils.GetResStr("rsEditFilter"); ResetFilterString = RadarUtils.GetResStr("repResetFilter"); if (grid.Active) { foreach (var m in grid.Measures) { if (m.Filter != null) { Items.Add(new GenericFilterGridItem(m)); } } foreach (var d in grid.Dimensions) { foreach (var h in d.Hierarchies) { var s = h.FilterDescription; if (!string.IsNullOrEmpty(s)) { Items.Add(new GenericFilterGridItem(h)); } } } } }
internal static JsonDialog RenderMassage(OlapControl Grid, Exception E) { var result = new JsonDialog(); result.title = RadarUtils.GetResStr("rsErrorMessage"); var buttons = new List <JsonDialogButton>(); if (!string.IsNullOrEmpty(Grid.SupportEMail)) { buttons.Add(new JsonDialogButton { text = "Refresh", //RadarUtils.GetResStr("rsSendToSupport"), code = "window.location = window.location.pathname; " + "RadarSoft.$(this).dialog('close');" }); } buttons.Add(new JsonDialogButton { text = RadarUtils.GetResStr("rsClose"), code = "RadarSoft.$(this).dialog('close')" }); result.data = "<div width='500'>" + "<div style='width:490px;margin:5px;overflow:auto;border:2px inset #C0C0C0;;color:#404040;;height:90px;'>" + E.Message.Replace("\n", "<br />") + "</div>" + "</div>"; result.buttons = buttons.ToArray(); return(result); }
protected OlapAxisLayoutSerializer(OlapControl grid, bool OnlyGraphicalPart) : this() { // OLAPWINFORM fGrid = grid; LoadFrom(grid); }
internal MetaLine(OlapControl AGrid, IList <int> LevelIndexes) : this() { FGrid = AGrid; fLevels = new List <Level>(LevelIndexes.Count); var b = 1; fIdxArray = new List <long>(LevelIndexes.Count); fHierArray = new List <int>(LevelIndexes.Count); fLines = new SortedList <string, Line>(); if (LevelIndexes.Count == 0) { return; } for (var i = 0; i < LevelIndexes.Count; i++) { var L = AGrid.FEngine.FLevelsList[LevelIndexes[i]]; fLevels.Add(L); fIdxArray.Add(FLimit); fHierArray.Add(b); FLimit *= L.CompleteMembersCount; b *= L.FDepth; } fID = RadarUtils.Join('.', LevelIndexes); #if DEBUG if (fID == "5") { } #endif }
public ErrorData(Exception E, OlapControl grid) { try { Message = E.Message; GridVersion = grid.GetType().Name + ": " + grid.GetType().GetTypeInfo().Assembly.GetName().Version; if (grid.Cube != null) { CubeVersion = grid.Cube.GetType().Name + ": " + grid.Cube.GetType().GetTypeInfo().Assembly.GetName().Version; } else { CubeVersion = "Cube is not connected."; } if (grid.callbackExceptionData != null) { foreach (var item in grid.callbackExceptionData) { RequestInfo = item.Key + ": " + item.Value; } } StackTrace = E.StackTrace; Support = grid.SupportEMail; } catch (Exception eee) { Message = eee.Message; StackTrace = eee.StackTrace; } }
internal void Init(OlapControl grid) { var cube = grid.Cube; if (cube != null) { cube.InitSessionData(grid); } CubeID = grid.Cube != null ? grid.Cube.ID : ""; var tmp = new MemoryStream(); var bw = new BinaryWriter(tmp); (grid as IStreamedObject).WriteStream(bw, null); length = Convert.ToInt32(tmp.Length); var b = tmp.ToArray(); tmp = null; ms = new MemoryStream(); using (var ds = new DeflateStream(ms, CompressionMode.Compress, true)) { ds.Write(b, 0, b.Length); } }
internal void RestoreAfterSerialization(OlapControl grid) { FGrid = grid; foreach (var d in this) { d.RestoreAfterSerialization(grid); } }
internal virtual void Restore(OlapControl grid) { if (grid.IsRestored) { return; } var rc = grid.Cube; if (rc == null) { return; } rc.RestoreCube(); grid.Cube = rc; grid.BeginUpdate(); try { ms.Position = 0; var ds = new DeflateStream(ms, CompressionMode.Decompress); var b = new byte[length + 4096]; var br = ReadAllBytesFromStream(ds, b); var tmp = new MemoryStream(b); tmp.Position = 0; var reader = new BinaryReader(tmp); (grid as IStreamedObject).ReadStream(reader, null); grid.FLayout.fGrid = grid; if (grid.FCellSet != null) { grid.FCellSet.FGrid = grid; grid.FCellSet.RestoreAfterSerialization(grid); } if (grid.FCellSet != null) { var i = grid.CellSet.FValueSortedColumn; if (i >= 0) { grid.CellSet.Rebuild(); grid.CellSet.ValueSortedColumn = i; } } grid.IsRestored = true; } #if DEBUG catch (Exception e) { } #endif finally { grid.EndUpdate(); } }
internal ChartCellDetails(OlapControl grid, List <Level> clue, int[] memberIDs) { fGrid = grid; Address = new ICubeAddress(fGrid); for (var i = 0; i < clue.Count; i++) { Address.AddMember(clue[i].GetMemberByID(memberIDs[i])); } }
internal virtual void LoadTo(OlapControl aGrid) { DebugLogging.WriteLine("OlapAxisLayoutSerializer.LoadTo"); if (!aGrid.Active) { return; } aGrid.FEmptyDataString = EmptyDataString; aGrid.FCurrencyFormatString = CurrencyFormatString; aGrid.BeginUpdate(); Clear(aGrid); if (AxesLayout != null) { aGrid.FLayout.fMeasureLayout = AxesLayout.MeasureLayout; aGrid.FLayout.fMeasurePosition = AxesLayout.MeasurePosition; aGrid.FLayout.fHideMeasureIfPossible = AxesLayout.HideMeasureIfPossible; aGrid.FLayout.fHideMeasureModesIfPossible = AxesLayout.HideMeasureModesIfPossible; aGrid.FCellSet.FSortingDirection = AxesLayout.ValueSortingDirection; aGrid.FCellSet.ValueSortedColumn = AxesLayout.ValueSortedColumn; } var assignedMeasures = aGrid.Measures.Where(item => item.Visible).ToList(); LoadMeasuresXandY(aGrid, assignedMeasures); LoadHierarchies(aGrid, assignedMeasures); aGrid.FCellSet.Rebuild(); LoadMeasures(aGrid); assignedMeasures = aGrid.Measures.Where(item => item.Visible).ToList(); aGrid.FCellSet.Rebuild(); if (AxesLayout != null) { aGrid.FCellSet.FSortingDirection = AxesLayout.ValueSortingDirection; aGrid.FCellSet.ValueSortedColumn = AxesLayout.ValueSortedColumn; } foreach (var item in assignedMeasures) { aGrid.Pivoting(item, LayoutArea.laRow, null, LayoutArea.laNone); } LoadComments(aGrid); LoadColumnsWidth(aGrid); aGrid.EndUpdate(); }
public ICubeAddress(OlapControl AGrid) { FGrid = AGrid; FLineID = string.Empty; FLineIdx = 0; FHierID = 0; FMeasureID = string.Empty; FModeID = 0; FLevelsAndMembers = CreateSortedList(); }
private void SaveCubeData(OlapControl grid) { //var ms = new MemoryStream(); //grid.SaveCompressed(ms, StreamContent.CubeData); //ms.Position = 0; //var b = new byte[ms.Length]; //ms.Read(b, 0, (int)ms.Length); //_StreamData = Convert.ToBase64String(b, Base64FormattingOptions.None); }
public MvcJsonSettings(OlapControl grid) : base(grid) { var olapAnalysis = grid as OlapAnalysis; callbackController = olapAnalysis.CallbackController; callbackAction = olapAnalysis.CallbackAction; exportController = olapAnalysis.ExportController; exportAction = olapAnalysis.ExportAction; filterClientId = olapAnalysis.Filter.ClientID; }
private void LoadComments(OlapControl grid) { grid.FCellSet.fComments.Clear(); if (CommentStrings != null) { for (var i = 0; i < CommentStrings.Length; i++) { var a = CommentAddresses[i].GetCubeAddress(grid); grid.FCellSet.fComments.Add(a, CommentStrings[i]); } } }
internal ICubeAddress(OlapControl AGrid, string ALineID, int AHierID, long ALineIdx, string AMeasureID, int AModeID) { FLevelsAndMembers = CreateSortedList(); FGrid = AGrid; FLineID = ALineID; FHierID = AHierID; FLineIdx = ALineIdx; FMeasureID = AMeasureID; FModeID = AModeID; SilentInit(); }
internal void RestoreAfterSerialization(OlapControl grid) { ClearCache(); FGrid = grid; foreach (var m in this) { m.RestoreAfterSerialization(grid); } if (FLevel != null) { FLevel.RestoreAfterSerialization(grid); } }
public virtual void InitControlData(CellSet.CellSet cs, OlapControl grid) { if (grid.callbackException != null) { exception = SessionTimeoutDialog.RenderMassage(grid, grid.callbackException); return; } Cellset = new RCellset(cs, grid.MaxTextLength); Layout = new ClientLayout(grid.AxesLayout); chartsType = grid.ChartsType; analysisType = "grid"; }
internal void JScriptCorrection(OlapControl grid) { var s = "javascript:{RadarSoft.$('#" + grid.ClientID + "').data('grid')}"; if (MenuItemValue.StartsWith(s)) { MenuItemValue = MenuItemValue.Substring(s.Length); } MenuItemValue = MenuItemValue.Replace("javascript:olapgrid_manager", ""); foreach (var mi in ChildItems) { mi.JScriptCorrection(grid); } }
internal void Restore(OlapControl grid, List <Measure> assignedMeasures) { MeasureGroup mg = null; foreach (var s in Measures) { var m = grid.Measures.Find(s); if (m != null) { mg = grid.Pivoting(m, LayoutArea.laRow, mg, null); assignedMeasures.Remove(m); } } }
internal ChartCellDetails(ChartCellDetails source) { fGrid = source.fGrid; Address = source.Address.Clone(); _XValue = source.XValue; _YValue = source.YValue; _XValueFormatted = source.XValueFormatted; _YValueFormatted = source.YValueFormatted; _SizeValue = source.SizeValue; _SizeValueFormatted = source.SizeValueFormatted; _ShapeValue = source.ShapeValue; _ShapeValueFormatted = source.ShapeValueFormatted; _ColorValue = source.ColorValue; _ColorValueFormatted = source.ColorValueFormatted; fSeries = source.fSeries; _descr = source._descr; }
private FileStreamResult SaveSettings(string fileName) { string tempFile = Cube.SessionState.WorkingDirectoryName + fileName + ".dat"; using (FileStream fileStream = File.Create(tempFile)) { OlapControl.SaveCompressed(fileStream, StreamContent.All); } FileStream fS = File.Open(tempFile, FileMode.Open); var res = new FileStreamResult(fS, "application/octet-stream") { FileDownloadName = fileName + ".dat" }; return(res); }
void IStreamedObject.ReadStream(BinaryReader reader, object options) { FGrid = (OlapControl)options; StreamUtils.CheckTag(reader, Tags.tgEngine); for (var exit = false; !exit;) { var tag = StreamUtils.ReadTag(reader); int c; switch (tag) { case Tags.tgEngine_Levels: c = StreamUtils.ReadInt32(reader); FLevelsList = new List <Level>(c); for (var i = 0; i < c; i++) { var l = FGrid.Dimensions.FindLevel(StreamUtils.ReadString(reader)); FLevelsList.Add(l); } break; case Tags.tgEngine_Metalines: c = StreamUtils.ReadInt32(reader); FMetaLines = new SortedList <string, MetaLine>(c); for (var i = 0; i < c; i++) { var s = StreamUtils.ReadString(reader); StreamUtils.ReadTag(reader); // skip Tags.tgMetaLine var m = (MetaLine)StreamUtils.ReadTypedStreamedObject(reader, FGrid); FMetaLines.Add(s, m); } break; case Tags.tgEngine_EOT: exit = true; break; default: StreamUtils.SkipValue(reader); break; } } }
private void LoadMeasuresXandY(OlapControl grid, List <Measure> assignedMeasures) { if (!string.IsNullOrEmpty(AxesLayout.XMeasure)) { var m = grid.Measures.Find(AxesLayout.XMeasure); if (m != null) { grid.Pivoting(m, LayoutArea.laColumn, null, LayoutArea.laNone); assignedMeasures.Remove(m); } } if (AxesLayout.YMeasures != null) { foreach (var gm in AxesLayout.YMeasures) { gm.Restore(grid, assignedMeasures); } } }
internal void RestoreAfterSerialization(OlapControl grid) { var old = grid.Engine; FGrid = grid; FCube = grid.Cube; FCube.FEngineList.Remove(old); FCube.FEngineList.Add(this); if (FCube.fCallbackException != null) { FGrid.callbackException = FCube.fCallbackException; } FGrid.FEngine = this; foreach (var m in FMetaLines.Values) { m.FGrid = grid; } }
internal virtual void LoadFrom(OlapControl grid) { DebugLogging.WriteLine("OlapAxisLayoutSerializer.LoadFrom"); EmptyDataString = grid.FEmptyDataString; CurrencyFormatString = grid.FCurrencyFormatString; grid.RefreshChartsType(); ChartsType = grid.ChartsType; TrendSerialize(grid); AxesLayout = new SerializedLayout(); AxesLayout.Init(grid); var lh = new List <SerializedHierarchy>(); foreach (var d in grid.Dimensions) { foreach (var h in d.Hierarchies) { lh.Add(new SerializedHierarchy(h)); } } Hierarchies = lh.ToArray(); if (grid.FCellSet.fComments.Count > 0) { var ca = new List <SerializedICubeAddress>(grid.FCellSet.fComments.Count); var cs = new List <string>(grid.FCellSet.fComments.Count); foreach (var k in grid.FCellSet.fComments) { ca.Add(new SerializedICubeAddress(k.Key)); cs.Add(k.Value); } CommentAddresses = ca.ToArray(); CommentStrings = cs.ToArray(); } SaveCubeData(grid); }
public ICubeAddress GetCubeAddress(OlapControl grid) { var a = new ICubeAddress(grid); if (!string.IsNullOrEmpty(MeasureUniqueName)) { a.Measure = grid.Measures.Find(MeasureUniqueName); if (a.Measure == null) { a.Measure = grid.Measures.FindByDisplayName(MeasureDisplayName); } if (a.Measure != null) { a.MeasureMode = a.Measure.ShowModes.Find(MeasureMode); } } if (Levels != null) { for (var i = 0; i < Levels.Length; i++) { var l = grid.Dimensions.FindLevel(Levels[i]); Member m = null; if (l != null) { m = l.FindMember(Members[i]); } if (m != null) { a.AddMember(m); } } } a.Tag = Tag; return(a); }