Browse Source

Code simplified.

pull/662/head
Sebastian 5 years ago
parent
commit
1561d54832
  1. 78
      backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs

78
backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs

@ -47,6 +47,11 @@ namespace Squidex.Infrastructure.Queries.OData
return ClrValue.Null; return ClrValue.Null;
} }
if (nodeIn.TypeReference == null)
{
throw new NotSupportedException();
}
if (nodeIn.TypeReference.Definition == BooleanType) if (nodeIn.TypeReference.Definition == BooleanType)
{ {
return bool.Parse(value.ToString()!); return bool.Parse(value.ToString()!);
@ -62,11 +67,6 @@ namespace Squidex.Infrastructure.Queries.OData
return ParseInstant(value); return ParseInstant(value);
} }
if (ConstantVisitor.Visit(nodeIn.Source) == null)
{
return ClrValue.Null;
}
throw new NotSupportedException(); throw new NotSupportedException();
} }
@ -122,47 +122,49 @@ namespace Squidex.Infrastructure.Queries.OData
return ClrValue.Null; return ClrValue.Null;
} }
if (nodeIn.TypeReference != null) if (nodeIn.TypeReference == null)
{ {
if (nodeIn.TypeReference.Definition == DateTimeType || nodeIn.TypeReference.Definition == DateType) throw new NotSupportedException();
{ }
return ParseInstant(nodeIn.Value);
}
if (nodeIn.TypeReference.Definition == GuidType) if (nodeIn.TypeReference.Definition == DateTimeType || nodeIn.TypeReference.Definition == DateType)
{ {
return (Guid)nodeIn.Value; return ParseInstant(nodeIn.Value);
} }
if (nodeIn.TypeReference.Definition == BooleanType) if (nodeIn.TypeReference.Definition == GuidType)
{ {
return (bool)nodeIn.Value; return (Guid)nodeIn.Value;
} }
if (nodeIn.TypeReference.Definition == SingleType) if (nodeIn.TypeReference.Definition == BooleanType)
{ {
return (float)nodeIn.Value; return (bool)nodeIn.Value;
} }
if (nodeIn.TypeReference.Definition == DoubleType) if (nodeIn.TypeReference.Definition == SingleType)
{ {
return (double)nodeIn.Value; return (float)nodeIn.Value;
} }
if (nodeIn.TypeReference.Definition == Int32Type) if (nodeIn.TypeReference.Definition == DoubleType)
{ {
return (int)nodeIn.Value; return (double)nodeIn.Value;
} }
if (nodeIn.TypeReference.Definition == Int64Type) if (nodeIn.TypeReference.Definition == Int32Type)
{ {
return (long)nodeIn.Value; return (int)nodeIn.Value;
} }
if (nodeIn.TypeReference.Definition == Int64Type)
{
return (long)nodeIn.Value;
}
if (nodeIn.TypeReference.Definition == StringType) if (nodeIn.TypeReference.Definition == StringType)
{ {
return (string)nodeIn.Value; return (string)nodeIn.Value;
}
} }
throw new NotSupportedException(); throw new NotSupportedException();

Loading…
Cancel
Save