Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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);
        }