예제 #1
0
        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 }));
            }
        }
예제 #2
0
        // 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"));
        }