protected override IWorkbook CreateExcelWorkBook(string locale, ExportTemplate exportTemplate, SearchArgs <Material> searchArgs) { IWorkbook workbook = new XSSFWorkbook(); //导出当前页 if (searchArgs.Pagination && searchArgs.Model != null && searchArgs.Model.CategoryId.HasValue) { var result = SearchDic(searchArgs); var category = MaterialCategoryService.GetById(searchArgs.Model.CategoryId); CreateSingleSheet(workbook, category, locale, "Sheet1", exportTemplate, result); return(workbook); } //导出所有 else { //先获取类别 每个类别创建一个Sheet var categories = MaterialCategoryService.Search(new SearchArgs <MaterialCategory> { Pagination = false }).Items; foreach (var category in categories) { var result = SearchDic(new SearchArgs <Material>() { Model = new Material() { CategoryId = category.Id } }); CreateSingleSheet(workbook, category, locale, "en-us".EqualsIgnoreCase(locale) ? category.Code : category.Name, exportTemplate, result); } } return(workbook); }
public override MaterialTypeDTO GetById(int?id) { var dto = base.GetById(id); if (dto != null) { var categoryDTO = MaterialCategoryService.GetById(dto.CategoryId); var typeConfigs = MaterialTypeConfigRepository.Find(x => x.MaterialTypeId == id).ToDictionary(x => x.ConfigKey); dto.Configs = categoryDTO.Configs.OrderBy(x => x.Sort).Select(x => new MaterialTypeConfigDTO() { ConfigKey = x.ConfigKey, ConfigKeyDesc = x.ConfigKeyDesc, ConfigValueType = x.ConfigValueType, ConfigDefaultValue = typeConfigs.ContainsKey(x.ConfigKey) ? typeConfigs[x.ConfigKey].ConfigDefaultValue : null, MaterialTypeId = dto.Id, Remark = x.Remark, Sort = x.Sort }).ToList(); } return(dto); }
public override PageResult <MaterialTypeDTO> Search(SearchArgs <MaterialType> searchArgs) { var result = base.Search(searchArgs); foreach (var item in result.Items) { var typeConfigs = MaterialTypeConfigRepository.Find(x => x.MaterialTypeId == item.Id).OrderBy(x => x.Sort); var categoryDTO = MaterialCategoryService.GetById(item.CategoryId); item.Configs = categoryDTO.Configs.Select(x => new MaterialTypeConfigDTO() { ConfigKey = x.ConfigKey, ConfigKeyDesc = x.ConfigKeyDesc, ConfigValueType = x.ConfigValueType, ConfigDefaultValue = typeConfigs.FirstOrDefault(y => y.ConfigKey == x.ConfigKey) == null ? null : typeConfigs.FirstOrDefault(y => y.ConfigKey == x.ConfigKey).ConfigDefaultValue, MaterialTypeId = item.Id, Remark = x.Remark, Sort = x.Sort }).OrderBy(x => x.Sort).ToList(); } return(result); }