public async Task <ActionResult> Subscribe(
            [Bind(Include = "HorarioConsultaFechadoId, Observation, Topic")] MvcInscripcionModel inscripcion)
        {
            try {
                Usuario user = await _usuarioEndpoint.GetCurrentUsuario(token : _userSession.BearerToken);

                inscripcion.State    = MvcInscripcionModel.InscripcionStates.Active;
                inscripcion.AlumnoId = user.Id;

                var entity = _mapper.Map <Inscripcion>(source: inscripcion);

                await _inscripcionEndpoint.Post(entity, _userSession.BearerToken);
            } catch (UnauthorizedRequestException) {
                return(RedirectToAction("AccessDeniedPartial", "Error"));
            } catch (BadRequestException ex) {
                HorarioConsultaFechado entity = await _horarioConsultaFechadoEndpoint.Get(inscripcion.HorarioConsultaFechadoId, _userSession.BearerToken);

                var horarioFechado = _mapper.Map <MvcHorarioConsultaFechadoModel>(source: entity);

                inscripcion.HorarioConsultaFechado = horarioFechado;

                ModelState.AddModelErrors(ex.Errors);

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

            return(Content("OK"));
        }
        public async Task <ActionResult> Subscribe(int?id)
        {
            if (id == null)
            {
                return(Content("Debe incluir el id"));
            }

            try {
                HorarioConsultaFechado entity = await _horarioConsultaFechadoEndpoint.Get(id, _userSession.BearerToken);

                var horarioFechado = _mapper.Map <MvcHorarioConsultaFechadoModel>(source: entity);

                var inscripcion = new MvcInscripcionModel()
                {
                    HorarioConsultaFechado   = horarioFechado,
                    HorarioConsultaFechadoId = horarioFechado.Id
                };

                return(PartialView("_Subscribe", inscripcion));
            } catch (UnauthorizedRequestException) {
                return(Content("No esta autorizado"));
            } catch (NotFoundRequestException ex) {
                return(Content($"{ex.StatusCode}: Elemento no encontrado"));
            } catch (Exception ex) {
                return(RedirectToAction("SpecificError", "Error", new { error = ex.Message }));
            }
        }
예제 #3
0
        public IHttpActionResult Put(int id, [FromBody] HorarioConsultaFechado sentHorarioConsultaFechado)
        {
            if (id != sentHorarioConsultaFechado.Id)
            {
                return(BadRequest());
            }

            try {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                _unitOfWork.HorariosConsultaFechados.Update(sentHorarioConsultaFechado);
                _unitOfWork.Complete();
            }
            catch (Exception) {
                if (_unitOfWork.HorariosConsultaFechados.GetById(id) == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #4
0
        public IHttpActionResult Post([FromBody] HorarioConsultaFechado horarioConsultaFechado)
        {
            try {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                _unitOfWork.HorariosConsultaFechados.Insert(horarioConsultaFechado);
                _unitOfWork.Complete();

                return(CreatedAtRoute("PostHorarioConsultaFechado", new { id = horarioConsultaFechado.Id },
                                      horarioConsultaFechado));
            }
            catch (Exception ex) {
                // Send the exception as parameter
                return(BadRequest(ex.ToString()));
            }
        }
예제 #5
0
        public async Task Post(HorarioConsultaFechado entity, string token)
        {
            using (var response = await _apiHelper.ApiClient.PostAsJsonAsync("api/horariosConsultaFechado", entity, x => x.SetAuthHeaders(token)))
            {
                if (!response.IsSuccessStatusCode)
                {
                    switch (response.StatusCode)
                    {
                    case HttpStatusCode.Unauthorized:
                        throw new UnauthorizedRequestException(response);

                    case HttpStatusCode.BadRequest:
                        throw new BadRequestException(response);

                    default:
                        throw new Exception($"{response.ReasonPhrase}: Contacte a soporte para mas detalles");
                    }
                }
            }
        }