public Result <SourcePage> CreateSourcePage(SourcePage aSourcePage, Result <SourcePage> aResult) { theServiceUri .At("sources", "pages") .Post(DreamMessage.Ok(MimeType.JSON, aSourcePage.ToString()), new Result <DreamMessage>()) .WhenDone(delegate(Result <DreamMessage> answer) { if (!answer.Value.IsSuccessful) { if (answer.Value.Status != DreamStatus.Ok) { aResult.Throw(new Exception()); } } else { aResult.Return(new SourcePage(JObject.Parse(answer.Value.ToText()))); } } ); return(aResult); }
private bool ValidatePage(SourcePage page) { if (page.PageNumber == null || page.PageNumber <0) return false; return true; }
public ActionResult PageEdit(string sourcePageId, string sourceId){ FoireMusesConnection connection = GetConnection(); SourcePage page = null; try { if (sourcePageId == null) { if (String.IsNullOrWhiteSpace(sourceId)) { return RedirectToAction("Missing", "Error", null); } else { Source source = connection.GetSource(sourceId, new Result<Source>()).Wait(); if (source == null) { return RedirectToAction("Missing", "Error", null); } } ViewBag.HeadTitle = "Creation"; page = new SourcePage(); page.SourceId = sourceId; } else { page = connection.GetSourcePage(sourcePageId, new Result<SourcePage>()).Wait(); if (page == null) { return RedirectToAction("Missing", "Error", null); } ViewBag.HeadTitle = "Edition"; } } catch (Exception e) { return RedirectToAction("Problem", "Error", null); } return View(page); }
public ActionResult PageEdit(SourcePage model) { if (!ValidatePage(model)) { ViewBag.Error = "Certains champs sont mal rempli ou incomplet, veuillez les remplirs correctements."; if (model.Id != null) ViewBag.HeadTitle = "Edition"; else ViewBag.HeadTitle = "Creation"; return View("PageEdit", model); } FoireMusesConnection connection = GetConnection(); try { if (model.Id == null) { model = connection.CreateSourcePage(model, new Result<SourcePage>()).Wait(); } else { SourcePage current = connection.GetSourcePage(model.Id, new Result<SourcePage>()).Wait(); if(current == null) return RedirectToAction("Problem", "Error", null); TryUpdateModel(current); model = connection.EditSourcePage(current, new Result<SourcePage>()).Wait(); } } catch (Exception e) { return RedirectToAction("Problem", "Error", null); } if (model == null) return RedirectToAction("Problem", "Error", null); return View("PageDetails", model); }
public Result<SourcePage> EditSourcePage(SourcePage aSourcePage, Result<SourcePage> aResult) { theServiceUri .At("sources", aSourcePage.SourceId, "pages") .With("sourcePageId", aSourcePage.Id) .With("sourcePageRev", aSourcePage.Rev) .Put(DreamMessage.Ok(MimeType.JSON, aSourcePage.ToString()), new Result<DreamMessage>()) .WhenDone(delegate(Result<DreamMessage> answer) { if (!answer.Value.IsSuccessful) { if (answer.Value.Status != DreamStatus.Ok) aResult.Throw(new Exception()); } else { aResult.Return(new SourcePage(JObject.Parse(answer.Value.ToText()))); } } ); return aResult; }