public ActionResult EnterToOperation(int idOperation) { OperationUser operationUser = new OperationUser(); operationUser.UserId = UserId; operationUser.OperationId = idOperation; _operationsRepository.EnterToOperationUser(operationUser); _operationsRepository.SaveChanges(); return(Ok()); }
public ActionResult <IEnumerable <User> > AddUsersToOperations() { //var activeOperation = _operationRepository.GetActiveOperation(UserId); var activeOperationId = _operationRepository.GetActiveOperationId(UserId); var activeOperation = _operationRepository.GetById(activeOperationId); var users = _userRepository.Get(UserRoleId: 4, UserStatusId: 2).ToList(); users.AddRange(_userRepository.Get(UserRoleId: 4, UserStatusId: 3).ToList()); var activeOperationUsers = _userRepository.Get(activeOperationId).ToList(); var usersToAdd = activeOperationUsers; foreach (var user in users) { if (!activeOperationUsers.Any(c => c.Id == user.Id)) { usersToAdd.Add(user); } } activeOperation.Users = usersToAdd; //foreach (var user in users) //{ // activeOperation.Users.Append(user); //} _operationRepository.Update(activeOperation); // Best practice _operationRepository.SaveChanges(); _notificationHub.Clients.All.SendAsync("SendMessage", "У вас новая операция"); _notificationHub.Clients.All.SendAsync("Notification", "Вам назначена новая операция"); return(Ok()); }