Пример #1
0
        public async Task <IActionResult> CreateUserFromOkta(PayoutUser user, string strRole)
        {
            try
            {
                PayoutRole role = await _roleManager.FindByNameAsync(strRole);

                if (role != null)
                {
                    user.CreatedBy  = "Okta";
                    user.IsOkta     = true;
                    user.IsDisabled = false;
                    IdentityResult chkUser = await _userManager.CreateAsync(user);

                    //Add default User to Role Admin
                    if (chkUser.Succeeded)
                    {
                        var result1 = await _userManager.AddToRoleAsync(user, role.Name);

                        if (result1.Succeeded)
                        {
                            return(Ok(result1));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while creating Admin: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while creating Admin: " + ex.Message));
            }

            return(BadRequest());
        }
Пример #2
0
        public async Task <IActionResult> UpdateRole([FromBody] UpdateIdentity objUpdateIdentity)
        {
            try
            {
                PayoutRole payoutRole = await _roleManager.FindByNameAsync(objUpdateIdentity.id);

                PropertyInfo prop = payoutRole.GetType().GetProperty(objUpdateIdentity.colName, BindingFlags.Public | BindingFlags.Instance);
                if (null != prop && prop.CanWrite)
                {
                    prop.SetValue(payoutRole, objUpdateIdentity.colValue, null);
                }

                //payoutRole.IsDisabled = true;

                var resultUpd = await _roleManager.UpdateAsync(payoutRole);

                if (resultUpd.Succeeded)
                {
                    return(Ok(resultUpd));
                }

                foreach (var error in resultUpd.Errors)
                {
                    ModelState.AddModelError("error", error.Description);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while updating Role: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while updating Role: " + ex.Message));
            }

            return(BadRequest());
        }
Пример #3
0
        public async Task <IActionResult> DeleteRole([FromBody] PayoutRole model)
        {
            try
            {
                PayoutRole payoutRole = await _roleManager.FindByNameAsync(model.Name);

                var resultDel = await _roleManager.DeleteAsync(payoutRole);

                if (resultDel.Succeeded)
                {
                    if (OktaRequests.DeleteGroup(_optionOktaKeys.URL, _optionOktaKeys.APIKey, model.Name))
                    {
                        return(Ok(resultDel));
                    }
                }

                foreach (var error in resultDel.Errors)
                {
                    ModelState.AddModelError("error", error.Description);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while deleting Role: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while deleting Role: " + ex.Message));
            }

            return(BadRequest());
        }
Пример #4
0
        public async Task <IActionResult> CreateRole([FromBody] PayoutRole model)
        {
            try
            {
                bool x = await _roleManager.RoleExistsAsync(model.Name);

                if (!x)
                {
                    var role = new PayoutRole();
                    model.IsDisabled = false;
                    IdentityResult chkRole = await _roleManager.CreateAsync(model);

                    if (chkRole.Succeeded)
                    {
                        if (model.Name.ToLower().Contains("payout"))
                        {
                            if (OktaRequests.AddGroup(_optionOktaKeys.URL, _optionOktaKeys.APIKey, model.Name))
                            {
                                string GroupId = OktaRequests.GetGroupIdFromOkta(_optionOktaKeys.URL, _optionOktaKeys.APIKey, model.Name);

                                if (GroupId != "")
                                {
                                    if (OktaRequests.AssignGroupToApp(_optionOktaKeys.URL, _optionOktaKeys.APIKey, GroupId, _optionOktaKeys.ClientId))
                                    {
                                        return(Ok(chkRole));
                                    }
                                }
                            }
                        }
                    }

                    foreach (var error in chkRole.Errors)
                    {
                        ModelState.AddModelError("error", error.Description);
                    }
                }
                else
                {
                    ModelState.AddModelError("error", "Role already exist");
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while creating Role: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while creating Role: " + ex.Message));
            }

            return(BadRequest());
        }
Пример #5
0
        public async Task <IActionResult> FirstSeedAdminRolesandUser()
        {
            try
            {
                bool x = await _roleManager.RoleExistsAsync("ITAdmin");

                if (!x)
                {
                    // first we create Admin rool
                    var role = new PayoutRole();
                    role.Name       = "PayoutITAdmin";
                    role.CreatedBy  = "System";
                    role.IsDisabled = false;
                    await _roleManager.CreateAsync(role);

                    //Here we create a Admin super user who will maintain the website
                    var user = new PayoutUser();
                    user.UserName   = "******";
                    user.Email      = "*****@*****.**";
                    user.FirstName  = "Carlos";
                    user.LastName   = "Sanchez";
                    user.CreatedBy  = "System";
                    user.IsDisabled = false;
                    user.IsOkta     = false;

                    string         userPWD = "#Qwrty123!";
                    IdentityResult chkUser = await _userManager.CreateAsync(user, userPWD);

                    //Add default User to Role Admin
                    if (chkUser.Succeeded)
                    {
                        var result1 = await _userManager.AddToRoleAsync(user, role.Name);

                        if (result1.Succeeded)
                        {
                            return(Ok(result1));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"error while creating Admin: {ex}");
                return(StatusCode((int)HttpStatusCode.InternalServerError, "error while creating Admin: " + ex.Message));
            }

            return(BadRequest());
        }