. initClerks Clerk . , Type, T, Clerk. -
(1) client.ClerksPKS Func<Client, string>
(2) JsonConvert.DeserializeObject<Clerk[]> JsonConvert.DeserializeObject<T[]>
(3) client.addClerk Action<Client, T>
,
void Init<T>(Client client, Func<Client, string> getPKS, Action<Client, T> addItem)
{
string[] pks = getPKS(client).Trim(','). Split(',');
foreach (string pk in pks)
{
string data = JObject.Parse(DBUtils.GetData(Constants.DBProcedures.GetProcedures.GetWorkerDetailsByPkid, pk))[Constants.ResponseJson.Data].ToString();
addItem(client, JsonConvert.DeserializeObject<T[]>(data)[0]);
}
}
private void initClerks(Client client)
{
Init<Clerk>(client, c => c.ClerksPKS, (c, x) => c.addClerk(x));
}
private void initManagers(Client client)
{
Init<Manager>(client, c => c.ManagerPK, (c, x) => c.addManager(x));
}