using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
namespace SqlSugar
{
///
/// AppendJoin
///
public partial class JsonQueryableProvider : IJsonQueryableProvider
{
private bool AppendJoin(JToken item)
{
BeforeJoin();
bool isJoin = true;
var value = item.First().ToString();
var obj = context.Utilities.JsonToJoinModels(value);
sugarQueryable.AddJoinInfo(obj.TableName, obj.ShortName, obj.OnWhereList, GetJoinType(item));
AddTableInfos(obj.TableName, obj.ShortName);
AfterJoin();
return isJoin;
}
private static JoinType GetJoinType(JToken obj)
{
var key = obj.Path.ToLower();
if (key.Contains("right"))
{
return JoinType.Right;
}
else if (key.Contains("left"))
{
return JoinType.Left;
}
else if (key.Contains("full"))
{
return JoinType.Full;
}
else
{
return JoinType.Inner;
}
}
private void AfterJoin()
{
}
private void BeforeJoin()
{
}
}
}