2023-09-13 17:31:22 +08:00
|
|
|
using System;
|
2023-04-13 11:51:03 +08:00
|
|
|
using System.Collections.Generic;
|
2023-09-07 23:30:33 +08:00
|
|
|
using System.Threading.Tasks;
|
2023-04-13 11:51:03 +08:00
|
|
|
using Aitex.Core.Account;
|
|
|
|
using Aitex.Core.Util;
|
|
|
|
using Aitex.Core.WCF;
|
|
|
|
using MECF.Framework.Common.Account.Extends;
|
|
|
|
|
|
|
|
namespace MECF.Framework.UI.Core.Accounts
|
|
|
|
{
|
2023-09-07 23:30:33 +08:00
|
|
|
public class AccountServiceClient : IAccountService
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
public AccountServiceClient()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public GetAccountInfoResult GetAccountInfo(string accountId)
|
|
|
|
{
|
|
|
|
GetAccountInfoResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAccountInfo(accountId);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void RegisterViews(List<string> views)
|
|
|
|
{
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
svc.RegisterViews(views);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
public ChangePwdResult ChangePassword(string accountId, string newPassword)
|
|
|
|
{
|
|
|
|
ChangePwdResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.ChangePassword(accountId, newPassword);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public CreateAccountResult CreateAccount(Account newAccount)
|
|
|
|
{
|
|
|
|
CreateAccountResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.CreateAccount(newAccount);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public DeleteAccountResult DeleteAccount(string accountId)
|
|
|
|
{
|
|
|
|
DeleteAccountResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.DeleteAccount(accountId);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public UpdateAccountResult UpdateAccount(Account account)
|
|
|
|
{
|
|
|
|
UpdateAccountResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.UpdateAccount(account);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public GetAccountListResult GetAccountList()
|
|
|
|
{
|
|
|
|
GetAccountListResult result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAccountList();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<Account> GetLoginUsers()
|
|
|
|
{
|
|
|
|
List<Account> result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetLoginUsers();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void KickUserOut(string accountId, string kickoutReason)
|
|
|
|
{
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
svc.KickUserOut(accountId, kickoutReason);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
public SerializableDictionary<string, SerializableDictionary<string, ViewPermission>> GetAllRolesPermission()
|
|
|
|
{
|
|
|
|
SerializableDictionary<string, SerializableDictionary<string, ViewPermission>> result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllRolesPermission();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool SaveAllRolesPermission(Dictionary<string, Dictionary<string, ViewPermission>> data)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.SaveAllRolesPermission(data);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public SerializableDictionary<string, string> GetAllViewList()
|
|
|
|
{
|
|
|
|
SerializableDictionary<string, string> result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllViewList();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public IEnumerable<string> GetAllRoles()
|
|
|
|
{
|
|
|
|
IEnumerable<string> result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllRoles();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
2023-09-12 18:11:47 +08:00
|
|
|
|
2023-04-13 11:51:03 +08:00
|
|
|
public string GetProcessViewPermission()
|
|
|
|
{
|
|
|
|
string result = null;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetProcessViewPermission();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool SaveProcessViewPermission(string viewXML)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.SaveProcessViewPermission(viewXML);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<Role> GetAllRoleList()
|
|
|
|
{
|
|
|
|
List<Role> result = new List<Role>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllRoleList();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<AccountEx> GetAllAccountExList()
|
|
|
|
{
|
|
|
|
List<AccountEx> result = new List<AccountEx>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllAccountExList();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<Role> GetRoles()
|
|
|
|
{
|
|
|
|
List<Role> result = new List<Role>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetRoles();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<AccountEx> GetAccounts()
|
|
|
|
{
|
|
|
|
List<AccountEx> result = new List<AccountEx>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAccounts();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool UpdateRole(Role p_newRole)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.UpdateRole(p_newRole);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool DeleteRole(string p_strRoleID)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.DeleteRole(p_strRoleID);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
2023-09-05 10:20:23 +08:00
|
|
|
|
|
|
|
public List<AppMenu> GetAllMenus()
|
|
|
|
{
|
|
|
|
var result = new List<AppMenu>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-09-05 10:20:23 +08:00
|
|
|
{
|
|
|
|
result = svc.GetAllMenus();
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-09-05 10:20:23 +08:00
|
|
|
public List<AppMenu> GetMenusByRole(string roleid)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
List<AppMenu> result = new List<AppMenu>();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-09-05 10:20:23 +08:00
|
|
|
result = svc.GetMenusByRole(roleid);
|
2023-04-13 11:51:03 +08:00
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int GetMenuPermission(string roleId, string menuName)
|
|
|
|
{
|
|
|
|
int result = 0;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.GetMenuPermission(roleId, menuName);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool UpdateAccountEx(AccountEx account)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.UpdateAccountEx(account);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
public bool DeleteAccountEx(string accountId)
|
|
|
|
{
|
|
|
|
bool result = false;
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
|
|
|
result = svc.DeleteAccountEx(accountId);
|
|
|
|
});
|
|
|
|
return result;
|
|
|
|
}
|
2023-09-07 23:30:33 +08:00
|
|
|
|
2023-09-13 17:31:22 +08:00
|
|
|
public async Task<LoginResult> LoginEx(string userName, string password, string role,
|
2023-09-12 18:11:47 +08:00
|
|
|
LoginClientInfo clientInfo)
|
2023-09-07 23:30:33 +08:00
|
|
|
{
|
2023-09-13 17:31:22 +08:00
|
|
|
LoginResult result = default;
|
2023-09-07 23:30:33 +08:00
|
|
|
await WCFProxy.AsyncUsing(async delegate(IAccountService svc)
|
|
|
|
{
|
2023-09-12 18:11:47 +08:00
|
|
|
result = await svc.LoginEx(userName, password, role, clientInfo);
|
2023-09-07 23:30:33 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
2023-09-12 18:11:47 +08:00
|
|
|
public void CancelLoginRequest(string userName)
|
2023-09-07 23:30:33 +08:00
|
|
|
{
|
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
|
|
|
{
|
2023-09-12 18:11:47 +08:00
|
|
|
svc.CancelLoginRequest(userName);
|
2023-09-07 23:30:33 +08:00
|
|
|
});
|
|
|
|
}
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-09-18 10:13:40 +08:00
|
|
|
public void ConfirmLoginRequest(string userName)
|
2023-09-13 17:31:22 +08:00
|
|
|
{
|
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
|
|
|
{
|
2023-09-18 10:13:40 +08:00
|
|
|
svc.ConfirmLoginRequest(userName);
|
2023-09-13 17:31:22 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2023-09-18 10:13:40 +08:00
|
|
|
public void RejectLoginRequest(string userName)
|
2023-09-13 17:31:22 +08:00
|
|
|
{
|
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
|
|
|
{
|
2023-09-18 10:13:40 +08:00
|
|
|
svc.RejectLoginRequest(userName);
|
2023-09-13 17:31:22 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2023-09-18 10:13:40 +08:00
|
|
|
public void LogoutEx(Guid myToken)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-09-18 10:13:40 +08:00
|
|
|
svc.LogoutEx(myToken);
|
2023-04-13 11:51:03 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2023-09-18 15:51:37 +08:00
|
|
|
public CredentialKeepAliveCheckResult KeepAlive(Guid myToken)
|
|
|
|
{
|
|
|
|
var result = new CredentialKeepAliveCheckResult();
|
2023-09-07 23:30:33 +08:00
|
|
|
WCFProxy.Using(delegate(IAccountService svc)
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-09-18 10:13:40 +08:00
|
|
|
result = svc.KeepAlive(myToken);
|
2023-04-13 11:51:03 +08:00
|
|
|
});
|
2023-09-12 18:11:47 +08:00
|
|
|
return result;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|