public bool RemoveRoleFromUser(Guid userID, Guid departmentID, int roleCode)
        {
            DepartmentMemberService departmentMemberService = new DepartmentMemberService(this.UnitOfWork);
            var data = departmentMemberService.GetList(departmentID, roleCode, userID).FirstOrDefault();

            if (data != null)
            {
                departmentMemberService.Delete(data.ID);
            }
            return(true);
        }
        public ResultOperation Delete(Guid departmentId)
        {
            ResultOperation resultOperation = new ResultOperation();

            try
            {
                sysBpmsDepartment department = this.GetInfo(departmentId);
                if (department.DepartmentID.HasValue)
                {
                    resultOperation.AddError("This Organization has children, so delete the children first.");
                }
                if (resultOperation.IsSuccess)
                {
                    DepartmentMemberService      departmentMemberService      = new DepartmentMemberService(base.UnitOfWork);
                    ApplicationPageAccessService applicationPageAccessService = new ApplicationPageAccessService(base.UnitOfWork);
                    var members  = departmentMemberService.GetList(departmentId, null, null);
                    var accesses = applicationPageAccessService.GetList(departmentId);
                    this.BeginTransaction();

                    foreach (var item in members)
                    {
                        departmentMemberService.Delete(item.ID);
                    }
                    foreach (var item in accesses)
                    {
                        applicationPageAccessService.Delete(item.ID);
                    }
                    this.UnitOfWork.Repository <IDepartmentRepository>().Delete(departmentId);
                    this.UnitOfWork.Save();
                }
            }
            catch (Exception ex)
            {
                return(base.ExceptionHandler(ex));
            }
            base.FinalizeService(resultOperation);

            return(resultOperation);
        }
        public ResultOperation Delete(Guid userId)
        {
            ResultOperation resultOperation = new ResultOperation();

            if (resultOperation.IsSuccess)
            {
                try
                {
                    this.BeginTransaction();
                    //delete email accounts
                    EmailAccountService emailAccountService = new EmailAccountService(base.UnitOfWork);
                    var emailList = emailAccountService.GetList((int)sysBpmsEmailAccount.e_ObjectTypeLU.User, userId, null);
                    foreach (var item in emailList)
                    {
                        emailAccountService.Delete(item.ID);
                    }

                    //delete department member.
                    DepartmentMemberService departmentMemberService = new DepartmentMemberService(base.UnitOfWork);
                    var members = departmentMemberService.GetList(null, null, userId);
                    foreach (var item in members)
                    {
                        departmentMemberService.Delete(item.ID);
                    }

                    this.UnitOfWork.Repository <IUserRepository>().Delete(userId);
                    this.UnitOfWork.Save();
                }
                catch (Exception ex)
                {
                    resultOperation.AddError(LangUtility.Get("UserUsedError.Text", nameof(sysBpmsUser)));
                    return(base.ExceptionHandler(new Exception(LangUtility.Get("UserUsedError.Text", nameof(sysBpmsUser)))));
                }
            }
            base.FinalizeService(resultOperation);
            return(resultOperation);
        }