Beispiel #1
0
        public JsonResult TimeOurInfo()
        {
            QTSetting model = null;

            CommunicateManager.Invoke <IMemoryService>(p => model = p.GetAirChangeTimeOutInfo());
            return(Json(model, JsonRequestBehavior.DenyGet));
        }
Beispiel #2
0
 public bool Execute()
 {
     QTSetting p = this.qtSet;
     if (!string.IsNullOrEmpty(p.Code) && p.IsOpen)
     {
         DateTime now = DateTime.Now;
         DateTime startTime = DateTime.Parse(p.QTStartTime);
         DateTime endTime = DateTime.Parse(p.QTEndTime);
         if (now.Hour >= startTime.Hour && now.Hour <= endTime.Hour)
         {
             var pidService = ObjectFactory.GetInstance<BPiaoBao.AppServices.DomesticTicket.PidService>();
             var repository = ObjectFactory.GetInstance<AriChangeRepository>();
             var orderSrrvice = ObjectFactory.GetInstance<OrderService>();
             //var orderStationSrrvice = ObjectFactory.GetInstance<OrderService>();
             var unitOfWork = ObjectFactory.GetNamedInstance<IUnitOfWork>(EnumModule.DomesticTicket.ToString());
             string _content = "您好!接到航空公司通知,您预订的此编码航班有变动,请及时通知旅客。若有疑问,请咨询航空公司客服(航司电话请在右上角“客规”里查看),谢谢!";
             var unitOfWorkRepository = ObjectFactory.GetNamedInstance<IUnitOfWorkRepository>(EnumModule.DomesticTicket.ToString());
             var pidResult = pidService.GetPids().Where(p1 => p1.CarrierCode == p.Code || p1.SupplierCode == p.Code).ToList();
             //循环不同的Office的配置
             pidResult.ForEach(pidInfo =>
             {
                 var r = pidService.SendQT(pidInfo);
                 var result = orderSrrvice.CreateAirChangeInfo(r);
                 result.ForEach(y =>
                 {
                     unitOfWorkRepository.PersistCreationOf(y);
                 });
                 unitOfWork.Commit();
                 result.ForEach(t => {
                     orderSrrvice.CreateAirChangeCoordion(EnumAriChangNotifications.AutoPopMessage, true, _content, t.Id);
                 });
             });
         }
     }
     return true;
 }
Beispiel #3
0
        public void SetAirChangTimeOutInfo(string QTStartTime, string QTEndTime, string TimeOut, bool?IsOpen)
        {
            bool _status;

            if (!IsOpen.HasValue)
            {
                _status = false;
            }
            else
            {
                _status = IsOpen.Value;
            }
            string           _code = AuthManager.GetCurrentUser().Code;
            string           _path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config", "AirChange.xml");
            List <QTSetting> list  = BPiaoBao.Common.XmlHelper.XmlDeserializeFromFile <List <QTSetting> >(_path, Encoding.Default);

            if (int.Parse(TimeOut) > 60)
            {
                if (int.Parse(TimeOut) >= 600)
                {
                    TimeOut = "" + int.Parse(TimeOut) / 60 + ":00:00";
                }
                else
                {
                    TimeOut = "0" + int.Parse(TimeOut) / 60 + ":" + int.Parse(TimeOut) % 60 + ":00";
                }
            }
            else
            {
                TimeOut = "00:" + TimeOut + ":00";
            }
            if (list.Where(x => x.Code == _code).FirstOrDefault() == null)
            {
                QTSetting model = new QTSetting()
                {
                    QTEndTime   = QTEndTime,
                    QTStartTime = QTStartTime,
                    Timeout     = TimeOut,
                    Code        = _code,
                    IsOpen      = _status
                };
                list.Add(model);
                ScheduleTaskServices.RegisterTask(new GetQTInfo(model), new IntervalSchedule(TimeSpan.Parse(TimeOut), DateTime.Now));
            }
            else
            {
                list.ForEach(x =>
                {
                    if (x.Code == _code)
                    {
                        x.QTStartTime = QTStartTime;
                        x.QTEndTime   = QTEndTime;
                        x.Timeout     = TimeOut;
                        x.Code        = AuthManager.GetCurrentUser().Code;
                        x.IsOpen      = _status;
                    }
                });
            }
            BPiaoBao.Common.XmlHelper.XmlSerializeToFile(list, _path, Encoding.Default);
            var info = SystemConsoSwitch.QTSettingList.Where(x => x.Code == _code).FirstOrDefault();

            if (info == null)
            {
                info = new QTSetting()
                {
                    Code = _code, Timeout = TimeOut, QTEndTime = QTEndTime, QTStartTime = QTStartTime, IsOpen = _status
                };
                SystemConsoSwitch.QTSettingList.Add(info);
            }
            else
            {
                info.QTEndTime   = QTEndTime;
                info.QTStartTime = QTStartTime;
                info.Timeout     = TimeOut;
                info.IsOpen      = _status;
            }
        }
Beispiel #4
0
 public GetQTInfo(QTSetting info)
 {
     this.qtSet = info;
 }