Ejemplo n.º 1
0
        /// <summary>
        /// @xis 获取下一个审批者
        /// </summary>
        /// <param name="_ot">订单类型</param>
        /// <param name="_depart">申请部门</param>
        /// <param name="_cur_position">当前已审批的职位</param>
        /// <returns>
        /// null:获取失败
        /// -1:已达末尾
        /// </returns>
        public int?GetNextApplyer(EnumOrderType _ot, int _depart, int _cur_position)
        {
            JObject process_json = CommonConfig.ProcessConfig[_ot.ToString()] as JObject;

            if (process_json == null)
            {
                return(null);
            }

            List <int> process_list = JsonConvert.DeserializeObject <List <int> >(process_json[$"d_{_depart}"].ToString());//流程列表

            if (process_list == null)
            {
                return(null);
            }

            int cur_index = process_list.IndexOf(_cur_position);

            //不存在或达末尾
            if (cur_index == -1 || cur_index + 1 >= process_list.Count)
            {
                return(null);
            }

            return(process_list[cur_index + 1]);
        }
Ejemplo n.º 2
0
        public int GetApplyIndex(EnumOrderType _ot, int _depart, int _start_position, int _cur_audited_position)
        {
            JObject process_json = CommonConfig.ProcessConfig[_ot.ToString()] as JObject;

            if (process_json == null)
            {
                return(-1);
            }
            List <int> process_list = GetApplyList(_ot, _depart, _start_position).ToList();//流程列表

            int index = process_list.IndexOf(_cur_audited_position);

            return(index);
        }
Ejemplo n.º 3
0
 public async Task <HaasonlineClientResponse <OrderBot> > OrderBotAddOrder(string botGuid, string dependsOn, string dependsOnNotExecuted, decimal amount, decimal price, EnumOrderType direction, string templateGuid, EnumOrderBotTriggerType triggerType, decimal triggerPrice)
 {
     return(await ExecuteAsync <OrderBot>("/OrderBotAddOrder", new Dictionary <string, string>
     {
         { "botGuid", botGuid },
         { "dependsOn", dependsOn },
         { "dependsOnNotExecuted", dependsOnNotExecuted },
         { "amount", amount.ToString(CultureInfo.InvariantCulture) },
         { "price", price.ToString(CultureInfo.InvariantCulture) },
         { "triggerPrice", triggerPrice.ToString(CultureInfo.InvariantCulture) },
         { "orderTemplate", templateGuid },
         { "orderType", direction.ToString() },
         { "triggerType", triggerType.ToString() },
     }));
 }
Ejemplo n.º 4
0
        public IEnumerable <int> GetApplyList(EnumOrderType _ot, int _depart, int _start_position)
        {
            JObject process_json = CommonConfig.ProcessConfig[_ot.ToString()] as JObject;

            if (process_json == null)
            {
                return(null);
            }
            List <int> process_list = JsonConvert.DeserializeObject <List <int> >(process_json[$"d_{_depart}"].ToString());//流程列表

            List <int> result_list = new List <int>();

            for (int i = process_list.IndexOf(_start_position) + 1; i < process_list.Count; i++)
            {
                result_list.Add(process_list[i]);
            }
            return(result_list);
        }
Ejemplo n.º 5
0
        public async Task <HaasonlineClientResponse <AccumulationBot> > SetupAccumulationBot(string botName, string botGuid, string accountGuid, string primairyCoin, string secondairyCoin, EnumAccumulationBotStopType stopType, decimal stopTypeValue, decimal randomOrderSizeX, decimal randomOrderSizeY, int randomOrderTimeX, int randomOrderTimeY, EnumOrderType direction, bool triggerOnPrice, bool triggerWhenHiger, decimal triggerValue)
        {
            return(await ExecuteAsync <AccumulationBot>("/SetupAccumulationBot", new Dictionary <string, string>()
            {
                { "botName", botName },
                { "botGuid", botGuid },
                { "accountGuid", accountGuid },
                { "primaryCoin", primairyCoin },
                { "secondaryCoin", secondairyCoin },
                { "stopTypeValue", stopTypeValue.ToString() },

                { "randomOrderSizeX", randomOrderSizeX.ToString(CultureInfo.InvariantCulture) },
                { "randomOrderSizeY", randomOrderSizeY.ToString(CultureInfo.InvariantCulture) },
                { "randomOrderTimeX", randomOrderTimeX.ToString(CultureInfo.InvariantCulture) },
                { "randomOrderTimeY", randomOrderTimeY.ToString(CultureInfo.InvariantCulture) },
                { "triggerValue", triggerValue.ToString(CultureInfo.InvariantCulture) },
                { "triggerWhenHigher", triggerWhenHiger.ToString() },
                { "triggerOnPrice", triggerOnPrice.ToString() },
                { "stopType", stopType.ToString() },
                { "direction", direction.ToString() },
            }));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// @xis 审批进度 开始/进行中/末尾 EnumApplyStepFlag
        /// </summary>
        /// <returns></returns>
        public EnumApplyStepFlag GetApplyStepFlag(EnumOrderType _ot, int _depart, int _cur_position)
        {
            List <int> process_list = JsonConvert.DeserializeObject <List <int> >(CommonConfig.ProcessConfig[_ot.ToString()][$"d_{_depart}"].ToString());
            int        cur_index    = process_list.IndexOf(_cur_position);

            if (cur_index == 0)
            {
                return(EnumApplyStepFlag.Start);
            }
            if (cur_index + 1 != process_list.Count)
            {
                return(EnumApplyStepFlag.Progress);
            }

            return(EnumApplyStepFlag.End);
        }