public async Task <List <PictureGroupListDto> > GetPictureGroupAsync() { int pictureCount = 0; List <PictureGroupListDto> groupListDtos = new List <PictureGroupListDto>(); var defaultGroups = EnumExtensions.EnumToSelectListItem <DefaultGroups, int>(DefaultGroups.All, VappsConsts.ServerSideLocalizationSourceName); foreach (var item in defaultGroups) { int groupId = item.Value; var groupDto = new PictureGroupListDto() { Id = groupId, Name = item.Text, IsSystemGroup = true, }; if (groupId != (int)DefaultGroups.All) { groupDto.PictureNum = await _pictureManager.Pictures.Where(p => p.GroupId == groupId).CountAsync(); pictureCount += groupDto.PictureNum; } groupListDtos.Add(groupDto); } var groups = await _pictureManager.PictureGroups.OrderByDescending(o => o.Id).ToListAsync(); foreach (var item in groups) { var groupDto = new PictureGroupListDto() { Id = item.Id, Name = item.Name, CreationTime = item.CreationTime, CreatorUserId = item.CreatorUserId, PictureNum = await _pictureManager.Pictures.Where(p => p.GroupId == item.Id).CountAsync(), }; groupListDtos.Add(groupDto); pictureCount += groupDto.PictureNum; } groupListDtos.FirstOrDefault().PictureNum = pictureCount; return(groupListDtos); }
/// <summary> /// 根据枚举名称获取下拉框数据源(字符串) /// </summary> /// <param name="enumName">枚举类型名称</param> /// <returns></returns> public List <SelectListItemDto <string> > GetEnumSelectItemString(string enumName) { var result = EnumExtensions.EnumToSelectListItem <string>(typeof(VappsCoreModule), enumName.Trim(), VappsConsts.ServerSideLocalizationSourceName); if (result == null) { result = EnumExtensions.EnumToSelectListItem <string>(typeof(VappsECommerceCoreModule), enumName.Trim(), VappsConsts.ServerSideLocalizationSourceName); } if (result == null) { result = EnumExtensions.EnumToSelectListItem <string>(typeof(VappsAdvertCoreModule), enumName.Trim(), VappsConsts.ServerSideLocalizationSourceName); } var resultDto = ObjectMapper.Map <List <SelectListItemDto <string> > >(result); return(resultDto); }