Пример #1
0
        public async Task <IActionResult> LoginPost(
            ModIdentityServerWebMvcPartAccountViewLoginModel model,
            string action
            )
        {
            var result = new ModIdentityServerWebMvcPartAccountCommonJobLoginResult();

            var input = new ModIdentityServerWebMvcPartAccountJobLoginPostInput
            {
                Action     = action,
                Model      = model,
                ModelState = ModelState,
                UrlHelper  = Url
            };

            var(execute, onSuccess, onError) = MyModel.BuildActionLoginPost(input);

            try
            {
                result.Data = await execute().CoreBaseExtTaskWithCurrentCulture(false);

                onSuccess(result);
            }
            catch (Exception ex)
            {
                onError(ex, result);
            }

            return(input.Status switch
            {
                ModIdentityServerWebMvcPartAccountJobLoginPostEnumStatuses.Index =>
                Redirect("~/"),
                ModIdentityServerWebMvcPartAccountJobLoginPostEnumStatuses.Redirect =>
                View(
                    "Redirect",
                    new ModIdentityServerWebMvcViewRedirectModel
                {
                    RedirectUrl = result.Data.ReturnUrl
                }),
                ModIdentityServerWebMvcPartAccountJobLoginPostEnumStatuses.Return =>
                Redirect(result.Data.ReturnUrl),
                _ =>
                View("~/Views/Account/Login.cshtml", result.Data),
            });
Пример #2
0
        public async Task <IActionResult> LoginGet(string returnUrl)
        {
            var result = new ModIdentityServerWebMvcPartAccountCommonJobLoginResult();

            var input = new ModIdentityServerWebMvcPartAccountJobLoginGetInput
            {
                ReturnUrl = returnUrl
            };

            var(execute, onSuccess, onError) = MyModel.BuildActionLoginGet(input);

            try
            {
                result.Data = await execute().CoreBaseExtTaskWithCurrentCulture(false);

                onSuccess(result);
            }
            catch (Exception ex)
            {
                onError(ex, result);
            }

            return(View("~/Views/Account/Login.cshtml", result.Data));
        }