Exemple #1
0
        /// <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();
            }
        }
Exemple #2
0
 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;
            }
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #5
0
 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;
 }
Exemple #6
0
        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;
        }
Exemple #8
0
 private void OnReadNodeEnd(ReadContext context, ReadArgs readArgs)
 {
     if (readArgs.Type == XmlNodeType.Content)
     {
         (context.NowNode as IContentNode).Content = readArgs.Value;
     }
     context.NowNode = context.NowNode.Owner;
 }
Exemple #9
0
 public void Dispose()
 {
     Socket?.Close();
     Coder?.Dispose();
     _autoResetEvent.Close();
     ReadArgs?.Dispose();
     WriteArgs?.Dispose();
 }
Exemple #10
0
        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;
        }
Exemple #12
0
        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);
        }
Exemple #13
0
 private INode CreateNormalNode(ReadArgs args)
 {
     if (args.Type == XmlNodeType.Content)
     {
         return(m_previousReadNode = ContentNodeCreateHandle(args));
     }
     else
     {
         return(m_previousReadNode = GroupNodeCreateHandle(args));
     }
 }
Exemple #14
0
 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;
 }
Exemple #16
0
 /// <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;
        }
Exemple #18
0
        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,
            };
        }
Exemple #19
0
        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);
            }
        }
Exemple #20
0
        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;
        }
Exemple #21
0
        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());
                }
            }
        }
Exemple #22
0
 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);
 }
Exemple #23
0
 protected abstract INode CreateRootNodeFromDataProcess(ReadArgs args, BaseDocumentHead head);
Exemple #24
0
 public IContentNode CreateContentNodeFromData(ReadArgs args)
 {
     return(CreateContentNodeFromDataProcess(args, m_head));
 }
Exemple #25
0
 public IGroupNode CreateGroupNodeFromData(ReadArgs args)
 {
     return(CreateGroupNodeFromDataProcess(args, m_head));
 }
Exemple #26
0
 public INode CreateRootNodeFromData(ReadArgs args)
 {
     return(CreateRootNodeFromDataProcess(args, m_head));
 }