Beispiel #1
0
 public Task RemoveFromRoleAsync(UserAccount user, string roleName)
 {
     if (user != null)
     {
         return(Task.Factory.StartNew(() =>
         {
             userRoleRepository.DeleteUserRole(user.Id, roleName);
         }));
     }
     else
     {
         throw new ArgumentNullException("user");
     }
 }
Beispiel #2
0
        public void Delete(int id)
        {
            UserRole userRole = _userRoles.GetUserRole(id);

            if (User.IsInRole(RoleNames.Host) || userRole.Role.Name != RoleNames.Host)
            {
                _userRoles.DeleteUserRole(id);
                _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRole}", userRole);

                if (userRole.Role.Name == RoleNames.Host)
                {
                    // add site specific user roles to preserve user access
                    var role = _roles.GetRoles(_alias.SiteId).FirstOrDefault(item => item.Name == RoleNames.Registered);
                    userRole = _userRoles.AddUserRole(new UserRole {
                        UserId = userRole.UserId, RoleId = role.RoleId, EffectiveDate = null, ExpiryDate = null
                    });
                    _logger.Log(LogLevel.Information, this, LogFunction.Create, "User Role Added {UserRole}", userRole);
                    role     = _roles.GetRoles(_alias.SiteId).FirstOrDefault(item => item.Name == RoleNames.Admin);
                    userRole = _userRoles.AddUserRole(new UserRole {
                        UserId = userRole.UserId, RoleId = role.RoleId, EffectiveDate = null, ExpiryDate = null
                    });
                    _logger.Log(LogLevel.Information, this, LogFunction.Create, "User Role Added {UserRole}", userRole);
                }

                _syncManager.AddSyncEvent(_alias.TenantId, EntityNames.User, userRole.UserId);
            }
        }
        public void Delete(int id)
        {
            UserRole userRole = _userRoles.GetUserRole(id);

            if (userRole != null && userRole.Role.SiteId == _alias.SiteId && (User.IsInRole(RoleNames.Host) || userRole.Role.Name != RoleNames.Host))
            {
                _userRoles.DeleteUserRole(id);
                _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRole}", userRole);

                if (userRole.Role.Name == RoleNames.Host)
                {
                    // add site specific user roles to preserve user access
                    var role = _roles.GetRoles(_alias.SiteId).FirstOrDefault(item => item.Name == RoleNames.Registered);
                    userRole = _userRoles.AddUserRole(new UserRole {
                        UserId = userRole.UserId, RoleId = role.RoleId, EffectiveDate = null, ExpiryDate = null
                    });
                    _logger.Log(LogLevel.Information, this, LogFunction.Create, "User Role Added {UserRole}", userRole);
                    role     = _roles.GetRoles(_alias.SiteId).FirstOrDefault(item => item.Name == RoleNames.Admin);
                    userRole = _userRoles.AddUserRole(new UserRole {
                        UserId = userRole.UserId, RoleId = role.RoleId, EffectiveDate = null, ExpiryDate = null
                    });
                    _logger.Log(LogLevel.Information, this, LogFunction.Create, "User Role Added {UserRole}", userRole);
                }

                _syncManager.AddSyncEvent(_alias.TenantId, EntityNames.User, userRole.UserId);
            }
            else
            {
                _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized User Role Delete Attempt {UserRoleId}", id);
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;
            }
        }
Beispiel #4
0
        public void Delete(int id)
        {
            UserRole userRole = _userRoles.GetUserRole(id);

            _userRoles.DeleteUserRole(id);
            _syncManager.AddSyncEvent(EntityNames.User, userRole.UserId);
            _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRole}", userRole);
        }
Beispiel #5
0
        public async Task Delete(int id, string siteid)
        {
            int  SiteId;
            User user = _users.GetUser(id);

            if (user != null && int.TryParse(siteid, out SiteId) && SiteId == _alias.SiteId)
            {
                // remove user roles for site
                foreach (UserRole userrole in _userRoles.GetUserRoles(user.UserId, SiteId).ToList())
                {
                    _userRoles.DeleteUserRole(userrole.UserRoleId);
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRole}", userrole);
                }

                // remove user folder for site
                var folder = _folders.GetFolder(SiteId, Utilities.PathCombine("Users", user.UserId.ToString(), Path.DirectorySeparatorChar.ToString()));
                if (folder != null)
                {
                    if (Directory.Exists(_folders.GetFolderPath(folder)))
                    {
                        Directory.Delete(_folders.GetFolderPath(folder), true);
                    }
                    _folders.DeleteFolder(folder.FolderId);
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Folder Deleted {Folder}", folder);
                }

                // delete user if they are not a member of any other sites
                if (!_userRoles.GetUserRoles(user.UserId, -1).Any())
                {
                    // get identity user
                    IdentityUser identityuser = await _identityUserManager.FindByNameAsync(user.Username);

                    if (identityuser != null)
                    {
                        // delete identity user
                        var result = await _identityUserManager.DeleteAsync(identityuser);

                        if (result != null)
                        {
                            // delete user
                            _users.DeleteUser(user.UserId);
                            _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Deleted {UserId}", user.UserId);
                        }
                        else
                        {
                            _logger.Log(LogLevel.Error, this, LogFunction.Delete, "Error Deleting User {UserId}", user.UserId, result.ToString());
                        }
                    }
                }
            }
            else
            {
                _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized User Delete Attempt {UserId}", id);
                HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden;
            }
        }
        public async Task Delete(int id, string siteid)
        {
            User user = _users.GetUser(id);

            if (user != null)
            {
                // remove user roles for site
                foreach (UserRole userrole in _userRoles.GetUserRoles(user.UserId, Int32.Parse(siteid)).ToList())
                {
                    _userRoles.DeleteUserRole(userrole.UserRoleId);
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRole}", userrole);
                }

                // remove user folder for site
                var folder = _folders.GetFolder(Int32.Parse(siteid), Utilities.PathCombine("Users", user.UserId.ToString(), Path.DirectorySeparatorChar.ToString()));
                if (folder != null)
                {
                    if (Directory.Exists(_folders.GetFolderPath(folder)))
                    {
                        Directory.Delete(_folders.GetFolderPath(folder), true);
                    }
                    _folders.DeleteFolder(folder.FolderId);
                    _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Folder Deleted {Folder}", folder);
                }

                // delete user if they are not a member of any other sites
                if (!_userRoles.GetUserRoles(user.UserId, -1).Any())
                {
                    // get identity user
                    IdentityUser identityuser = await _identityUserManager.FindByNameAsync(user.Username);

                    if (identityuser != null)
                    {
                        // delete identity user
                        var result = await _identityUserManager.DeleteAsync(identityuser);

                        if (result != null)
                        {
                            // delete user
                            _users.DeleteUser(user.UserId);
                            _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Deleted {UserId}", user.UserId);
                        }
                        else
                        {
                            _logger.Log(LogLevel.Error, this, LogFunction.Delete, "Error Deleting User {UserId}", user.UserId, result.ToString());
                        }
                    }
                }
            }
        }
        public async Task <object> DeleteUserRole([FromBody] AddUserRoleModel <TKey> model)
        {
            SuccessResult result = new SuccessResult();

            try
            {
                result.Success = await _userRole.DeleteUserRole(model, this.UserId <TKey>());
            }
            catch (Exception ext)
            {
                result.Success = false;
            }
            return(result);
        }
        public async Task <CommandResult <Provider> > ExecuteAsync(string id)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = _userManager.FindByIdAsync(userId).Result.UserName;

            try
            {
                var newId = Guid.Parse(id);
                if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.PROVIDER, ActionSetting.CanDelete))
                {
                    var getId = await _providerRepository.FindByIdAsync(newId);

                    if (getId != null)
                    {
                        //Remove Provider Role
                        var providerId = await _roleRepository.FindByNameAsync("Provider");

                        _userRoleRepository.DeleteUserRole(getId.UserId, providerId.Id);
                        //End remove provider Role
                        _providerRepository.Remove(newId);
                        await _providerRepository.SaveAsync();

                        await Logging <DeleteProviderServiceCommand> .
                        InformationAsync(ActionCommand.COMMAND_DELETE, userName, getId.ProviderName + "has been deleted");

                        return(new CommandResult <Provider>
                        {
                            isValid = true,
                            myModel = getId
                        });
                    }
                    else
                    {
                        await Logging <DeleteProviderServiceCommand> .
                        WarningAsync(ActionCommand.COMMAND_DELETE, userName, ErrorMessageConstant.ERROR_CANNOT_FIND_ID);

                        return(new CommandResult <Provider>
                        {
                            isValid = false,
                            errorMessage = ErrorMessageConstant.ERROR_CANNOT_FIND_ID
                        });
                    }
                }
                else
                {
                    await Logging <DeleteProviderServiceCommand> .
                    WarningAsync(ActionCommand.COMMAND_DELETE, userName, ErrorMessageConstant.ERROR_DELETE_PERMISSION);

                    return(new CommandResult <Provider>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_DELETE_PERMISSION
                    });
                }
            }
            catch (System.Exception ex)
            {
                await Logging <DeleteProviderServiceCommand> .
                ErrorAsync(ex, ActionCommand.COMMAND_APPROVE, userName, "Has error");

                return(new CommandResult <Provider>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.ToString()
                });
            }
        }
Beispiel #9
0
 public void Delete(int id)
 {
     UserRoles.DeleteUserRole(id);
 }
Beispiel #10
0
 public void Delete(int id)
 {
     _userRoles.DeleteUserRole(id);
     _logger.Log(LogLevel.Information, this, LogFunction.Delete, "User Role Deleted {UserRoleId}", id);
 }
Beispiel #11
0
 public void DeleteUserRole(UserRole userRole)
 {
     _userRoleRepository.DeleteUserRole(userRole);
 }
Beispiel #12
0
        public async Task <CommandResult <AppUserViewModelinUserService> > ExecuteAsync(AppUserViewModelinUserService userVm)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = _userManager.FindByIdAsync(userId).Result.UserName;

            try
            {
                if (await _checkUserIsAdminQuery.ExecuteAsync(userId) ||
                    await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.USER, ActionSetting.CanUpdate))
                {
                    var user = await _userManager.FindByIdAsync(userVm.Id.ToString());

                    user.FullName    = userVm.FullName;
                    user.Status      = userVm.Status;
                    user.Email       = userVm.Email;
                    user.PhoneNumber = userVm.PhoneNumber;
                    user.Avatar      = userVm.Avatar;
                    user.UserName    = userVm.UserName;
                    var         userRoles = _userManager.GetRolesAsync(user);
                    List <Guid> roleId    = new List <Guid>();
                    foreach (var item in userRoles.Result.ToList())
                    {
                        var getId = _roleRepository.FindByNameAsync(item).Result.Id;
                        roleId.Add(getId);
                    }
                    foreach (var item in roleId)
                    {
                        _userRoleRepository.DeleteUserRole(user.Id, item);
                    }
                    var selectedRole = userVm.NewRoles.ToArray();
                    selectedRole = selectedRole ?? new string[] { };

                    await _userManager.AddToRolesAsync(user, selectedRole.Except(userRoles.Result).ToArray());

                    //var userRoles1 = await _userManager.GetRolesAsync(user);
                    await _userManager.UpdateAsync(user);

                    await Logging <UpdateUserAsyncCommand> .InformationAsync(ActionCommand.COMMAND_UPDATE, userName, JsonConvert.SerializeObject(user));

                    return(new CommandResult <AppUserViewModelinUserService>
                    {
                        isValid = true,
                        myModel = new AppUserViewModelinUserService
                        {
                            FullName = userVm.FullName,
                            Email = userVm.Email,
                            PhoneNumber = userVm.PhoneNumber,
                            Id = userVm.Id,
                            Avatar = userVm.Avatar,
                            DateCreated = user.DateCreated,
                            UserName = user.UserName,
                            Roles = userVm.Roles.ToList()
                        }
                    });
                }
                else
                {
                    await Logging <UpdateUserAsyncCommand> .
                    WarningAsync(ActionCommand.COMMAND_UPDATE, userName, ErrorMessageConstant.ERROR_UPDATE_PERMISSION);

                    return(new CommandResult <AppUserViewModelinUserService>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_UPDATE_PERMISSION
                    });
                }
            }
            catch (Exception ex)
            {
                await Logging <UpdateUserAsyncCommand> .
                ErrorAsync(ex, ActionCommand.COMMAND_UPDATE, userName, "Has error");

                return(new CommandResult <AppUserViewModelinUserService>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.ToString()
                });
            }
        }
 public async Task <UserRoleResponse> DeleteUserRole(DeleteUserRoleRequest deleteUserRoleRequest)
 {
     return(await _userRoleRepository.DeleteUserRole(deleteUserRoleRequest));
 }
Beispiel #14
0
        public async Task <CommandResult <ProviderServiceViewModel> > ExecuteAsync(string providerId, string reason)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = _userRepository.FindByIdAsync(userId).Result.UserName;

            try
            {
                if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.PROVIDER, ActionSetting.CanUpdate))
                {
                    var mappingProvider = await _providerRepository.FindByIdAsync(Guid.Parse(providerId));

                    if (mappingProvider == null)
                    {
                        return(new CommandResult <ProviderServiceViewModel>
                        {
                            isValid = false,
                            errorMessage = ErrorMessageConstant.ERROR_CANNOT_FIND_ID
                        });
                    }
                    //Check user is Provider
                    if (_checkUserIsProviderQuery.ExecuteAsync(userId).Result.isValid == true)
                    {
                        var providerRole = await _roleRepository.FindByNameAsync(ConstantRoles.Provider);

                        _userRoleRepository.DeleteUserRole(mappingProvider.UserId, providerRole.Id);
                    }
                    mappingProvider.Status = Status.InActive;
                    _providerRepository.Update(mappingProvider);
                    await _providerRepository.SaveAsync();

                    var userMail = await _userRepository.FindByIdAsync(mappingProvider.UserId.ToString());

                    //Set content for email
                    var getEmailContent = await _getAllEmailServiceQuery.ExecuteAsync();

                    var getFirstEmail = getEmailContent.Where(x => x.Name == EmailName.Reject_Provider).FirstOrDefault();
                    getFirstEmail.Message = getFirstEmail.Message.Replace(EmailKey.UserNameKey, userMail.Email).Replace(EmailKey.ReasonKey, reason);
                    ContentEmail(_config.Value.SendGridKey, getFirstEmail.Subject,
                                 getFirstEmail.Message, userMail.Email).Wait();

                    await LoggingUser <RejectProviderServiceCommand> .
                    InformationAsync(mappingProvider.UserId.ToString(), userName, userName + "Nhà cung cấp :" + mappingProvider.ProviderName + "của bạn đã bị từ chối.Kiểm tra mail để xem lí do");

                    await Logging <RejectProviderServiceCommand> .
                    InformationAsync(ActionCommand.COMMAND_REJECT, userName, mappingProvider.ProviderName + "has been rejected");

                    return(new CommandResult <ProviderServiceViewModel>
                    {
                        isValid = true,
                    });
                }
                else
                {
                    await Logging <RejectProviderServiceCommand> .
                    WarningAsync(ActionCommand.COMMAND_REJECT, userName, ErrorMessageConstant.ERROR_UPDATE_PERMISSION);

                    return(new CommandResult <ProviderServiceViewModel>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_UPDATE_PERMISSION
                    });
                }
            }
            catch (Exception ex)
            {
                await Logging <RejectProviderServiceCommand> .
                ErrorAsync(ex, ActionCommand.COMMAND_REJECT, userName, "Has error");

                return(new CommandResult <ProviderServiceViewModel>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.ToString()
                });
            }
        }
 public async Task <ActionResult> Delete(int?id)
 {
     return(Ok(await _repository.DeleteUserRole(id)));
 }