Esempio n. 1
0
        public async Task <IActionResult> EditAvatar(Guid id)
        {
            var presenter     = new MvcGetEditAvatarPresenter();
            var useCaseResult = await mediator.Send(new GetEditAvatar(id, presenter));

            if (useCaseResult.IsSuccessful)
            {
                return(View(presenter.GetViewModel()));
            }

            var map = new Dictionary <ResultCategory, Func <IActionResult> >
            {
                { ResultCategory.NotFound, NotFound },
                { ResultCategory.AccessDenied, Forbid },
                { ResultCategory.GeneralFailure, () => StatusCode(500) },
            };

            return(map[useCaseResult.ResultCategory]());
        }