Beispiel #1
0
        public static AdminInviteModel MapAdminInviteModel(Guid organizationUid)
        {
            var model = new AdminInviteModel();

            model.OrganizationUid = organizationUid;

            model.SetInputModelValues();

            return(model);
        }
Beispiel #2
0
        public async Task <ActionResult> InviteAdmin(AdminInviteModel model)
        {
            if (ModelState.IsValid)
            {
                User user    = UserManager.FindByName(model.InvitedEmail);
                bool canSend = false;

                if (user == null)
                {
                    user = new User {
                        UserName = model.InvitedEmail, Email = model.InvitedEmail, EmailConfirmed = true
                    };
                    IdentityResult result = await UserManager.CreateAsync(user);

                    canSend = result.Succeeded;

                    if (!canSend)
                    {
                        foreach (var error in result.Errors)
                        {
                            ModelState.AddModelError("", error);
                        }
                    }
                }
                else
                {
                    canSend = true;
                }

                if (canSend)
                {
                    try
                    {
                        await SendActivationMail(user);

                        return(RedirectToAction("Index"));
                    }
                    catch (System.Exception exc)
                    {
                        ModelState.AddModelError("", exc.Message);
                    }
                }
            }

            return(View(model));
        }
        public async Task <IActionResult> Invite(AdminInviteModel model)
        {
            if (model.IsNotValid())
            {
                model.SetInputModelValues();
                return(View(model));
            }

            var request  = new AdminInviteRequest(CurrentUser.Id, model.OrganizationUid, model.Email, model.FirstName, model.LastName);
            var response = await _adminService.InviteSuperAdminUser(request);

            if (response.Status.IsNotSuccess)
            {
                model.MapMessages(response);
                model.SetInputModelValues();
                return(View(model));
            }

            // todo : email gönderme senaryosu
            CurrentUser.IsActionSucceed = true;
            return(Redirect("/Admin/InviteDone/"));
        }