public async Task <int> Count(ImageFileFilter filter) { IQueryable <ImageFileDAO> ImageFileDAOs = DataContext.ImageFile; ImageFileDAOs = DynamicFilter(ImageFileDAOs, filter); return(await ImageFileDAOs.CountAsync()); }
public async Task <int> Count([FromBody] ImageFileMaster_ImageFileFilterDTO ImageFileMaster_ImageFileFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } ImageFileFilter ImageFileFilter = ConvertFilterDTOToFilterEntity(ImageFileMaster_ImageFileFilterDTO); return(await ImageFileService.Count(ImageFileFilter)); }
public async Task <List <ImageFileMaster_ImageFileDTO> > List([FromBody] ImageFileMaster_ImageFileFilterDTO ImageFileMaster_ImageFileFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } ImageFileFilter ImageFileFilter = ConvertFilterDTOToFilterEntity(ImageFileMaster_ImageFileFilterDTO); List <ImageFile> ImageFiles = await ImageFileService.List(ImageFileFilter); return(ImageFiles.Select(c => new ImageFileMaster_ImageFileDTO(c)).ToList()); }
public async Task <List <ImageFile> > List(ImageFileFilter filter) { if (filter == null) { return(new List <ImageFile>()); } IQueryable <ImageFileDAO> ImageFileDAOs = DataContext.ImageFile; ImageFileDAOs = DynamicFilter(ImageFileDAOs, filter); ImageFileDAOs = DynamicOrder(ImageFileDAOs, filter); var ImageFiles = await DynamicSelect(ImageFileDAOs, filter); return(ImageFiles); }
public ImageFileFilter ConvertFilterDTOToFilterEntity(ImageFileMaster_ImageFileFilterDTO ImageFileMaster_ImageFileFilterDTO) { ImageFileFilter ImageFileFilter = new ImageFileFilter(); ImageFileFilter.Selects = ImageFileSelect.ALL; ImageFileFilter.Id = new LongFilter { Equal = ImageFileMaster_ImageFileFilterDTO.Id }; ImageFileFilter.Path = new StringFilter { StartsWith = ImageFileMaster_ImageFileFilterDTO.Path }; ImageFileFilter.Name = new StringFilter { StartsWith = ImageFileMaster_ImageFileFilterDTO.Name }; return(ImageFileFilter); }
public async Task <bool> ValidateId(ImageFile ImageFile) { ImageFileFilter ImageFileFilter = new ImageFileFilter { Skip = 0, Take = 10, Id = new LongFilter { Equal = ImageFile.Id }, Selects = ImageFileSelect.Id }; int count = await UOW.ImageFileRepository.Count(ImageFileFilter); if (count == 0) { ImageFile.AddError(nameof(ImageFileValidator), nameof(ImageFile.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task <List <ImageFile> > List(ImageFileFilter ImageFileFilter) { List <ImageFile> ImageFiles = await UOW.ImageFileRepository.List(ImageFileFilter); return(ImageFiles); }
public async Task <int> Count(ImageFileFilter ImageFileFilter) { int result = await UOW.ImageFileRepository.Count(ImageFileFilter); return(result); }
private IQueryable <ImageFileDAO> DynamicOrder(IQueryable <ImageFileDAO> query, ImageFileFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case ImageFileOrder.Id: query = query.OrderBy(q => q.Id); break; case ImageFileOrder.Path: query = query.OrderBy(q => q.Path); break; case ImageFileOrder.Name: query = query.OrderBy(q => q.Name); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case ImageFileOrder.Id: query = query.OrderByDescending(q => q.Id); break; case ImageFileOrder.Path: query = query.OrderByDescending(q => q.Path); break; case ImageFileOrder.Name: query = query.OrderByDescending(q => q.Name); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }
private IQueryable <ImageFileDAO> DynamicFilter(IQueryable <ImageFileDAO> query, ImageFileFilter filter) { if (filter == null) { return(query.Where(q => false)); } if (filter.Id != null) { query = query.Where(q => q.Id, filter.Id); } if (filter.Path != null) { query = query.Where(q => q.Path, filter.Path); } if (filter.Name != null) { query = query.Where(q => q.Name, filter.Name); } if (filter.Ids != null) { query = query.Where(q => filter.Ids.Contains(q.Id)); } if (filter.ExceptIds != null) { query = query.Where(q => !filter.ExceptIds.Contains(q.Id)); } return(query); }
private async Task <List <ImageFile> > DynamicSelect(IQueryable <ImageFileDAO> query, ImageFileFilter filter) { List <ImageFile> ImageFiles = await query.Select(q => new ImageFile() { Id = filter.Selects.Contains(ImageFileSelect.Id) ? q.Id : default(long), Path = filter.Selects.Contains(ImageFileSelect.Path) ? q.Path : default(string), Name = filter.Selects.Contains(ImageFileSelect.Name) ? q.Name : default(string), }).ToListAsync(); return(ImageFiles); }