public async Task <bool> Do_Calificar(int idProf, int idCurso, int idEstudiante, int idDesafio, CalificarViewModel model) { if (!await _data.Exist_Desafio(idDesafio, idCurso, idProf)) { return(false); } var estUserId = (await _usrService .Get_EstudianteUserId(idEstudiante)).GetValueOrDefault(); var desafio = await _data.Find_Desafio(idDesafio); var curso = await _data.Find_Curso(idCurso); _data.Add(model.Map()); _data.Do_PushNotification( NotificationType.NotificationDesafioCalificado, estUserId, new Dictionary <string, string> { ["IdCurso"] = $"{idCurso}", ["IdDesafio"] = $"{idDesafio}", ["NombreDesafio"] = desafio.Nombre, ["NombreCurso"] = curso.Nombre }); return(await _data.SaveAllAsync()); }
public async Task <IActionResult> Calificar(int idCurso, int idEstudiante, int idDesafio, CalificarViewModel model) { if (ModelState.IsValid) { var profId = _usrService.Get_ProfesorId(User.Claims); var res = await _ctrlService.Do_Calificar(profId, idCurso, idEstudiante, idDesafio, model); if (!res) { this.SetAlerts("error-alerts", "Error al insertar " + "la calificación"); } } return(RedirectToAction("Calificar", new { idCurso, idEstudiante, idDesafio })); }