public async Task <int> Handle(CreateOrUpdateAgentCommand request, CancellationToken cancellationToken) { try { var entity = new Shared.Models.Agent(); if (request.Id != 0) { entity = await _context.Agents.FindAsync(request.Id); } else { entity = new Shared.Models.Agent(); } entity.UserId = request.UserId; entity.Name = request.Name; entity.PhoneNumber = request.PhoneNumber; entity.Email = request.Email; entity.Skill = request.Skill; entity.CreatedBy = request.CreatedBy ?? "Swagger"; entity.Created = DateTime.Now; _context.Agents.Add(entity); await _context.SaveChangesAsync(cancellationToken).ConfigureAwait(false); return(entity.Id); } catch (Exception ex) { throw ex; } }
public async Task <Unit> Handle(DeleteAgentCommand request, CancellationToken cancellationToken) { try { var entity = await _context.Agents.FindAsync(request.Id); if (entity == null) { throw new NotFoundException(nameof(Shared.Models.Agent), request.Id); } _context.Agents.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); } catch (Exception ex) { throw ex; } }