public ActionResult Edit(Oficinas oficina)
        {
            //if (_unit.Oficinas.Update(oficina)) return RedirectToAction("Index");

            //return PartialView("_Edit", oficina);

            /*Consumiendo el webapi*/
            var httpClient = new HttpClient();
            //1.Recuperamos el token
            var context     = Request.GetOwinContext();
            var tokenString = context.Authentication.User.Claims.ElementAt(4).Value;

            //2.Consumir el servicio
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenString);//colocamos la cabecera
            //para mandar la información en el body
            var content     = JsonConvert.SerializeObject(oficina);
            var buffer      = System.Text.Encoding.UTF8.GetBytes(content);
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var json          = httpClient.PutAsync("https://localhost:44329/oficina", byteContent);
            var result        = json.Result.Content.ReadAsStringAsync().Result;
            var contentResult = JsonConvert.DeserializeObject <Dictionary <string, Boolean> >(result);

            if (contentResult["status"])
            {
                return(RedirectToAction("Index"));
            }
            return(PartialView("_Edit", oficina));
        }
        public ActionResult Create(Oficinas oficina)
        {
            //if (ModelState.IsValid)
            //{
            //    _unit.Oficinas.Insert(oficina);
            //    return RedirectToAction("Index");
            //}
            //return PartialView("_Create",oficina);

            /*Utilizando la inyeccion de dependencia para obtener el token y consumir el webapi*/
            if (ModelState.IsValid)
            {
                var httpClient = new HttpClient();

                //Paso 1: consultar el token con inyección de dependencia
                var tokenString = _externalAPIToken.GetExternalAPIToken();

                //Paso 2: Consumir el servicio
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenString);

                var content     = JsonConvert.SerializeObject(oficina);
                var buffer      = System.Text.Encoding.UTF8.GetBytes(content);
                var byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                var json = httpClient.PostAsync("https://localhost:44329/oficina", byteContent);

                return(RedirectToAction("Index"));
            }
            return(PartialView("_Create", oficina));
        }
Esempio n. 3
0
        public ActionResult detalleAjax(int id)
        {
            var oficina = Oficinas.dameDatosOficina(id);

            ViewBag.subtitulo = "Datos de nuestra oficina " + oficina.nombre;

            return(View(oficina));
        }
Esempio n. 4
0
        public ActionResult contacto()
        {
            ViewBag.subtitulo = "Contacta con nosotros";

            var oficinas = Oficinas.dameSucursales();

            return(View(oficinas));
        }
 public ActionResult DeletePost(Oficinas oficina)
 {
     if (_unit.Oficinas.Delete(oficina))
     {
         return(RedirectToAction("Index"));
     }
     return(PartialView(_unit.Oficinas.GetById(oficina.Id)));
 }
        public IHttpActionResult GuardarOficina(Oficinas oficina)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var id = _unit.Oficinas.Insert(oficina);

            return(Ok(new { id = id }));
        }
 public IHttpActionResult ActualizarOficina(Oficinas oficina)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     if (!_unit.Oficinas.Update(oficina))
     {
         return(BadRequest("incorrecto id"));
     }
     return(Ok(new { status = true }));
 }
        public IHttpActionResult Delete(Oficinas oficina)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var result = _unit.Oficinas.Delete(oficina);

            if (result)
            {
                return(Ok(new { delete = true }));
            }
            else
            {
                return(BadRequest("No se eliminó la oficina"));
            }
        }