public string[] ToEncodedStrings()
        {
            var helper = new StringEncoderHelper();

            helper.Add(User);
            helper.Add(time.Ticks);
            helper.Add(version);

            return(helper.ToArray());
        }
예제 #2
0
        public string[] ToShortEncodedStrings()
        {
            var helper = new StringEncoderHelper();

            helper.Add(TypeName);
            helper.Add(Key);
            helper.Add(IsTransient);
            helper.AddSerializable(EntityKey);

            return(helper.ToArray());
        }
        public string[] ToEncodedStrings()
        {
            var helper = new StringEncoderHelper();

            helper.Add(typeName);
            helper.Add(fieldName);
            if (parentOid != null)
            {
                helper.Add(parentOid as IEncodedToStrings);
            }
            return(helper.ToArray());
        }
예제 #4
0
        public string[] ToEncodedStrings()
        {
            var helper = new StringEncoderHelper();

            helper.Add(TypeName);

            if (Keys.Any())
            {
                helper.Add(Keys);
            }

            return(helper.ToArray());
        }
예제 #5
0
        public string[] ToEncodedStrings()
        {
            var helper = new StringEncoderHelper();

            helper.Add(TypeName);
            helper.Add(Key);
            helper.Add(IsTransient);
            helper.AddSerializable(EntityKey);
            helper.Add(HasPrevious);
            if (HasPrevious)
            {
                helper.Add(previous as IEncodedToStrings);
            }

            return(helper.ToArray());
        }
        public string[] ToEncodedStrings()
        {
            var helper = new StringEncoderHelper {
                Encode = true
            };

            helper.Add(Action.ReturnSpec.EncodeTypeName(Action.ReturnSpec.IsCollection ? new[] { Action.ElementSpec } : new IObjectSpec[] {}));
            helper.Add(Action.Id);
            helper.Add(Target.Oid as IEncodedToStrings);

            foreach (INakedObjectAdapter parameter in Parameters)
            {
                if (parameter == null)
                {
                    helper.Add(ParameterType.Value);
                    helper.Add((object)null);
                }
                else if (parameter.Spec.IsParseable)
                {
                    helper.Add(ParameterType.Value);
                    helper.Add(parameter.Object);
                }
                else if (parameter.Spec.IsCollection)
                {
                    IObjectSpecImmutable instanceSpec = parameter.Spec.GetFacet <ITypeOfFacet>().GetValueSpec(parameter, metamodel.Metamodel);
                    Type instanceType = TypeUtils.GetType(instanceSpec.FullName);

                    if (instanceSpec.IsParseable)
                    {
                        helper.Add(ParameterType.ValueCollection);
                        helper.Add((IEnumerable)parameter.Object, instanceType);
                    }
                    else
                    {
                        helper.Add(ParameterType.ObjectCollection);
                        helper.Add(parameter.GetCollectionFacetFromSpec().AsEnumerable(parameter, nakedObjectManager).Select(p => p.Oid).Cast <IEncodedToStrings>(), instanceType);
                    }
                }
                else
                {
                    helper.Add(ParameterType.Object);
                    helper.Add(parameter.Oid as IEncodedToStrings);
                }
            }

            return(helper.ToArray());
        }