public IHttpActionResult PutCapitulo(int id, CapituloWrapper Req) { if (!AdminValidator()) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var capitulo = Req.Capitulo; capitulo.ID = id; var URLAlternativos = Req.urlAlternativos; db.UrlAlternativo.RemoveRange(db.UrlAlternativo.Where(x => x.CapituloID == id)); if (URLAlternativos != null) { foreach (UrlAlternativo urlAlternativo in URLAlternativos) { urlAlternativo.CapituloID = id; db.UrlAlternativo.Add(urlAlternativo); } } db.Entry(capitulo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CapituloExists(id)) { return(NotFound()); } else { throw; } } catch { return(InternalServerError()); } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostCapitulo(CapituloWrapper Req) { if (!AdminValidator()) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var capitulo = Req.Capitulo; try { var URLAlternativos = Req.urlAlternativos; db.Capitulo.Add(capitulo); db.SaveChanges(); if (URLAlternativos != null) { foreach (UrlAlternativo urlAlternativo in URLAlternativos) { urlAlternativo.CapituloID = capitulo.ID; db.UrlAlternativo.Add(urlAlternativo); } } db.SaveChanges(); } catch { return(Conflict()); } return(CreatedAtRoute("DefaultApi", new { id = capitulo.ID }, capitulo)); }
public ActionResult Guardar(CapituloCLS capitulo, List <UrlAlternativo> urlAlternativo) { Token token = HttpContext.Session["token"] as Token; if (token == null || token.ExpiresAt < DateTime.Now) { return(RedirectToAction("Index", "Authentication")); } var req = new CapituloWrapper(); req.Capitulo = capitulo; req.urlAlternativos = urlAlternativo; try { int ID = capitulo.ID ?? 0; HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri(baseURL); httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken); string reqJson = JsonConvert.SerializeObject(req); HttpContent body = new StringContent(reqJson, Encoding.UTF8, "application/json"); if (ID == 0) { HttpResponseMessage response = httpClient.PostAsync(basePath + "api/Capitulos", body).Result; if (response.IsSuccessStatusCode) { return(Json( new { success = true, message = "Capitulo creado satisfactoriamente" }, JsonRequestBehavior.AllowGet)); } else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { return(RedirectToAction("Index", "Authentication")); } } else { HttpResponseMessage response = httpClient.PutAsync($"{basePath}api/Capitulos/{ID}", body).Result; if (response.IsSuccessStatusCode) { return(Json( new { success = true, message = "Capitulo modificado satisfactoriamente" }, JsonRequestBehavior.AllowGet)); } } throw new Exception("Error desconocido al guardar capitulo"); } catch (Exception e) { return(Json( new { success = false, message = e.InnerException }, JsonRequestBehavior.AllowGet)); } }