/// <summary> /// 自动填入客户信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void button3_Click(object sender, EventArgs e) { try { args = await Task.Run(() => ReadArgs.button_Click()); } catch { } a1.Text = args.Name; if (args.Gender == "男") { a2.Checked = true; } if (args.Gender == "女") { a3.Checked = true; } a4.Text = Convert.ToDateTime(args.Birth).Year.ToString(); a5.Text = Convert.ToDateTime(args.Birth).Month.ToString(); a6.Text = Convert.ToDateTime(args.Birth).Day.ToString(); a13.Text = args.IDC; a14.Text = args.EthnicName; a22.Text = args.Address; if (args.ValidDateEnd == "长期") { a18.Checked = true; } else { a15.Text = args.ValidDateEnd.Split('.')[0].ToString(); a16.Text = args.ValidDateEnd.Split('.')[1].ToString(); a17.Text = args.ValidDateEnd.Split('.')[2].ToString(); } }
object Read(ReadArgs args) { if (readRecurseDepth++ == 0) { var sFlags = input.ReadVInt(); settings.FromFlags((int)sFlags); } try { var result = ReadImpl(args); if (readRecurseDepth > 1) return result; return AsNormalData(result); } finally { if (--readRecurseDepth == 0) { foreach (var item in Objects.OfType<IDeserialized>()) { item.OnDeserialized(GetLost(item, false) ?? new LostData(item)); } foreach (var item in Objects.OfType<SRS.IDeserializationCallback>()) { // Known Issue: native .NET serialization doesn't support breaking generic type parameter change try { item.OnDeserialization(this); } catch (InvalidCastException ex) { Log.Error(ex); } } } } }
private void UpdateMediaItem(RequestArgs args) { Assert.ArgumentNotNull(args, "args"); Item item = args.Context.Item; if (item == null) { throw new BadRequestException("The specified location not found."); } Database database = args.Context.Database; Assert.IsNotNull(database, "Database not resolved."); Sitecore.Globalization.Language currentLanguage = args.Context.Language; if (!item.Access.CanCreate()) { throw new AccessDeniedException(string.Format("Access denied (access right: 'item:create', item: '{0}')", item.Paths.ParentPath)); } HttpFileCollection files = args.Context.HttpContext.Request.Files; List <Item> list = new List <Item>(); MediaItem mediaItem = Common.Functions.UpdateMediaItem(item, args.Context.HttpContext); if (mediaItem != null) { list.Add(mediaItem.InnerItem); ReadArgs readArgs = new ReadArgs(list.ToArray()); CorePipeline.Run("itemWebApiRead", readArgs); args.Result = readArgs.Result; } }
void ReadCollectionT<T>(object o, TypeData tSrc, RuntimeType hint) { List<object> lost = null; List<object> GetLost() { if (lost == null) { lost = new List<object>(); base.GetLost(o).IList = lost.AsReadOnly(); } return lost; } var l = o as ICollection<T>; var count = (int)input.ReadVInt(); var eArgs = new ReadArgs(tSrc.Collection1, hint?.Collection1); for (int i = 0; i < count; i++) { var value = AsNormalData(ReadImpl(eArgs)); if (l != null && !l.IsReadOnly && value is T tValue) { try { l.Add(tValue); } catch (SystemException e) { Log.Error(e); GetLost().Add(value); } } else { GetLost().Add(value); } } }
private void OnReadNodeStart(ReadContext context, ReadArgs readArgs) { if (context.Depth == 0 && context.RootNode == null) { context.RootNode = RootNodeCreateHandle(readArgs); m_previousReadNode = context.RootNode; } else { if (context.Depth > m_previousReadNode.Depth) { (m_previousReadNode as IGroupNode).Add(CreateNormalNode(readArgs)); } else { int depthDeviation = m_previousReadNode.Depth - context.Depth; INode parentNode = m_previousReadNode; do { parentNode = parentNode.Owner; }while (depthDeviation-- != 0); (parentNode as IGroupNode).Add(CreateNormalNode(readArgs)); } } context.NowNode = m_previousReadNode; }
void ReadDictKV<K, V>(object o, TypeData tSrc, RuntimeType hint) { List<(object, object)> lost = null; List<(object, object)> GetLost() { if (lost == null) { lost = new List<(object, object)>(); base.GetLost(o).IDictionary = lost.AsReadOnly(); } return lost; } var d = o as IDictionary<K, V>; var count = (int)input.ReadVInt(); var eKey = new ReadArgs(tSrc.Collection1, hint?.Collection1); var eValue = new ReadArgs(tSrc.Collection2, hint?.Collection2); for (int i = 0; i < count; i++) { var key = AsNormalData(ReadImpl(eKey)); var value = AsNormalData(ReadImpl(eValue)); if (d != null && !d.IsReadOnly && key is K tKey && value is V tValue) { d.Add(tKey, tValue); try { d.Add(tKey, tValue); } catch (SystemException e) { Log.Error(e); GetLost().Add((key, value)); } }
private async void button4_Click(object sender, EventArgs e) { args = await Task.Run(() => ReadArgs.button_Click()); t5.Text = args.Name; t6.Text = "身份证"; t7.Text = args.IDC; }
private void OnReadNodeEnd(ReadContext context, ReadArgs readArgs) { if (readArgs.Type == XmlNodeType.Content) { (context.NowNode as IContentNode).Content = readArgs.Value; } context.NowNode = context.NowNode.Owner; }
public void Dispose() { Socket?.Close(); Coder?.Dispose(); _autoResetEvent.Close(); ReadArgs?.Dispose(); WriteArgs?.Dispose(); }
void ReadCollection(object o, RuntimeType oType, TypeData tSrc) { var isRO = input.ReadBool(); if (isRO) return; List<object> lost = null; List<object> GetLost() { if (lost == null) { lost = new List<object>(); base.GetLost(o).IList = lost.AsReadOnly(); } return lost; } List<object> ilist = null; if (o is ObjectData od) { ilist = new List<object>(); od.IList = ilist.AsReadOnly(); } else { var rtValue = tSrc.Collection1.RuntimeType(); bool overrides = false; if (oType.CollectionType == RuntimeCollectionType.ICollectionT) { overrides = true; rtValue = oType.Collection1; } if (rtValue != null) { var m = GetType().TryGetMethods(nameof(ReadCollectionT), new[] { rtValue.Type }, typeof(object), typeof(TypeData), typeof(RuntimeType)).First(); m.Invoke(this, new object[] { o, tSrc, overrides ? oType : null }); return; } } if (ilist == null) { ilist = GetLost(); } var count = (int)input.ReadVInt(); var eArgs = new ReadArgs(tSrc.Collection1); for (int i = 0; i < count; i++) { var value = ReadImpl(eArgs); try { ilist.Add(value); } catch (SystemException se) { Log.Error(se); GetLost().Add(value); } } }
private async void button3_Click(object sender, EventArgs e) { args = await Task.Run(() => ReadArgs.button_Click()); t1.Text = args.Name; t3.Text = "身份证"; t4.Text = args.IDC; t9.Text = args.Name; }
public object Read(Type type, object suggested = null) { if (suggested != null && !type.IsInstanceOfType(suggested)) suggested = null; readRaw = false; var args = new ReadArgs(RObject.TypeData(), RuntimeType.GetType(type), suggested); return Read(args); }
private INode CreateNormalNode(ReadArgs args) { if (args.Type == XmlNodeType.Content) { return(m_previousReadNode = ContentNodeCreateHandle(args)); } else { return(m_previousReadNode = GroupNodeCreateHandle(args)); } }
public void Clear() { Socket?.Close(); Unpacker?.Clear(); _autoResetEvent?.Close(); ReadArgs?.Dispose(); WriteArgs?.Dispose(); Socket = null; ReadArgs = null; WriteArgs = null; }
private async void button3_Click(object sender, EventArgs e) { try { args = await Task.Run(() => ReadArgs.button_Click()); } catch { } t1.Text = args.Name; t5.Text = args.IDC; t8.Text = args.Address; }
/// <summary> /// 自动添加代理人 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void button4_Click(object sender, EventArgs e) { try { args = await Task.Run(() => ReadArgs.button_Click()); } catch { } a25.Text = args.Name; a26.Checked = true; a30.Checked = true; a33.Text = args.IDC; }
public override void Process(CreateVersionArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); if (arguments.Result != null) { return; } ReadArgs readArgs = new ReadArgs(arguments.Scope); CorePipeline.Run("itemWebApiRead", readArgs); arguments.Result = readArgs.Result; }
object ReadConverter(ReadArgs args) { var s = (string)ReadImpl(AString); var converter = args.InstanceType(readRaw)?.Converter; if (converter != null) return converter.ConvertFromInvariantString(s); return new ObjectData(args.TypeData) { ConverterString = s, }; }
private async void button3_Click(object sender, EventArgs e) { try { args = await Task.Run(() => ReadArgs.button_Click()); tjkr.Text = args.Name; tjkrsfzh.Text = args.IDC; } catch (Exception ex) { LogisTrac.WriteLog(typeof(借据), ex); } }
object ReadArray(ReadArgs args, ulong oid) { var ranks = Enumerable.Range(0, args.TypeData.ArrayRank) .Select(x => (int)input.ReadVInt()) .ToArray(); var eArgs = new ReadArgs(args.TypeData.Element); var eType = eArgs.InstanceType(readRaw); Array array; if (eType != null) { array = Array.CreateInstance(eType.Type, ranks); } else { array = Array.CreateInstance(typeof(ObjectData), ranks); } Register(oid, array); if (ranks.All(x => x > 0)) { var indices = new int[ranks.Length]; do { var value = ReadImpl(eArgs); array.SetValue(value, indices); } while (Inc()); bool Inc() { for (int i = ranks.Length - 1; i >= 0; i--) { indices[i]++; if (indices[i] < ranks[i]) return true; indices[i] = 0; } return false; } } return array; }
internal object ReadImpl(ReadArgs args) { // check id first ulong oid = 0; if (args.TypeData.IsReference) { oid = input.ReadVUInt(); if (TryGetObject(oid, out var result)) return result; } // if expected is not final if (args.TypeData.IsReference && !args.TypeData.IsSealed) args = new ReadArgs((TypeData)ReadImpl(AType), args.TypeHint, args.Instance); object ReturnRegister(object value) { if (oid != 0) Register(oid, value); return value; } // only proceed further if type is supported if (!args.TypeData.IsSupported) return ReturnRegister(new ObjectData(args.TypeData)); // dispatch to appropriate read method if (args.TypeData.Surrogate != null) { return ReturnRegister(ReadSurrogate(args)); } else if (args.TypeData.HasConverter && !settings.IgnoreTypeConverter) { return ReturnRegister(ReadConverter(args)); } else if (args.TypeData.IsISerializable && !settings.IgnoreISerializable) { return ReturnRegister(ReadISerializable(args)); } else { switch (args.TypeData.Kind) { default: case PrimitiveType.None: throw new InvalidOperationException("shouldn't be there"); case PrimitiveType.Object: if (args.TypeData.IsArray) { return ReadArray(args, oid); } else if (args.TypeData.IsNullable) { object o = null; var isNotNull = input.ReadBool(); if (isNotNull) o = ReadImpl(new ReadArgs(args.TypeData.GenericParameters[0])); return ReturnRegister(o); } else if (args.TypeData.IsEnum) { var val = ReadImpl(new ReadArgs(args.TypeData.Element)); var eType = args.InstanceType(readRaw); if (eType != null) { val = Enum.ToObject(eType.Type, val); } else { // leave it as is? // or return an ObjectData? } return ReturnRegister(val); } else { return ReturnRegister(ReadObject(args, oid)); } case PrimitiveType.Type: { var result = new TypeData(); ReturnRegister(result); result.Read(this, input); return result; } case PrimitiveType.String: return ReturnRegister(input.ReadString()); case PrimitiveType.Bytes: return ReturnRegister(input.ReadBytes()); case PrimitiveType.Guid: return ReturnRegister(input.ReadGuid()); case PrimitiveType.Bool: return ReturnRegister(input.ReadBool()); case PrimitiveType.Char: return ReturnRegister(input.ReadChar()); case PrimitiveType.Byte: return ReturnRegister(input.ReadByte()); case PrimitiveType.SByte: return ReturnRegister(input.ReadSByte()); case PrimitiveType.Int16: return ReturnRegister(input.ReadInt16()); case PrimitiveType.UInt16: return ReturnRegister(input.ReadUInt16()); case PrimitiveType.Int32: return ReturnRegister(input.ReadInt32()); case PrimitiveType.UInt32: return ReturnRegister(input.ReadUInt32()); case PrimitiveType.Int64: return ReturnRegister(input.ReadInt64()); case PrimitiveType.UInt64: return ReturnRegister(input.ReadUInt64()); case PrimitiveType.Single: return ReturnRegister(input.ReadSingle()); case PrimitiveType.Double: return ReturnRegister(input.ReadDouble()); case PrimitiveType.Decimal: return ReturnRegister(input.ReadDecimal()); } } }
public T Read<T>(T suggested = default(T)) { readRaw = false; var args = new ReadArgs(RObject.TypeData(), RuntimeType.GetType(typeof(T)), suggested); return (T)Read(args); }
protected abstract INode CreateRootNodeFromDataProcess(ReadArgs args, BaseDocumentHead head);
public IContentNode CreateContentNodeFromData(ReadArgs args) { return(CreateContentNodeFromDataProcess(args, m_head)); }
public IGroupNode CreateGroupNodeFromData(ReadArgs args) { return(CreateGroupNodeFromDataProcess(args, m_head)); }
public INode CreateRootNodeFromData(ReadArgs args) { return(CreateRootNodeFromDataProcess(args, m_head)); }