//жалоба на пользователя public string Complaint(ComplaintPerson complaint, Person personCurrent) { var users = db.Users.ToList(); // все пользователи var roles = db.Roles.ToList(); // все роли var adminRole = roles.FirstOrDefault(x => x.Name == "admin"); // роль администратора var usersRole = db.Users.Where(u => u.Roles.Any(p => p.RoleId == adminRole.Id)); // все пользователи,обладающие правами администратора var complaintUser = users.FirstOrDefault(x => x.Id == complaint.Id); // пользователь,на которого жалоба Chat dialog = new Chat() { Name = "Жалоба на пользователя:" + complaintUser.Email + " дата:" + DateTime.Now }; foreach (var x in usersRole) { dialog.PeopleChat.Add(x); dialog.PeopleChat.Add(personCurrent); } db.Chats.Add(dialog); db.SaveChanges(); Message message = new Message() { Text = complaint.Text, FromId = personCurrent.Id, FromName = personCurrent.Email, ChatId = dialog.Id, DateTime = DateTime.Now }; db.Messages.Add(message); db.SaveChanges(); return("Жалоба на пользователя:" + complaintUser.Email + " отпправлена на рассмотрение Администратору"); }
public string Complaint([FromBody] ComplaintPerson complaint) { var personCurrent = CurrentPerson(); return(repo.Complaint(complaint, personCurrent)); }