private List <TileQueryLogic> GenerateQueryLogicFromAppTile(AppTile appTile) { List <TileQueryLogic> logicList = new List <TileQueryLogic>(); TileQueryLogic logic = null; #region switch switch (appTile.logicType) { case LogicType.Selected: logic = SetTileQueryLogic(appTile.BasicLogic, appTile); logicList.Add(logic); break; case LogicType.Filtered: foreach (var item in (appTile.BasicLogic as AND).LogicElements) { logic = SetTileQueryLogic(item, appTile); logicList.Add(logic); } break; case LogicType.Tagged: logic = SetTileQueryLogic(appTile.BasicLogic, appTile); logicList.Add(logic); break; default: break; } #endregion return(logicList); }
private TileQueryLogic SetTileQueryLogic(Logic logic, AppTile appTile) { TileQueryLogic qc = new TileQueryLogic(); if ((logic as IN <string>) != null) { qc.FiledName = (logic as IN <string>).Field.Name; qc.FiledValue = string.Join(",", (logic as IN <string>).FieldValue.GetValue()); } else { qc.FiledName = (logic as IN <Int32>).Field.Name; qc.FiledValue = string.Join(",", (logic as IN <Int32>).FieldValue.GetValue()); } if (appTile.Id != null) { qc.TileId = appTile.Id.Value; } return(qc); }