public async Task <IActionResult> AddComplaint(AddComplaintModel model, int userId) { try { var user = await db.Users.FindAsync(userId); if (user == null) { return(new NotFoundObjectResult(new { msg = "Пользователь, отправляющий жалобу, не найден" })); } var music = await db.Musics.FindAsync(model.MusicId); if (music == null) { return(new NotFoundObjectResult(new { msg = "Музыка, на которую отправляется жалоба, не найдена" })); } var savedModel = await db.Complaints.Where(c => c.UserId == userId && c.MusicId == model.MusicId).FirstOrDefaultAsync(); if (savedModel != null) { return(new OkObjectResult(new { msg = "Вы уже оставили свою жалобу" })); } var complaint = new Complaint { ComplaintType = model.ComplaintType, UserId = userId, MusicId = model.MusicId, Message = model.Message, IsChecked = false, CreateDate = DateTime.Now }; db.Complaints.Add(complaint); await db.SaveChangesAsync(); return(new OkResult()); } catch { return(new StatusCodeResult(500)); } }
public IActionResult AddComplaint(AddComplaintModel model) { return(manager.AddComplaint(model, UserId).Result); }