Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
 public IActionResult AddComplaint(AddComplaintModel model)
 {
     return(manager.AddComplaint(model, UserId).Result);
 }