public async Task <ActionResult> Edit(int?id) { if (id == null) { return(Content("Debe incluir el id")); } try { var horarioConsultaTask = _horarioConsultaEndpoint.Get(id, _userSession.BearerToken); var horarioConsultaFechadoTask = _horarioConsultaFechadoEndpoint.Get(id, _userSession.BearerToken); await Task.WhenAll(horarioConsultaTask, horarioConsultaFechadoTask); var horariosConsulta = _mapper.Map <IEnumerable <MvcHorarioConsultaModel> >(source: horarioConsultaTask.Result); var horariosConsultaFechado = _mapper.Map <MvcHorarioConsultaFechadoModel>(source: horarioConsultaFechadoTask.Result); var viewModel = new EditHorarioConsultaFechadoViewModel(horarioConsultaFechado: horariosConsultaFechado, horariosConsulta: horariosConsulta); return(PartialView("_Edit", viewModel)); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (NotFoundRequestException ex) { return(Content($"{ex.StatusCode}: Elemento no encontrado")); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } }
// Logic Delete - POST HorarioConsulta/ID public async Task <ActionResult> LogicDelete(int?id) { if (id == null) { return(Content("Debe incluir el id")); } try { await _horarioConsultaEndpoint.Get(id, _userSession.BearerToken); var horarioConsultaTask = _horarioConsultaEndpoint.Get(id, _userSession.BearerToken); await Task.WhenAll(horarioConsultaTask); var horarioConsulta = _mapper.Map <MvcHorarioConsultaModel>(source: horarioConsultaTask.Result); if (horarioConsulta.EliminationDate == null) { horarioConsulta.EliminationDate = DateTime.Today.Date; } else { return(Content("Este elemento ya estaba eliminado lógicamente")); } var entity = _mapper.Map <HorarioConsulta>(source: horarioConsulta); await _horarioConsultaEndpoint.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"] = "Logic Deleted Sucessfully"; // return Content("OK"); return(Content("OK")); }