public JsonResult TimeOurInfo() { QTSetting model = null; CommunicateManager.Invoke <IMemoryService>(p => model = p.GetAirChangeTimeOutInfo()); return(Json(model, JsonRequestBehavior.DenyGet)); }
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; }
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; } }
public GetQTInfo(QTSetting info) { this.qtSet = info; }