public async Task <IActionResult> AssignDefect(int userId, int defectId) { try { var assignedDefect = await _repo.GetAssignedDefectAsync(userId, defectId); if (assignedDefect != null) { await _repo.SaveAssignedDefect(assignedDefect); await _botNotificationSender.NotifyUserWasGivenWithDefect ( assignedDefect.AssignedWorker.TelegramId, assignedDefect.Defect ); return(Ok($"The defect was assigned successfully to {assignedDefect.AssignedWorker.FirstName} {assignedDefect.AssignedWorker?.LastName}")); } else { return(NotFound("User or defect was not found, or user has no permission to fix defects")); } } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } }