예제 #1
0
        public ActionResult Editar(int id)
        {
            try
            {
                TipoOrigenViewModel tipoOrigenViewModel = null;
                HttpResponseMessage hrmRespuestaApi;

                //Hace la llamada a la api enviandole la informacion del modelo
                hrmRespuestaApi = LLamarApi(WebApis.ApiSancionados, TipoPeticion.Get, "TipoOrigen/" + id.ToString());

                if (hrmRespuestaApi.IsSuccessStatusCode)
                {
                    var readTask = hrmRespuestaApi.Content.ReadAsAsync <TipoOrigenViewModel>();
                    readTask.Wait();

                    tipoOrigenViewModel = readTask.Result;

                    return(PartialView(tipoOrigenViewModel));
                }
                else
                {
                    HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Error, Resources.Mensajes.GeneralConsultarNoExisteId), JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Error, ex.Message), JsonRequestBehavior.AllowGet));
            }
        }
예제 #2
0
        public JsonResult Crear(TipoOrigenViewModel tipoOrigenViewModel, FormCollection formCollection)
        {
            try
            {
                JsonResult          jsnRespuesta;
                HttpResponseMessage hrmRespuestaApi;

                //Valida que se haya enviado la entidad via post
                if (tipoOrigenViewModel == null)
                {
                    jsnRespuesta = Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Exito, Resources.Mensajes.GeneralErrorInfoFormulario));
                    //ModelState.AddModelError(string.Empty, "No existen datos de tipo orígen");
                }
                else
                {
                    //Asigna el usuario que esta creando el registro
                    tipoOrigenViewModel.IdUsuario = this.IdUsuario;

                    //Valida el modelo mediante los data annotation
                    if (ModelState.IsValid)
                    {
                        //Hace la llamada a la api enviandole la informacion del modelo
                        hrmRespuestaApi = LLamarApi <TipoOrigenViewModel>(WebApis.ApiSancionados, TipoMantenimiento.Post, "TipoOrigen", tipoOrigenViewModel);

                        //Valida si la accion fue realizada de forma correcta
                        if (hrmRespuestaApi.IsSuccessStatusCode)
                        {
                            jsnRespuesta = Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Exito, Resources.Mensajes.GeneralGuardar));
                        }
                        else //Si la webapi envio error aqui se valida
                        {
                            //log response status here..
                            //Si existe error, entonces se envia un error generico y el estatus de error que regreseo la API
                            jsnRespuesta = Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Advertencia, string.Format(Resources.Mensajes.GeneralErrorGuardar, hrmRespuestaApi.StatusCode)));
                        }
                    }
                    else
                    {
                        //Si el modelo no es valido, entonces se regresa al cliente los errores del modelo
                        jsnRespuesta = Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Advertencia, ModelState));
                    }
                }

                //regresa la respuesta en un objeto json
                return(jsnRespuesta);
            }
            catch (Exception ex)
            {
                //Regresa la excepcion al cliente
                return(Json(Utilerias.GenerarMensaje(Utilerias.TipoRespuesta.Error, ex.Message)));
            }
        }