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 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 PageDetails(string sourcePageId)
        {
            if (String.IsNullOrWhiteSpace(sourcePageId))
            {
                return(RedirectToAction("Missing", "Error", null));
            }
            FoireMusesConnection connection = GetConnection();
            SourcePage           page;

            try
            {
                page = connection.GetSourcePage(sourcePageId, new Result <SourcePage>()).Wait();
            }
            catch (Exception e)
            {
                return(RedirectToAction("Problem", "Error", null));
            }
            if (page == null)
            {
                return(RedirectToAction("Missing", "Error", null));
            }
            return(View(page));
        }