Ejemplo n.º 1
0
        public async Task <ActionResult> Edit(int haikuId, HaikuEditViewModel model)
        {
            return(await ValidateAndHandleExceptions(async (m) =>
            {
                try
                {
                    await this.CheckIfMineAsync(haikuId).ConfigureAwait(false);
                }
                catch (Exception e)
                {
                    return View("Error", new ErrorViewModel()
                    {
                        ErrorMessage = e.Message
                    });
                }

                await this.haikusService.ModifyHaikuAsync(haikuId, new HaikuModifyDto()
                {
                    Text = model.Text
                }).ConfigureAwait(false);

                var routeParams = new RouteValueDictionary();
                routeParams.Add("Skip", 0);
                routeParams.Add("Take", 20);
                routeParams.Add("SortBy", "Date");
                routeParams.Add("Order", "Descending");
                return RedirectToAction("Index", "Haikus", routeParams);
            }, model).ConfigureAwait(false));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Edit(int id)
        {
            return(await RunAndHandleExceptions(async (haikuId) =>
            {
                await CheckIfMineAsync(haikuId).ConfigureAwait(false);

                var dto = await this.haikusService.GetHaikuAsync(haikuId).ConfigureAwait(false);
                HaikuEditViewModel model = new HaikuEditViewModel()
                {
                    Id = dto.Id,
                    Text = dto.Text,
                };
                return View(model);
            }, id));
        }