private string MakeParametersList(ParameterListSyntax syntax) { var args = syntax.Parameters; StringBuilder str = new StringBuilder(); if (args.Count > 0) { var fstArg = args[0]; if (fstArg.IsExtensionParameter()) this.AppendCompileIssue(syntax, IssueType.Error, IssueId.ExtensionMethodNotSupport); foreach (var arg in args) { var info = _semanticModel.GetDeclaredSymbol(arg); if (!info.Type.IsScriptSymbol()) { this.AppendCompileIssue(syntax, IssueType.Error, IssueId.UseNonScript, info.Type); } if (arg.Default != null) { this.AppendCompileIssue(syntax, IssueType.Error, IssueId.DefaultParamNotSupport); } str.Append(_semanticModel.GetParameterSymbolName(arg)).Append(", "); } str.RemoveEnd(", "); } return str.ToString(); }
public override StringBuilder BuildInsertColumns(MappingInfo.IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); foreach (var pmi in map.PropertyMaps) { b.Append(_tr.GetEscapedColumnName(pmi.ColumnName)).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public virtual StringBuilder BuildSelectColumns(IObjectMapInfo map) { StringBuilder b = new StringBuilder(); foreach (var pmi in map.PropertyMaps) { b.Append(_tr.GetEscapedColumnName(pmi.ColumnName)).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public virtual StringBuilder BuildOrderSelectColumns(OrderCollection order, IEnumerable<SingleEntityView> svList) { _str = new StringBuilder(); foreach (var o in order) { _str.Append(_oev.GetOrderByClause(o.OrderExpression, svList)); _str.Append(_tr.ColumnDelimiter); } _str.RemoveEnd(_tr.ColumnDelimiter); return _str; }
public virtual StringBuilder BuildInsertColumns(IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); foreach (var pmi in map.PropertyMaps) { if (map.PrimaryKeyGenerate == PrimaryKeyGenerate.Auto && map.PrimaryKeyMaps.Contains(pmi)) continue; b.Append(_tr.GetEscapedColumnName(pmi.ColumnName)).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public virtual StringBuilder BuildUpdateSets(IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pmi in map.NonPKPropertyMaps) { b.Append(_tr.GetEscapedColumnName(pmi.ColumnName)); b.Append(_tr.Equal).Append(_tr.GetValueString(r.GetPropertyValue(pmi.PropertyName))); b.Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public string ToJsonString(object instance) { var list = instance as IEnumerable; StringBuilder str = new StringBuilder(); foreach (var item in list) { str.Append(item.ToJsonString()).Append(","); } if (str.Length > 0) str.RemoveEnd(','); return str.Bracketing(StringPair.SquareBracket).ToString(); }
public string ToJsonString(object instance) { var dict = instance as IEnumerable; StringBuilder str = new StringBuilder(); foreach (dynamic kvp in dict) { str.AppendFormat("\"{0}\":{1},", kvp.Key, JsonExtension.ToJsonString(kvp.Value)); } if (str.Length > 0) str.RemoveEnd(','); return str.Bracketing(StringPair.CurlyBracket).ToString(); }
private string MakeInterfacesList(ClassDeclarationSyntax syntax) { var interfaces = _semanticModel.GetDeclaredSymbol(syntax).Interfaces; StringBuilder str = new StringBuilder(); foreach (var info in interfaces) { if (!info.IsScriptSymbol()) { this.AppendCompileIssue(syntax, IssueType.Error, IssueId.UseNonScript, info); } str.AppendFormat("{0}, ", info.GetTypeSymbolName()); } if (interfaces.Count() > 0) str.RemoveEnd(", "); return str.ToString(); }
public override StringBuilder BuildInsertValues(MappingInfo.IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pmi in map.PropertyMaps) { if (map.PrimaryKeyGenerate == PrimaryKeyGenerate.Customized && map.PrimaryKeyMaps.Contains(pmi)) { string sequenceName = map.PKGenerateString.RemoveBegin(ConstantString.SEQ_Prefix); b.Append(sequenceName).Append(_tr.MemberAccess).Append(ConstantString.SEQ_NextVal).Append(_tr.ColumnDelimiter); continue; } b.Append(_tr.GetValueString(r.GetPropertyValue(pmi.PropertyName))).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public virtual StringBuilder BuildInsertValues(IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pmi in map.PropertyMaps) { if (map.PrimaryKeyGenerate == PrimaryKeyGenerate.Auto && map.PrimaryKeyMaps.Contains(pmi)) continue; //Note:special handling Guid when insert, must use '*', not same as WHERE {Guid{*}} object val = r.GetPropertyValue(pmi.PropertyName); if (val is Guid) b.Append(_tr.GetValueString(val.ToString())).Append(_tr.ColumnDelimiter); else b.Append(_tr.GetValueString(val)).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return b; }
public override StringBuilder BuildInsertValues(MappingInfo.IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pmi in map.PropertyMaps) { if (map.PrimaryKeyGenerate == PrimaryKeyGenerate.Customized && map.PrimaryKeyMaps.Contains(pmi)) { string sequenceName = map.PKGenerateString.RemoveBegin(ConstantString.SEQ_Prefix); b.Append(sequenceName).Append(_tr.MemberAccess).Append(ConstantString.SEQ_NextVal).Append(_tr.ColumnDelimiter); continue; } b.Append(_tr.GetValueString(r.GetPropertyValue(pmi.PropertyName))).Append(_tr.ColumnDelimiter); } b.RemoveEnd(_tr.ColumnDelimiter); return(b); }
private string MakeInterfacesList(ClassDeclarationSyntax syntax) { var interfaces = _semanticModel.GetDeclaredSymbol(syntax).Interfaces; StringBuilder str = new StringBuilder(); foreach (var info in interfaces) { if (!info.IsScriptSymbol()) { this.AppendCompileIssue(syntax, IssueType.Error, IssueId.UseNonScript, info); } str.AppendFormat("{0}, ", info.GetTypeSymbolName()); } if (interfaces.Count() > 0) { str.RemoveEnd(", "); } return(str.ToString()); }
public virtual StringBuilder BuildWherePrimaryKey(IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pki in map.PrimaryKeyMaps) { b.Append(_tr.GetEscapedColumnName(pki.ColumnName)); object right = r.GetPropertyValue(pki.PropertyName); if (right == null) { b.Append(_tr.Is); } else { b.Append(_tr.Equal); } b.Append(_tr.GetValueString(right)); b.Append(_tr.And); } b.RemoveEnd(_tr.And); return(b); }
public static StringBuilder FCBuilder(StringBuilder FCString, StringBuilder funbuilder = null) { if (FCString == null) { return(null); } var noWildOrs = new string[] { "~_or_", "~_~_", "~,_" }; var wildOrs = new string[] { ",_", "_~_", "_or_" }; var noWildAnds = new string[] { "~_&&_", "~_and_" }; var wildAnds = new string[] { "_&&_", "_and_" }; var abbyAlts = new string[] { "abbybot", "abby_kaioken" }; FCString.Replace(" ", "_").Replace(abbyAlts, "abigail_williams"); if (FCString.Length > 0) { if (!FCString.EndsWith('~')) { FCString.Append("*"); } else { FCString.RemoveEnd(1); } } if (FCString.Contains(wildOrs)) { FCString.AppendStartEnd("{", "}"); FCString.Replace(noWildOrs, " ~ ").Replace(wildOrs, "* ~ "); } FCString.Replace(noWildAnds, " ").Replace(wildAnds, "* "); while (FCString.Contains("**")) { FCString.Replace("**", "*"); } return(FCString); }
public virtual StringBuilder BuildWherePrimaryKey(IObjectMapInfo map, object entity) { StringBuilder b = new StringBuilder(); IReflector r = Reflector.Bind(entity); foreach (var pki in map.PrimaryKeyMaps) { b.Append(_tr.GetEscapedColumnName(pki.ColumnName)); object right = r.GetPropertyValue(pki.PropertyName); if (right == null) b.Append(_tr.Is); else b.Append(_tr.Equal); b.Append(_tr.GetValueString(right)); b.Append(_tr.And); } b.RemoveEnd(_tr.And); return b; }
protected override void WndProc(ref Message m) { var message = (Utils.ControlExtensions.WindowsMessage)m.Msg; Graphics graphics; Keys key; System.Drawing.SizeF size; System.Drawing.Point point; RectangleF rect; SolidBrush brush; Brush fontBrush; StringFormat stringFormat; switch (message) { case ControlExtensions.WindowsMessage.CREATE: using (graphics = this.CreateGraphics()) { tm = graphics.GetTextMetrics(this.Font); } nCharX = tm.tmAveCharWidth; nCharY = tm.tmHeight; this.BackColor = SystemColors.Window; builder = new StringBuilder(); break; case ControlExtensions.WindowsMessage.SIZE: var loHigh = m.LParam.ToLowHiWord(); nWindowX = loHigh.Low; nWindowCharsX = Math.Max(1, nWindowX / nCharX); nWindowY = loHigh.High; nWindowCharsY = Math.Max(1, nWindowY / nCharY); if (caret != null) { caret.Position = new System.Drawing.Point(0, 0); } break; case ControlExtensions.WindowsMessage.KEYDOWN: key = (Keys)m.WParam; switch (key) { case Keys.Home: nCaretPosX = 0; break; case Keys.End: nCaretPosX = nWindowCharsX - 1; break; case Keys.PageUp: nCaretPosY = 0; break; case Keys.PageDown: nCaretPosY = nWindowCharsY - 1; break; case Keys.Left: nCaretPosX = Math.Max(nCaretPosX - 1, 0); break; case Keys.Right: nCaretPosX = Math.Min(nCaretPosX + 1, nWindowCharsX - 1); break; case Keys.Up: nCaretPosY = Math.Max(nCaretPosY - 1, 0); break; case Keys.Down: nCaretPosY = Math.Min(nCaretPosY + 1, nWindowCharsY - 1); break; case Keys.Delete: if (builder.Length > 0) { builder.RemoveEnd(1); caret.Hide(); using (graphics = this.CreateGraphics()) { brush = new SolidBrush(this.BackColor); fontBrush = SystemBrushes.WindowText; stringFormat = new StringFormat(StringFormatFlags.MeasureTrailingSpaces); size = graphics.MeasureString(this.Text, this.Font, int.MaxValue, stringFormat); rect = new RectangleF(0, 0, size.Width, size.Height); point = new System.Drawing.Point((int)rect.Right, (int)rect.Top); graphics.FillRectangle(brush, this.ClientRectangle); graphics.DrawString(this.Text, this.Font, fontBrush, rect.Location); brush.Dispose(); } caret.Position = point; caret.Show(); } return; } break; case ControlExtensions.WindowsMessage.CHAR: var ch = (char)m.WParam; key = ch.ToKey(); switch (key) { case Keys.Back: this.SendMessage(ControlExtensions.WindowsMessage.KEYDOWN, (int)Keys.Delete, 1L); break; case Keys.Tab: do { this.SendMessage(ControlExtensions.WindowsMessage.CHAR, ' ', 1L); }while (nCaretPosX % 4 != 0); break; case Keys.Return: nCaretPosX = 0; if (++nCaretPosY == nWindowCharsY) { nCaretPosY = 0; } break; case Keys.Escape: case Keys.LineFeed: this.Beep(ControlExtensions.BeepType.OK); break; default: builder.Append(key.ToAscii()); caret.Hide(); using (graphics = this.CreateGraphics()) { brush = new SolidBrush(this.BackColor); fontBrush = SystemBrushes.WindowText; stringFormat = new StringFormat(StringFormatFlags.MeasureTrailingSpaces); size = graphics.MeasureString(this.Text, this.Font, int.MaxValue, stringFormat); rect = new RectangleF(0, 0, size.Width, size.Height); point = new System.Drawing.Point((int)rect.Right, (int)rect.Top); graphics.FillRectangle(brush, this.ClientRectangle); graphics.DrawString(this.Text, this.Font, fontBrush, rect.Location); brush.Dispose(); } caret.Position = point; caret.Show(); break; } break; case ControlExtensions.WindowsMessage.PAINT: break; case ControlExtensions.WindowsMessage.SETFOCUS: caret = new Caret(this, 0, this.Height); caret.Position = new System.Drawing.Point(0, 0); caret.Show(); break; case ControlExtensions.WindowsMessage.KILLFOCUS: if (caret != null) { caret.Dispose(); } break; } base.WndProc(ref m); }
public virtual StringBuilder BuildSelectColumns(View view) { Visit(view); return(_str.RemoveEnd(_tr.ColumnDelimiter)); }
//Note:Json standard only support 6 data types (Null, Boolean, Number, String, Object and Array) public static string ToJsonString(this object instance) { if (instance == null) { return(JsonConstant.Null); } //Note:As the instance!=null, we don't need check Nullable<T> Type t = instance.GetType(); //Note:before go to normal, check if the customized extend converter can handle it. IExtendConverter cvt = ExtendConverter.Instance(); if (cvt.CanConvert(t)) { try { return(cvt.ToJsonString(instance)); } catch (Exception ex) { throw ex.CreateWrapException <JsonExtendConverterException>(); } } TypeCode code = Type.GetTypeCode(t); switch (code) { case TypeCode.Boolean: return(instance.ToString().ToLower()); case TypeCode.Int16: case TypeCode.Int32: case TypeCode.Int64: case TypeCode.UInt16: case TypeCode.UInt32: case TypeCode.UInt64: case TypeCode.Decimal: case TypeCode.Double: case TypeCode.Single: case TypeCode.Byte: case TypeCode.SByte: return(instance.ToString()); case TypeCode.String: case TypeCode.Char: return(((string)instance).Bracketing(StringPair.DoubleQuote)); } StringBuilder str = new StringBuilder(); if (!t.IsArray)//Note:Object { IReflector r = Reflector.Bind(instance, ReflectorPolicy.InstancePublicIgnoreCase); foreach (PropertyInfo propertyInfo in r.FindAllProperties()) { if (propertyInfo.Name == "Item")//Extend:Item is special name for indexer, not support currently. { continue; } string name = char.ToLower(propertyInfo.Name[0]) + propertyInfo.Name.Substring(1); str.Append(name.Bracketing(StringPair.DoubleQuote)); str.Append(JsonConstant.Colon); str.Append(r.GetPropertyValue(propertyInfo.Name).ToJsonString()); str.Append(JsonConstant.Comma); } str.RemoveEnd(JsonConstant.Comma); str.Bracketing(StringPair.CurlyBracket); return(str.ToString()); } else//Note:Array { Array array = instance as Array; if (array.Length > 0) { foreach (object element in array) { str.Append(element.ToJsonString()); str.Append(JsonConstant.Comma); } str.RemoveEnd(JsonConstant.Comma); } str.Bracketing(StringPair.SquareBracket); return(str.ToString()); } }