Exemplo n.º 1
0
        public object GetAllDashboard(GetAllFilterDto filter, User user)
        {
            IEnumerable <int> rels = _userDashRelRepository.GetAll().Where(x => x.User == user).Select(y => y.Dashboard.Id).ToList();

            IEnumerable <Dashboard> dashboards = _dashboardRepository.GetAll()
                                                 .Where(x => !x.Deleted &&
                                                        rels.Contains(x.Id) &&
                                                        (String.IsNullOrEmpty(filter.Filter) ||
                                                         x.Name.ToLower().Contains(filter.Filter.ToLower()) ||
                                                         (x.LastModifier != null && x.LastModifier.Name.ToLower().Contains(filter.Filter.ToLower())) ||
                                                         (x.Author != null && x.Author.Name.ToLower().Contains(filter.Filter.ToLower())))).ToList();
            int count = dashboards.Count();

            if (filter.Sort.Direction == Direction.Asc)
            {
                dashboards = dashboards
                             .OrderBy(z => typeof(Dashboard).GetProperty(filter.Sort.ColumnName).GetValue(z, null))
                             .Skip(filter.Page > 1 ? (filter.Page - 1) * filter.Rows : 0)
                             .Take(filter.Rows).ToList();
            }
            else
            {
                dashboards = dashboards
                             .OrderByDescending(z => typeof(Dashboard).GetProperty(filter.Sort.ColumnName).GetValue(z, null))
                             .Skip(filter.Page > 1 ? (filter.Page - 1) * filter.Rows : 0)
                             .Take(filter.Rows).ToList();
            }

            return(new AllDashboardDto
            {
                Dashboards = Mapper.Map <IEnumerable <DashboardForAllDto> >(dashboards).ToList(),
                TotalCount = count
            });
        }
Exemplo n.º 2
0
 public IActionResult GetAll([FromBody] GetAllFilterDto filter)
 {
     try
     {
         if (filter == null)
         {
             throw new BasicException("Wrong structure!");
         }
         if (!ModelState.IsValid)
         {
             BadRequest(ModelState);
         }
         User user = _userRep.GetByEmailAdd(this.User.Claims.SingleOrDefault(x => x.Type == "EmailAddress").Value);
         return(Ok(_manager.GetAllDashboard(filter, user)));
     }
     catch (BasicException ex)
     {
         _logger.LogError(ex.Message);
         return(BadRequest(ex.Message));
     }
     catch (NotFoundException ex)
     {
         _logger.LogError(ex.Message);
         return(NotFound(ex.Message));
     }
     catch (PermissionException ex)
     {
         _logger.LogError(ex.Message);
         return(Unauthorized());
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message);
         return(BadRequest());
     }
 }
Exemplo n.º 3
0
        public AllReportDto GetAllReport(GetAllFilterDto filter, User user)
        {
            IEnumerable <int> rels = _userReportRel.GetAll().Where(x => x.User == user).Select(y => y.Report.Id).ToList();

            IEnumerable <Report> reports = _reportRepository.GetAll()
                                           .Where(x => !x.Deleted &&
                                                  rels.Contains(x.Id) &&
                                                  (String.IsNullOrEmpty(filter.Filter) ||
                                                   x.Name.ToLower().Contains(filter.Filter.ToLower()) ||
                                                   (x.LastModifier != null && x.LastModifier.Name.ToLower().Contains(filter.Filter.ToLower())) ||
                                                   (x.Author != null && x.Author.Name.ToLower().Contains(filter.Filter.ToLower())) ||
                                                   x.Query.Name.ToLower().Contains(filter.Filter.ToLower()))).ToList();

            int count = reports.Count();

            if (filter.Sort.Direction == Direction.Asc)
            {
                reports = reports
                          .OrderBy(z => typeof(Report).GetProperty(filter.Sort.ColumnName).GetValue(z, null))
                          .Skip(filter.Page > 1 ? (filter.Page - 1) * filter.Rows : 0)
                          .Take(filter.Rows).ToList();
            }
            else
            {
                reports = reports
                          .OrderByDescending(z => typeof(Report).GetProperty(filter.Sort.ColumnName).GetValue(z, null))
                          .Skip(filter.Page > 1 ? (filter.Page - 1) * filter.Rows : 0)
                          .Take(filter.Rows).ToList();
            }

            return(new AllReportDto
            {
                Reports = Mapper.Map <IEnumerable <ReportForAllDto> >(reports).ToList(),
                TotalCount = count
            });
        }