示例#1
0
        public async Task OnGetAsync()
        {
            using (var cn = Data.GetConnection())
            {
                UserSelect = await new UserSelect()
                {
                    OrgId = OrgId, IsEnabled = true
                }.ExecuteSelectListAsync(cn, FilterUserId);

                Events = await new Events().ExecuteAsync(cn);
                var eventItems = Events.Select(ev => new SelectListItem()
                {
                    Value = ev.Id.ToString(), Text = ev.Name
                });
                EventSelect = new SelectList(eventItems, "Value", "Text", FilterEventId);

                CloseReasonSelect = await new CloseReasonSelect().ExecuteSelectListAsync(cn, FilterCloseReasonId);

                var qry = new EventLogs(QueryTraces)
                {
                    OrgId         = OrgId,
                    TeamId        = CurrentOrgUser.CurrentTeamId ?? 0,
                    UserId        = FilterUserId,
                    EventId       = FilterEventId,
                    CloseReasonId = FilterCloseReasonId
                };

                if (CurrentOrgUser.CurrentAppId.HasValue)
                {
                    await CreateDefaultEventSubscriptionsAsync(cn);

                    var subs = await new MyEventSubscriptions()
                    {
                        OrgId = OrgId, UserId = UserId, AppId = CurrentOrgUser.CurrentAppId ?? 0
                    }.ExecuteAsync(cn);
                    Subscriptions    = subs.ToDictionary(row => row.EventId);
                    qry.EventsUserId = UserId;
                    qry.AppId        = CurrentOrgUser.CurrentAppId.Value;
                    qry.MyEvents     = true;
                }

                EventLogs = await qry.ExecuteAsync(cn);
            }
        }