예제 #1
0
        public IHttpActionResult Get(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(BadRequest("非法请求!"));
            }

            try
            {
                UserEvent userEvent = bll.Get(p => p.EVENTID.Equals(id));
                if (userEvent == null)
                {
                    return(BadRequest("记录不存在!"));
                }

                ExtUserEvent extUserEvent = GetExtData(userEvent);

                return(Ok(extUserEvent));
            }
            catch (Exception ex)
            {
                LogService.WriteErrorLog("DoTreatmentController[Get]", ex.ToString());
                return(BadRequest(ex.ToString()));
            }
        }
예제 #2
0
파일: EventsHub.cs 프로젝트: ap10111997/eme
        /// <summary>
        /// Выполняет рассылку уведомлений для подключившихся пользователей
        /// </summary>
        public override async Task OnConnectedAsync()
        {
            User user = Context.GetHttpContext().GetUser();

            if (user == null)
            {
                return;
            }

            UserEvent[] userEvents = await _database.UserEvents.Where(p => p.User.Id == user.Id).ToArrayAsync();

            if (userEvents.Length > 0)
            {
                ExtUserEvent[] extUserEvents = new ExtUserEvent[userEvents.Length];
                for (int i = 0; i < userEvents.Length; i++)
                {
                    extUserEvents[i] = (ExtUserEvent)userEvents[i];
                }

                GetUserEventsResponse userEventsResponse = new GetUserEventsResponse()
                {
                    UserEvents = extUserEvents
                };

                await Clients.Caller.SendAsync("NewEvent", userEventsResponse);
            }

            await base.OnConnectedAsync();
        }
예제 #3
0
        private ExtUserEvent GetExtData(UserEvent userEvent)
        {
            ExtUserEvent extUserEvent = new ExtUserEvent();

            extUserEvent.EventID      = userEvent.EventID;
            extUserEvent.ActionStatus = userEvent.ActionStatus;
            extUserEvent.Remarks      = userEvent.Remarks;
            List <UserEvent> tracks      = bll.GetList(p => p.USERAPPLYID.Equals(userEvent.UserApplyId)).OrderBy(p => p.CreateTime).ToList();
            UserInfoService  userService = new UserInfoService();
            UserRoleBLL      userRoleBLL = new UserRoleBLL();
            RoleBLL          roleBLL     = new RoleBLL();

            for (int i = 0; i < tracks.Count; i++)
            {
                string   _userID  = tracks[i].ToUser;
                UserInfo userInfo = userService.GetUserInfoByID(_userID);
                if (userInfo == null)
                {
                    tracks[i].ToUser = "";
                }
                else
                {
                    tracks[i].ToUser = userInfo.LoginName;
                }

                UserRole userrole = userRoleBLL.GetOne(p => p.USERID.Equals(_userID));
                if (userrole == null)
                {
                    tracks[i].Remarks = "";
                }
                else
                {
                    Role role = roleBLL.Get(userrole.RoleID);
                    tracks[i].Remarks = role == null ? "" : role.RoleName;
                }
            }


            //todo:20160119演示用,临时去了客服的代办信息
            extUserEvent.Tracks = tracks.Where(p => !p.Remarks.Contains("客服")).ToList();
            //extUserEvent.Tracks = tracks;

            DoctorControlBll dcBLL     = new DoctorControlBll();
            UserApply        userApply = dcBLL.GetModelUserApply(userEvent.UserApplyId);

            if (userApply != null)
            {
                extUserEvent.DoctorSuggest = userApply.DOCTORSUGGEST;

                GuideLineBLL gdBLL    = new GuideLineBLL();
                GuideLine    guidline = gdBLL.GetSimpleModel(userApply.CURRENTNODE);
                if (guidline != null)
                {
                    extUserEvent.CurrentNodeName  = guidline.Name;
                    extUserEvent.RecommendProcess = guidline.RecommendProcess;
                }
            }

            EventProductBLL epdBLL = new EventProductBLL();

            extUserEvent.Products = epdBLL.GetList(p => p.EVENTID.Equals(userEvent.EventID)).ToList();

            return(extUserEvent);
        }