示例#1
0
        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");
            }
        }
示例#2
0
        public async Task <FindAlertResponse> Handle(FindAlertCommand request, CancellationToken cancellationToken)
        {
            var alert = await _repo.FindAsync(request.Id, request.PartitionKey);

            return(new FindAlertResponse {
                Alert = alert
            });
        }