public async Task <IActionResult> DeleteUnit(int unitId, CancellationToken cancellationToken) { if (!await _authorizationService.CanUserModifyUnitAsync(UserId, unitId)) { Unauthorized(); } var unit = await _unitsService.GetUnitByIdAsync(unitId); var auditEvent = new AuditEvent(); auditEvent.DepartmentId = DepartmentId; auditEvent.UserId = UserId; auditEvent.Type = AuditLogTypes.UnitRemoved; auditEvent.Before = unit.CloneJson(); _eventAggregator.SendMessage <AuditEvent>(auditEvent); await _unitsService.DeleteUnitAsync(unitId, cancellationToken); return(RedirectToAction("Index")); }