using System;
using System.Collections.Generic;
using System.Text;
using ChuPiao.Common.Enums;
using ChuPiao.Common.Models;

namespace ChuPiao.AutoPrint.Services.AutoPrint
{
    /// <summary>
    /// 自动限号服务
    /// </summary>
    public class AutoLimitService
    {
        /// <summary>
        /// 将当前票添加到自动限号列表
        /// </summary>
        /// <param name="currentTicketEntity"></param>
        public void AddAutoLimitCode(L_LotTicketEntity currentTicketEntity)
        {
            //if (currentTicketEntity.LotId == 504 || currentTicketEntity.LotId == 503 || currentTicketEntity.LotId == 505 || currentTicketEntity.LotId == 506)
            //{
            //    string[] codes = currentTicketEntity.L_Code.Split('$');
            //    //是否只有单个号码
            //    bool isone = true;
            //    if (codes.Length > 1)
            //    {
            //        string currentCode = null;
            //        foreach (string code in codes)
            //        {
            //            if (currentCode == null)
            //            {
            //                currentCode = code;
            //            }
            //            else
            //            {
            //                if (currentCode != code)
            //                {
            //                    isone = false;
            //                    break;
            //                }
            //            }
            //        }
            //    }

            //    //如果只有单个号码，则把单个号码设为限号号码；如果有多个号码，因为不确定哪个号码限号，所以把整个投注号码设为限号
            //    string limitcode = codes[0];
            //    if (!isone)
            //    {
            //        limitcode = currentTicketEntity.L_Code;
            //    }

            //    //如果自动限号列表不存在当前限号号码，则将号码添加到自动限号列表
            //    M_LimitCodeEntity entity = new M_LimitCodeEntity();
            //    entity.C_AddTime = DateTime.Now;
            //    entity.C_Code = limitcode;
            //    entity.C_CodeType = 0;
            //    entity.C_EndTime = currentTicketEntity.L_EndTime;
            //    entity.C_Expect = currentTicketEntity.L_Expect;
            //    entity.C_Lotid = currentTicketEntity.LotId;
            //    switch (currentTicketEntity.L_PlayId)
            //    {
            //        case 50422://任选2单式
            //        case 50423://任选3单式
            //        case 50424://任选4单式
            //        case 50425://任选5单式
            //        case 50426://任选6单式
            //        case 50427://任选7单式
            //        case 50428://任选8
            //        case 50412://前2组选单式
            //        case 50402://前2直选单式
            //        case 50413://前3组选单式
            //        case 50403://前3直选单式

            //        case 50501://前1直选单式
            //        case 50522://任选2单式
            //        case 50523://任选3单式
            //        case 50524://任选4单式
            //        case 50525://任选5单式
            //        case 50526://任选6单式
            //        case 50527://任选7单式
            //        case 50528://任选8
            //        case 50512://前2组选单式
            //        case 50502://前2直选单式
            //        case 50513://前3组选单式
            //        case 50503://前3直选单式

            //        case 50301://前1直选单式
            //        case 50322://任选2单式
            //        case 50323://任选3单式
            //        case 50324://任选4单式
            //        case 50325://任选5单式
            //        case 50326://任选6单式
            //        case 50327://任选7单式
            //        case 50328://任选8
            //        case 50312://前2组选单式
            //        case 50302://前2直选单式
            //        case 50313://前3组选单式
            //        case 50303://前3直选单式

            //        case 50611://前一单式
            //        case 50621://前二单式
            //        case 50631://前三单式
            //        case 50618://位置单式
            //        case 50627://过二关单式
            //        case 50637://过三关单式
            //        case 50625://前二组选单式
            //        case 50635://前三组选单式
            //        case 50619://大小奇偶单式
            //            entity.C_ModeType = 0;//单式
            //            break;
            //        case 50471://任选1
            //        case 50472://任选2复式
            //        case 50473://任选3复式
            //        case 50474://任选4复式
            //        case 50475://任选5复式
            //        case 50476://任选6复式
            //        case 50477://任选7复式
            //        case 50462://前2组选复式
            //        case 50463://前3组选复式

            //        case 50551://任选1
            //        case 50572://任选2复式
            //        case 50573://任选3复式
            //        case 50574://任选4复式
            //        case 50575://任选5复式
            //        case 50576://任选6复式
            //        case 50577://任选7复式
            //        case 50562://前2组选复式
            //        case 50563://前3组选复式

            //        case 50351://任选1
            //        case 50372://任选2复式
            //        case 50373://任选3复式
            //        case 50374://任选4复式
            //        case 50375://任选5复式
            //        case 50376://任选6复式
            //        case 50377://任选7复式
            //        case 50362://前2组选复式
            //        case 50363://前3组选复式

            //        case 50622://前二复式
            //        case 50632://前三复式
            //        case 50626://前二组选复式
            //        case 50636://前三组选复式
            //            entity.C_ModeType = 1;//复式
            //            break;
            //        case 50442://任选2胆拖
            //        case 50443://任选3胆拖
            //        case 50444://任选4胆拖
            //        case 50445://任选5胆拖
            //        case 50446://任选6胆拖
            //        case 50447://任选7胆拖
            //        case 50432://前2组选胆拖
            //        case 50433://前3组选胆拖

            //        case 50542://任选2胆拖
            //        case 50543://任选3胆拖
            //        case 50544://任选4胆拖
            //        case 50545://任选5胆拖
            //        case 50546://任选6胆拖
            //        case 50547://任选7胆拖
            //        case 50532://前2组选胆拖
            //        case 50533://前3组选胆拖

            //        case 50342://任选2胆拖
            //        case 50343://任选3胆拖
            //        case 50344://任选4胆拖
            //        case 50345://任选5胆拖
            //        case 50346://任选6胆拖
            //        case 50347://任选7胆拖
            //        case 50332://前2组选胆拖
            //        case 50333://前3组选胆拖

            //        case 50623://前二胆拖
            //        case 50633://前三胆拖
            //        case 50628://过二关胆拖
            //        case 50638://过三关胆拖
            //            entity.C_ModeType = 2;//胆拖
            //            break;
            //        case 50452://前2直选定位复式
            //        case 50453://前3直选定位复式

            //        case 50552://前2直选定位复式
            //        case 50553://前3直选定位复式

            //        case 50352://前2直选定位复式
            //        case 50353://前3直选定位复式

            //        case 50624://前二对位复式
            //        case 50634://前三对位复式
            //        case 50629://过二关对位复式
            //        case 50639://过三关对位复式
            //            entity.C_ModeType = 3;//定位复式
            //            break;
            //    }
            //    entity.C_NotifyStatus = 100;
            //    entity.C_NotifyTime = new DateTime(1900, 1, 1);
            //    entity.C_Playid = currentTicketEntity.L_PlayId;
            //    entity.C_Remark = "出票软件自动添加";
            //    entity.C_Status = 100;
            //    entity.C_UndoTime = new DateTime(1900, 1, 1);
            //    entity.C_ZhuShu = 0;

            //    M_LimitCodeService limitCodeService = new M_LimitCodeService();

            //    bool isexist = limitCodeService.CheckLimitCodeIsExist(entity);
            //    if (!isexist)
            //    {
            //        limitCodeService.Add(entity);
            //        MessageService.ShowMessage(string.Concat(currentTicketEntity.L_MacNumber, " ", currentTicketEntity.L_LotName, currentTicketEntity.L_PlayName, " 号码：", entity.C_Code, " 已添加到自动限号列表"), "操作提示");
            //    }
            //}
            //else if (currentTicketEntity.LotId == 911 || currentTicketEntity.LotId == 951 || currentTicketEntity.LotId == 971)
            //{
            //    //如果自动限号列表不存在当前限号号码，则将号码添加到自动限号列表
            //    M_LimitCodeEntity entity = new M_LimitCodeEntity();
            //    entity.C_AddTime = DateTime.Now;
            //    entity.C_Code = currentTicketEntity.L_Code;
            //    entity.C_CodeType = currentTicketEntity.L_CodeType;

            //    int limitCodeMinuOffset = 30;
            //    S_SysConfigEntity sysConfig = S_SysConfigCacheService.GetSysConfigByKey((int)SysConfigType.LimitCodeMinuOffset);
            //    if (sysConfig != null && sysConfig.Sc_IsUse)
            //    {
            //        limitCodeMinuOffset = int.Parse(sysConfig.Sc_Value);
            //    }
            //    DateTime endtime = DateTime.Now.AddMinutes(limitCodeMinuOffset);//30分钟内自动限号
            //    entity.C_EndTime = endtime<currentTicketEntity.L_EndTime?endtime: currentTicketEntity.L_EndTime;
            //    entity.C_Expect = currentTicketEntity.L_FirstAbbDate.ToString();
            //    entity.C_Lotid = currentTicketEntity.LotId;
            //    if(currentTicketEntity.L_SingleZhuShu==1)
            //    {
            //        entity.C_ModeType = 0;//单式
            //    }
            //    else
            //    {
            //        entity.C_ModeType = 1;//复式
            //    }
            //    entity.C_NotifyStatus = (int)NotifyStatus.Default;
            //    entity.C_NotifyTime = new DateTime(1900, 1, 1);
            //    entity.C_Playid = currentTicketEntity.L_PlayId;
            //    entity.C_Remark = "出票软件自动添加";
            //    entity.C_Status = 100;
            //    entity.C_UndoTime = new DateTime(1900, 1, 1);
            //    entity.C_ZhuShu = 0;
            //    M_LimitCodeService limitCodeService = new M_LimitCodeService();

            //    bool isexist = limitCodeService.CheckLimitCodeIsExist(entity);
            //    string msg;
            //    if (!isexist)
            //    {
            //        limitCodeService.Add(entity);
            //        msg = string.Concat(currentTicketEntity.L_MacNumber, " ", currentTicketEntity.L_LotName,
            //                                   currentTicketEntity.L_PlayName, " 号码：", entity.C_Code, " 已添加到自动限号列表");
            //        MessageService.ShowMessage(msg, "操作提示");
            //    }
            //    else
            //    {
            //        limitCodeService.UpdateEndTime(entity);
            //        msg = string.Concat(currentTicketEntity.L_MacNumber, " ", currentTicketEntity.L_LotName,
            //                                   currentTicketEntity.L_PlayName, " 号码：", entity.C_Code, " 限号截止时间更新为：", entity.C_EndTime);
            //        MessageService.ShowMessage(msg, "操作提示");
                    
            //    }
            //}
        }
    }
}
