// SyncPermissionFromServer // public RESULT SyncPermissionFromServer(string credential, ref DateTime last_server_sync_time, out string[] permissionId, out PERMISSION_STATE[] final_state_code) { // Authenticate LoginObjectEntity loginEnity = _purViewManager.GetLoginObject(credential); IList<PermissionEntity> tempList = _permissionSyncAdapter.PermissionSyncFromServer(loginEnity, last_server_sync_time, out new_server_download_time); }
// PermissionSyncToServer() public int PermissionSyncToServer(string permissionID, PERMISSION_STATE targetStateCode, LoginObjectEntity actionUser, out PERMISSION_STATE finalStateCode) { return _permissionManager.SyncPermissionToServer(permissionID, time, targetStateCode, actionUser, out finalStateCode); }
// SyncPermissionsToServer // public RESULT SyncPermissionsToServer(string credential, string[] permissionId, PERMISSION_STATE[] target_state_code, out PERMISSION_STATE[] final_state_code,out RESULT[] result) { // Authenticate LoginObjectEntity loginEnity = _purViewManager.GetLoginObject(credential); // PermissionSyncToServer result[i] = (RESULT)_permissionSyncAdapter.PermissionSyncToServer(permissionId[i], target_state_code[i], loginEnity, out final_state_code[i]); }
// SyncPermissionToServer() public int SyncPermissionToServer(string permissionID, DateTime actionTime, PERMISSION_STATE targetStateCode, LoginObjectEntity actionUser, out PERMISSION_STATE finalStateCode) { // Get permission from DB PermissionEntity entity = _permissionEntityDAO.Get(permissionID); // Get STATUS_CODE from T_PERMISSION_STATUS, which // - PermissionTypeID = permission.PermissionTypeID // - PermissionStatusCode = targetStateCode GetFormCodeFromPermissionStatus(entity, targetStateCode, out targetFormCode); // If the permission has been updated by ERP server, update finalStateCode as ERP server if (entity.ToStatusCode.Trim() != string.Empty) { finalStateCode = (PERMISSION_STATE)entity.PermissionState; return 1; } // Process one permission (communicate with ERP) // Below is the fake code in test IFormDataAccessor tempDataAccessor = GetFormDataAccessor(entity.FormCode); tempDataAccessor.SyncPermissionToServer(entity, ref actionTime, targetFormCode, ref actionUserCode, out finalFormCode, out actionSystemCode) // Update permission entity.FormUpdateTime = MBSDateConverter.ConvertTimeToString(actionTime); entity.PermissionUpdateTime = MBSDateConverter.ConvertTimeToString(actionTime); entity.FormStatusCode = finalFormCode; entity.ToStatusCode = finalFormCode; entity.PermissionState = (decimal)finalStateCode; // Update process result into DB _permissionEntityDAO.Update(entity, wrapper.Transaction); // Scan ERP if it has more permission waiting for process // TODO: confirmed with Long // Usually, after one permission is confirmed by ERP, we need query // ERP DB again to get the new permission. // Now, we generate it automatically. UpdateNextPermission(entity, wrapper.Transaction); }