public async Task <ProductSegmentDto> SaveAsync(Guid orgId, ProductSegmentDto dto) { if (orgId == null || orgId == Guid.Empty) { throw new ArgumentNullException("orgId", "Org id is missing"); } ProductSegment segment = _mapper.Map <ProductSegment>(dto); if (segment.Id == Guid.Empty) { segment.OrgId = orgId; segment.DateCreated = DateTime.UtcNow; segment.DateModified = null; await _context.ProductSegments.AddAsync(segment); } else { segment.DateModified = DateTime.UtcNow; _context.ProductSegments.Update(segment); } await _context.SaveChangesAsync(); dto = _mapper.Map <ProductSegmentDto>(segment); return(dto); }
public async Task <ProductSegmentDto> GetByIdAsync(Guid segmentId) { ProductSegmentDto segment = await _context.ProductSegments .ProjectTo <ProductSegmentDto>(_mapper.ConfigurationProvider) .AsNoTracking() .SingleOrDefaultAsync(pc => pc.Id == segmentId); if (segment != null) { return(segment); } throw new KeyNotFoundException("Product segment not found"); }