Пример #1
0
            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;
                }
            }