public async Task CreateAsync(CategoryArea categoryArea) { ValidateDuplicateName(categoryArea); _context.Add(categoryArea); await _context.SaveChangesAsync(); }
/// <summary> /// 创建套餐模板项构造器 /// </summary> /// <param name="itemName">模板项名称</param> /// <param name="packId">套餐模板Id</param> /// <param name="packSpaceId">套餐模板空间Id</param> /// <param name="categoryArea">品类区域</param> /// <param name="categoryIds">三级品类Id集</param> public DecorationPackItem(string itemName, Guid packId, Guid packSpaceId, CategoryArea categoryArea, IEnumerable <Guid> categoryIds) : this() { base.Name = itemName; this.PackId = packId; this.PackSpaceId = packSpaceId; this.CategoryArea = categoryArea; this.SetCategoryIds(categoryIds); }
private void ValidateNoCategoryAssigned(CategoryArea categoryArea) { var categoryAreaId = categoryArea.Id; var anyCategoryAssigned = _context.Categories.Any(c => c.CategoryArea.Id == categoryAreaId); if (anyCategoryAssigned) { throw new ValidationException($"There are one or more categories assigned to '{categoryArea?.Name}' area."); } }
public async Task <IActionResult> Post([FromBody] CategoryAreaDto categoryAreaDto) { var categoryArea = new CategoryArea { Name = categoryAreaDto.Name, Description = categoryAreaDto.Description }; await _categoryAreaService.CreateAsync(categoryArea); categoryAreaDto.Id = categoryArea.Id; return(CreatedAtRoute("GetCategoryArea", new { id = categoryAreaDto.Id }, categoryAreaDto)); }
private void ValidateDuplicateName(CategoryArea categoryArea) { var id = categoryArea.Id; var name = categoryArea?.Name?.Trim(); var sameNameAreaExists = _context.CategoryAreas .Any(c => c.Name == name && c.Id != id); if (sameNameAreaExists) { throw new EntityAlreadyExistsException($"{categoryArea?.GetEntityName()} with same name:'{name}' already exists."); } }
public static CategoryAreaDto ConvertFrom(CategoryArea categoryArea) { if (categoryArea == null) { return(null); } return(new CategoryAreaDto { Id = categoryArea.Id, Name = categoryArea.Name, Description = categoryArea.Description }); }
public async Task UpdateAsync(CategoryArea categoryArea) { ValidateDuplicateName(categoryArea); _context.CategoryAreas.Update(categoryArea); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException e) { if (!CategoryAreaExists(categoryArea.Id)) { throw new EntityNotFoundException($"{categoryArea.GetEntityName()} with Id:{categoryArea.Id} not found", e); } throw; } }
public async Task <ImportResult <CategoryArea> > Import(string csvContent) { var result = new ImportResult <CategoryArea> { ImportedEntities = new List <CategoryArea>(), ErrorMessages = new List <string>() }; int counter = 0; var records = _recordExtractor.GetRecords <CategoryAreaRecord, CategoryAreaRecordMap>(csvContent); foreach (var record in records) { counter++; if (string.IsNullOrWhiteSpace(record.Name)) { AddError(result, $"[{counter}]: Area name is null or empty."); continue; } var categoryArea = await _categoryAreaService.ReadByNameAsync(record.Name); if (categoryArea != null) { AddError(result, $"[{counter}]: Area with name: {record.Name} already exists."); continue; } categoryArea = new CategoryArea { Name = record.Name, Description = record.Description }; await _categoryAreaService.CreateAsync(categoryArea); result.ImportedEntities.Add(categoryArea); } return(result); }
/// <summary> /// 修改套餐模板项名称 /// </summary> /// <param name="packItemName">套餐模板项名称</param> /// <param name="categoryArea">品类区域</param> public void UpdateInfo(string packItemName, CategoryArea categoryArea) { base.Name = packItemName; this.CategoryArea = categoryArea; }