public async Task <HttpResponseMessage> AssignCandidates(HttpRequestMessage request, [FromBody] CandidatesVacanciesInDTO value) { try { var userId = ContextParser.GetUserId(request.GetRequestContext()); var result = await vacancyService.AssignCandidates(value.Vacancies, value.Candidates, userId); unitOfWork.Save(); foreach (var item in result.Events) { var notification = await notificationService.CreateNotification(item.Key, NotificationTypes.Update, item.Value); if (NotificationsHub.IsConnected(item.Key)) { await NotificationsHub.PushNotification(notification); } } unitOfWork.Save(); return(request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { logger.Error(ex); return(request.CreateResponse(HttpStatusCode.InternalServerError)); } }