public async Task <ActionResult <IEnumerable <HospitalDto> > > GetFastestHospitals([FromQuery] FastestQueryDto query)
        {
            var client     = _clientFactory.CreateClient("dmmw");
            var _hospitals = (await DmmwHelper.GetEmbeddedList <HospitalModel>(client, "hospitals"));

            List <HospitalDto> hospitals = new List <HospitalDto>();

            foreach (var hospital in _hospitals)
            {
                WaitingModel waiting = hospital.WaitingList
                                       .Where(w => w.LevelOfPain == query.LevelOfPain.Value)
                                       .Single();
                int waitingTime = waiting.PatientCount * waiting.AverageProcessTime;

                HospitalDto _hospital = new HospitalDto
                {
                    Id                 = hospital.Id,
                    Name               = hospital.Name,
                    LevelOfPain        = query.LevelOfPain.Value,
                    AverageProcessTime = waiting.AverageProcessTime,
                    PatientCount       = waiting.PatientCount,
                    WaitingTime        = waitingTime,
                    Location           = hospital.Location
                };

                hospitals.Add(_hospital);
            }

            return(hospitals.OrderBy(h => h.WaitingTime).ToList());
        }
Example #2
0
        public void CallBack(WaitingModel model, QQEventModel eventModel)
        {
            var info = new MsgInformation()
            {
                Information = InformationType.CommandBack,
                RelationId  = model.RelationId,
                Msg         = JsonConvert.SerializeObject(eventModel.Result)
            };

            WSMgr.PublishInformation(info);
        }
        public ActionResult Waiting()
        {
            var minimumCount = Request.GetParamInt("minimum", defaultValue: 3);
            var groups       = ControllerUtil.CreateJenkinsClient()
                               .GetQueuedItemInfoList()
                               .Where(x => x.PullRequestInfo != null)
                               .GroupBy(x => x.JobId.Name)
                               .Where(x => x.Count() >= minimumCount);

            var model = new WaitingModel()
            {
                MinimumCount = minimumCount,
                Items        = groups
            };

            return(View(viewName: "Waiting", model: model));
        }
Example #4
0
        public void CallBack(WaitingModel model, QQEventModel eventModel)
        {
            try
            {
                dynamic result    = eventModel.Result["result"];
                var     buddy     = result["buddy"];
                var     info_list = buddy["info_list"];

                var info = new MsgInformation()
                {
                    Information = InformationType.CommandBack,
                    RelationId  = model.RelationId,
                    Msg         = JsonConvert.SerializeObject(info_list[0])
                };
                WSMgr.PublishInformation(info);
            }
            catch (Exception e)
            {
                RuntimeLogger.Log(e);
            }
        }
Example #5
0
        /// <summary>
        /// 用户登录
        /// </summary>
        private void UserLogin()
        {
            if (!manage.Login())
            {
                return;
            }

            // 显示等待界面
            var waiting = new WaitingModel();
            var view    = waiting.view;

            view.Show();
            view.Refresh();


            // 关闭登录对话框,进入主窗体
            manage.view.Close();
            // ReSharper disable once UnusedVariable
            var controller = new MainForm.Controller();

            // 关闭等待界面
            Thread.Sleep(1000);
            view.Close();
        }
Example #6
0
 public void CallBack(WaitingModel model, QQEventModel eventModel)
 {
 }
 public WaitingViewModel(VideoInfo vid)
 {
     Model = new WaitingModel(vid);
 }
 public WaitingViewModel()
 {
     Model = new WaitingModel();
 }