using HKCardOUT.Helper;
using Logic.RemoteModel;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
using XExten.Advance.HttpFramework.MultiCommon;
using XExten.Advance.HttpFramework.MultiFactory;
using XExten.Advance.LinqFramework;

namespace HKCardOUT.Logic
{
    public class RemoteService
    {
        /// <summary>
        /// 判断卡状态
        /// </summary>
        /// <param name="input"></param>
        public static int CheckCardStuatas(string CardNo)
        {
            return IHttpMultiClient.HttpMulti.AddNode(t =>
              {
                  t.NodePath = ApiRoute.CheckCardStatus + CardNo;
              }).Build().RunStringFirst().ToModel<JObject>()["data"]["cardState"].ToString().AsInt();
        }
        /// <summary>
        /// 同步消费记录
        /// </summary>
        /// <param name="CardNo"></param>
        /// <param name="Money"></param>
        public static bool SyncSaleLog(string CardNo, string StallId)
        {
            var data = IHttpMultiClient.HttpMulti.AddNode(t =>
              {
                  t.ReqType = MultiType.POST;
                  t.JsonParam = (new { GateId=StallId, Type = -1, CardNum = CardNo }).ToJson();
                  t.NodePath = ApiRoute.SyncSaleLog;
              }).Build().RunStringFirst();
            return bool.Parse(data.ToModel<JObject>()["data"].ToString());
        }
        /// <summary>
        /// 获取店铺信息
        /// </summary>
        public static void PullShopInfo()
        {
            var data = IHttpMultiClient.HttpMulti.AddNode(t =>
             {
                 t.NodePath = ApiRoute.PullShopInfo;
             }).Build().RunStringFirst()
             .ToModel<JObject>()["data"].ToJson().ToModel<StoreInfoResponse>();
            DataBus.StoreInfo = data;
        }
    }
}
