Пример #1
0
        public virtual void Assimilate(DataPacket item)
        {
            item.Items.Clear();
            item.Items = this.Items;

            switch (item.ModelAction)
            {
            case ModelActionOption.None:
                break;

            case ModelActionOption.Delete:
                break;

            case ModelActionOption.Post:
            case ModelActionOption.Put:
            case ModelActionOption.Get:
                if (this.Content != null && this.Content.Count >= 1 && this.Content[0] != null)
                {
                    item.Buffer = GenericSerializer.ItemToByteArray(Content[0]);
                }
                break;

            case ModelActionOption.GetAll:
            case ModelActionOption.GetAllProjections:
                if (this.Content != null)
                {
                    item.Buffer = GenericSerializer.ItemToByteArray(this.Content);
                }
                break;

            case ModelActionOption.ExecuteAction:
                break;

            case ModelActionOption.ExecuteCommand:
                item.Tables = new DataSet();
                if (this.Data != null && this.Data.Tables.Count > 0)
                {
                    item.Tables = this.Data;
                }
                break;

            default:
                break;
            }
        }
Пример #2
0
        private IResponse <T, U> ExecuteRpc <T, U>(T model, ICriterion criterion) where T : class, new()
        {
            ICriterion c             = criterion ?? new Criterion();
            DataPacket packetRequest = _Serializer.Serialize <T>(Context, ModelActionOption.ExecuteAction, c.Items);

            packetRequest.Buffer = GenericSerializer.ItemToByteArray(model);
            //object o = GenericSerializer.Deserialize<T>(packetRequest.Buffer);
            //object oo = GenericSerializer.ByteArrayToItem(packetRequest.Buffer,typeof(T));

            string s = Activator.CreateInstance <U>().GetType().AssemblyQualifiedName;

            packetRequest.Criteria.Add(XFConstants.Application.ActionResultModelType, s);

            DataPacket packetResponse = _DataPacketService.ExecuteRpc(packetRequest);

            IResponse <T, U> response = _Serializer.Deserialize <T, U>(packetResponse);

            return(response);
        }