public void InstantFigures_MutatorAndAccessorById_Test() { str = new InstantFigure(InstantFigureMocks.InstantFigure_MemberRubric_FieldsAndPropertiesModel(), "InstantFigure_MemberRubric_FieldsAndPropertiesModel"); FieldsAndPropertiesModel fom = new FieldsAndPropertiesModel(); iRts = InstantFigure_Compilation_Helper_Test(str, fom); rtsq = new InstantFigures(str, "InstantSequence_Compilation_Test"); iRtseq = rtsq.New(); iRtseq.Add(iRtseq.NewFigure()); iRtseq[0, 4] = iRts[4]; isel = new InstantSelection(iRtseq); IFigures ifsel = isel.New(); IFigures isel2 = new InstantSelection(ifsel).New(); isel2.Add(isel2.NewFigure()); isel2[0, 4] = iRts[4]; Assert.Equal(iRts[4], isel2[0, 4]); }
public static IFigures Query(this IFigures figures, Func <IFigure, bool> evaluator) { IFigures view = figures.Exposition = (IFigures)figures.FiguresType.New(); view.Add(figures.AsEnumerable().AsQueryable().Where(evaluator)); return(view); }
/// <summary> /// The Query. /// </summary> /// <param name="figures">The figures<see cref="IFigures"/>.</param> /// <param name="queryFormula">The queryFormula<see cref="Func{IFigure, bool}"/>.</param> /// <returns>The <see cref="IFigures"/>.</returns> public static IFigures Query(this IFigures figures, Func <IFigure, bool> queryFormula) { IFigures view = figures.View; view.Flush(); view.Add(figures.Where(queryFormula)); return(view); }
public void Sleeve_SelectionFromFiguresMultiNesting_Test() { rtsq = new Figures(typeof(FieldsAndPropertiesModel), "InstantSequence_Compilation_Test", true); iRtseq = rtsq.Combine(); iRts = Sleeve_Compilation_Helper_Test(iRtseq, new FieldsAndPropertiesModel()); int idSeed = (int)iRts["Id"]; DateTime now = DateTime.Now; for (int i = 0; i < 250000; i++) { IFigure _iRts = iRtseq.NewFigure(); _iRts.ValueArray = iRts.ValueArray; _iRts["Id"] = idSeed + i; _iRts["Time"] = now; iRtseq.Add(_iRts); } ulong[] keyarray = new ulong[60 * 1000]; for (int i = 0; i < 60000; i++) { keyarray[i] = Unique.NewKey; } iRtseq.Add(iRtseq.NewFigure()); iRtseq[0, 4] = iRts[4]; IFigures isel1 = new Sleeves(iRtseq).Combine(); IFigures isel2 = new Sleeves(isel1).Combine(); foreach (var card in iRtseq) { isel2.Add(card); } iRts = Sleeve_Compilation_Helper_Test(iRtseq, new FieldsAndPropertiesModel()); isel2.Add(iRts); isel2[0, 4] = iRts[4]; Assert.Equal(iRts[4], isel2[0, 4]); Assert.Equal(iRtseq.Count, isel1.Count); Assert.Equal(isel1.Count, isel2.Count); }
/// <summary> /// Initializes a new instance of the <see cref="ExtractorTest"/> class. /// </summary> public ExtractorTest() { Random r = new Random(); r.NextBytes(source); str = new Figure(FigureMocks.Figure_MemberRubric_FieldsAndPropertiesModel(), "Figure_MemberRubric_FieldsAndPropertiesModel_ValueType"); FieldsAndPropertiesModel fom = new FieldsAndPropertiesModel(); table = new Figures(str, "Figures_Compilation_Test"); rctab = table.Combine(); rcobj = rctab.NewFigure(); foreach (var rubric in str.Rubrics.AsValues()) { if (rubric.FieldId > -1) { var field = fom.GetType().GetField(rubric.FigureField.Name, BindingFlags.NonPublic | BindingFlags.Instance); if (field == null) { field = fom.GetType().GetField(rubric.RubricName); } if (field == null) { var prop = fom.GetType().GetProperty(rubric.RubricName); if (prop != null) { rcobj[rubric.FieldId] = prop.GetValue(fom); } } else { rcobj[rubric.FieldId] = field.GetValue(fom); } } } for (int i = 0; i < 1000; i++) { IFigure nrcstr = rctab.NewFigure(); nrcstr.ValueArray = rcobj.ValueArray; rctab.Add(i, nrcstr); } structBytes = new byte[rctab.FigureSize]; structBytes2 = new byte[rctab.FigureSize]; rcobj.StructureTo(ref structBytes, 0); }
public void Figures_MutatorAndAccessorByName_Test() { str = new Figure(typeof(FieldsAndPropertiesModel)); FieldsAndPropertiesModel fom = new FieldsAndPropertiesModel(); iRts = Figure_Compilation_Helper_Test(str, fom); rtsq = new Figures(str, "InstantSequence_Compilation_Test"); iRtseq = rtsq.Combine(); iRtseq.Add(iRtseq.NewFigure()); iRtseq[0, nameof(fom.Name)] = iRts[nameof(fom.Name)]; Assert.Equal(iRts[nameof(fom.Name)], iRtseq[0, nameof(fom.Name)]); }
/// <summary> /// The Set. /// </summary> /// <param name="SqlConnectString">The SqlConnectString<see cref="string"/>.</param> /// <param name="cards">The cards<see cref="IFigures"/>.</param> /// <param name="Renew">The Renew<see cref="bool"/>.</param> /// <returns>The <see cref="IDeck{IDeck{IFigure}}"/>.</returns> public IDeck <IDeck <IFigure> > Set(string SqlConnectString, IFigures cards, bool Renew) { try { if (sqaf == null) { sqaf = new Sqlbase(SqlConnectString); } try { bool buildmap = true; if (cards.Count > 0) { BulkPrepareType prepareType = BulkPrepareType.Drop; if (Renew) { prepareType = BulkPrepareType.Trunc; } var ds = sqaf.Update(cards, true, buildmap, true, null, prepareType); if (ds != null) { IFigures im = (IFigures)Summon.New(cards.GetType()); im.Rubrics = cards.Rubrics; im.FigureType = cards.FigureType; im.FigureSize = cards.FigureSize; im.Add(ds["Failed"].AsValues()); return(sqaf.Insert(im, true, false, prepareType)); } else { return(null); } } return(null); } catch (SqlException ex) { throw ex; } } catch (Exception ex) { throw ex; } }
public void InstantFigures_MutatorAndAccessorByName_Test() { str = new InstantFigure(InstantFigureMocks.InstantFigure_MemberRubric_FieldsAndPropertiesModel(), "InstantFigure_MemberRubric_FieldsAndPropertiesModel"); FieldsAndPropertiesModel fom = new FieldsAndPropertiesModel(); iRts = InstantFigure_Compilation_Helper_Test(str, fom); rtsq = new InstantFigures(str, "InstantSequence_Compilation_Test"); iRtseq = rtsq.New(); iRtseq.Add(iRtseq.NewFigure()); iRtseq[0, nameof(fom.Name)] = iRts[nameof(fom.Name)]; Assert.Equal(iRts[nameof(fom.Name)], iRtseq[0, nameof(fom.Name)]); }
/// <summary> /// Initializes a new instance of the <see cref="MathsetTest"/> class. /// </summary> public MathsetTest() { instFig = new Figure(typeof(MathsetMockModel)); instMtic = new Figures(instFig, "Figures_Mathset_Test"); spcMtic = instMtic.Combine(); MathsetMockModel fom = new MathsetMockModel(); for (int i = 0; i < 1000 * 1000; i++) { var f = Mathset_Figure_Helper_Test(spcMtic, fom); f["NetPrice"] = (double)f["NetPrice"] + i; f["NetCost"] = (double)f["NetPrice"] / 2; spcMtic.Add(i, f); } }
/// <summary> /// The ExecuteQuery. /// </summary> /// <param name="figures">The figures<see cref="IFigures"/>.</param> /// <param name="filter">The filter<see cref="FigureFilter"/>.</param> /// <param name="sort">The sort<see cref="FigureSort"/>.</param> /// <param name="stage">The stage<see cref="int"/>.</param> /// <param name="appendfigures">The appendfigures<see cref="IFigure[]"/>.</param> /// <returns>The <see cref="IFigures"/>.</returns> private static IFigures ExecuteQuery(IFigures figures, FigureFilter filter, FigureSort sort, int stage = 1, IFigure[] appendfigures = null) { IFigures table = figures; IFigures _figures = null; IFigures view = figures.View; if (appendfigures == null) { if (stage > 1) { _figures = view; } else if (stage < 0) { _figures = figures; view = figures.View; view.Flush(); } else { _figures = table; } } if (filter != null && filter.Terms.Count > 0) { filter.Evaluator = filter.GetExpression(stage).Compile(); view.QueryFormula = filter.Evaluator; if (sort != null && sort.Terms.Count > 0) { bool isFirst = true; IEnumerable <IFigure> ief = null; IOrderedQueryable <IFigure> ioqf = null; if (appendfigures != null) { ief = appendfigures.Where(filter.Evaluator); } else { ief = _figures.Where(filter.Evaluator); } foreach (SortTerm fcs in sort.Terms) { if (isFirst) { ioqf = ief .AsQueryable() .OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } else { ioqf = ioqf .ThenBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } isFirst = false; } if (appendfigures != null) { view.Add(ioqf.ToArray()); } else { view.Flush(); view.Add(ioqf.ToArray()); } } else { if (appendfigures != null) { view.Add(appendfigures.Where(filter.Evaluator).ToArray()); } else { view.Flush(); view.Add(figures.Where(filter.Evaluator).ToArray()); } } } else if (sort != null && sort.Terms.Count > 0) { view.QueryFormula = null; view.Filter.Evaluator = null; bool isFirst = true; IOrderedQueryable <IFigure> ioqf = null; foreach (SortTerm fcs in sort.Terms) { if (isFirst) { if (appendfigures != null) { ioqf = appendfigures .AsQueryable() .OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } else { ioqf = _figures .AsQueryable() .OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } } else { ioqf = ioqf .ThenBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } isFirst = false; } if (appendfigures != null) { view.Add(ioqf); } else { view.Add(ioqf); } } else { if (stage < 2) { view.QueryFormula = null; view.Filter.Evaluator = null; } if (appendfigures != null) { view.Add(appendfigures); } else { view.Add(figures); } } // view.PagingDetails.ComputePageCount(view.Count); if (stage > 0) { table.View = view; } return(view); }
private static IFigures ExecuteQuery(IFigures _figures, FigureFilter filter, FigureSort sort, int stage = 1, IFigure[] appendfigures = null) { IFigures trell = _figures; IFigures figures = null; IFigures view = _figures.Exposition; if (appendfigures == null) { if (stage > 1) { figures = view; } else if (stage < 0) { figures = _figures; view = _figures.Exposition = (IFigures)_figures.FiguresType.New(); } else { figures = trell; } } if (filter != null && filter.Terms.Count > 0) { filter.Evaluator = filter.GetExpression(stage).Compile(); view.Query = filter.Evaluator; if (sort != null && sort.Terms.Count > 0) { bool isFirst = true; IEnumerable <IFigure> tsrt = null; IOrderedQueryable <IFigure> ttby = null; if (appendfigures != null) { tsrt = appendfigures.AsEnumerable().Where(filter.Evaluator); } else { tsrt = figures.AsEnumerable().Where(filter.Evaluator); } foreach (SortTerm fcs in sort.Terms) { if (isFirst) { ttby = tsrt.AsQueryable().OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } else { ttby = ttby.ThenBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } isFirst = false; } if (appendfigures != null) { view.Add(ttby.ToArray()); } else { view.Clear(); view.Add(ttby.ToArray()); } } else { if (appendfigures != null) { view.Add(appendfigures.AsQueryable().Where(filter.Evaluator).ToArray()); } else { view.Clear(); view.Add(figures.AsEnumerable().AsQueryable().Where(filter.Evaluator).ToArray()); } } } else if (sort != null && sort.Terms.Count > 0) { view.Query = null; view.Filter.Evaluator = null; bool isFirst = true; IOrderedQueryable <IFigure> ttby = null; foreach (SortTerm fcs in sort.Terms) { if (isFirst) { if (appendfigures != null) { ttby = appendfigures.AsQueryable().OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } else { ttby = figures.AsEnumerable().AsQueryable().OrderBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } } else { ttby = ttby.ThenBy(o => o[fcs.RubricName], fcs.Direction, Comparer <object> .Default); } isFirst = false; } if (appendfigures != null) { view.Add(ttby); } else { view.Add(ttby); } } else { if (stage < 2) { view.Query = null; view.Filter.Evaluator = null; } if (appendfigures != null) { view.Add(appendfigures); } else { view.Add(figures); } } // view.PagingDetails.ComputePageCount(view.Count); if (stage > 0) { trell.Exposition = view; } return(view); }