public async Task <AssignAlertResponse> Handle(AssignAlertCommand request, CancellationToken cancellationToken) { var alerts = await _repo.FindAsync((a => a.AnalystId == request.OldAnalystId && a.AlertId == request.AlertId), request.OldAnalystId.ToString()); var alert = alerts.FirstOrDefault(); if (alert != null) { var oldAnalystId = alert.AnalystId.ToString(); var oldId = alert.Id.ToString(); alert.AnalystId = request.NewAnalystId; alert.UpdateDateUtc = DateTime.UtcNow; alert.Id = Guid.NewGuid(); await _repo.SaveAsync(alert, alert.AnalystId.ToString()); await _repo.DeleteAsync(oldId, oldAnalystId); //(alert.Id.ToString()); //request.OldAnalystId.ToString()); return(new AssignAlertResponse { AlertId = alert.AlertId, AnalystId = alert.AnalystId, UpdateDate = alert.UpdateDateUtc }); } else { throw new Exception("Alert not found"); } }
public async Task <FindAlertResponse> Handle(FindAlertCommand request, CancellationToken cancellationToken) { var alert = await _repo.FindAsync(request.Id, request.PartitionKey); return(new FindAlertResponse { Alert = alert }); }