Exemple #1
0
        // Bind(Include = "...") is used to avoid overposting attacks
        public async Task <ActionResult> Edit(EditHorarioConsultaFechadoViewModel viewModel)
        {
            try
            {
                var entity = _mapper.Map <HorarioConsultaFechado>(viewModel.HorarioConsultaFechado);

                await _horarioConsultaFechadoEndpoint.Put(entity, _userSession.BearerToken);
            }
            catch (UnauthorizedRequestException)
            {
                return(RedirectToAction("AccessDeniedPartial", "Error"));
            }
            catch (BadRequestException ex)
            {
                var horariosConsultaTask = _horarioConsultaEndpoint.GetAll(_userSession.BearerToken);

                await Task.WhenAll(horariosConsultaTask);

                var horariosConsulta = _mapper.Map <IEnumerable <MvcHorarioConsultaModel> >(source: horariosConsultaTask.Result);

                viewModel.SetHorariosConsultaAsSelectList(horariosConsulta);
                viewModel.SetEstadosAsSelectList();

                ModelState.AddModelErrors(ex.Errors);

                return(PartialView("_Edit", viewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message }));
            }

            return(Content("OK"));
        }
Exemple #2
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 }));
            }
        }