public async Task <ActionResult> EditInscripcion(int?id) { { if (id == null) { return(Content("Debe incluir el id")); } try { var inscripcionTask = _inscripcionEndpoint.Get(id, _userSession.BearerToken); var alumnosTask = _usuarioEndpoint.GetAll(_userSession.BearerToken); await Task.WhenAll(inscripcionTask, alumnosTask); var inscripcion = _mapper.Map <MvcInscripcionModel>(source: inscripcionTask.Result); var alumnos = _mapper.Map <IEnumerable <MvcUsuarioModel> >(source: alumnosTask.Result); var viewModel = new EditInscripcionRecibidaViewModel(inscripcion: inscripcion); return(PartialView("_EditInscripcionRecibida", viewModel)); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDenied", "Error")); } catch (NotFoundRequestException ex) { return(Content($"{ex.StatusCode}: Elemento no encontrado")); } catch (Exception ex) { return(RedirectToAction("SpecificError", "Error", new { error = ex.Message })); } } }
// Search --> Búsqueda Mis Inscripciones --> TO-DO // Unsubscribe - POST Alumno/Inscripcion/ID public async Task <ActionResult> UnsubscribeInscripcion(int?id) { if (id == null) { return(Content("Debe incluir el id")); } try { await _inscripcionEndpoint.Get(id, _userSession.BearerToken); var inscripcionTask = _inscripcionEndpoint.Get(id, _userSession.BearerToken); await Task.WhenAll(inscripcionTask); var inscripcion = _mapper.Map <MvcInscripcionModel>(source: inscripcionTask.Result); if (inscripcion.State == MvcInscripcionModel.InscripcionStates.Active) { inscripcion.State = MvcInscripcionModel.InscripcionStates.Canceled; } else { return(Content("Esta inscripción ya fue cancelada, o ya ha finalizado la fecha del horario consulta")); } var entity = _mapper.Map <Inscripcion>(source: inscripcion); await _inscripcionEndpoint.Put(entity, _userSession.BearerToken); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDenied", "Error")); } catch (NotFoundRequestException ex) { return(Content($"{ex.StatusCode}: Elemento no encontrado")); } catch (Exception ex) { return(RedirectToAction("SpecificError", "Error", new { error = ex.Message })); } // TempData may be used to check in the view whether the deletion was successful or not TempData["SuccessMessage"] = "Unsubscribe Sucessfully"; return(Content("OK")); }