Exemplo n.º 1
0
        public async Task <Result <PagedList <BugTicketListItemModel> > > GetBugTickets([FromBody] BugTicketFilter filter)
        {
            if (filter.To.HasValue)
            {
                filter.To = filter.To.Value.AddDays(1);
            }
            var result = await _helpService.GetBugTicketsAsync(filter);

            var toReturn = new PagedList <BugTicketListItemModel>
            {
                Items = result.Items.Select(p => new BugTicketListItemModel(p)).ToList(),
                Count = result.Count,
            };

            var superAdmin   = _referenceData.AdminRoles.Single(x => x.Key == (int)RoleType.SuperAdminUser).Text;
            var isSuperAdmin = HttpContext.User.IsInRole(superAdmin.Normalize());
            int userId       = Int32.Parse(_userManager.GetUserId(User));

            foreach (var item in toReturn.Items)
            {
                if (isSuperAdmin || item.IdAddedBy == userId)
                {
                    item.AllowDelete = true;
                }
            }

            return(toReturn);
        }