' *** User class ***
class CUserT
	Private Sub Class_Initialize()
		set oUserT = new CRemoteObject
		oUserT.Init "OriSales.UserT", ""
	End Sub

	public function Login(Country, Database, userName, Password, Language)
		'oUserT.UseSSL true
		oUserT.Method "Login", Array(Country, Database, userName, Password, Language)
		Login = oUserT.ReturnValue()
		'oUserT.UseSSL false
	end function

	public function LoginEx(Country, Database, userName, Password, Language, Workplace)
		'oUserT.UseSSL true
		oUserT.Method "Login", Array(Country, Database, userName, Password, Language, Workplace)
		LoginEx = oUserT.ReturnValue()
		'oUserT.UseSSL false
	end function

	public function LoginEx2(Country, Database, userName, Password, Language, Workplace, LocalUserInfo)
		'oUserT.UseSSL true
		oUserT.Method "Login", Array(Country, Database, userName, Password, Language, Workplace, "", "", LocalUserInfo, 0)
		LoginEx2 = oUserT.ReturnValue()
		'oUserT.UseSSL false
	end function

	public function MultiLogin(Country, Database, userName, Password, Language, Workplace)
		'oUserT.UseSSL true
		oUserT.Method "MultiLogin", Array(Country, Database, userName, Password, Language, Workplace)
		MultiLogin = oUserT.ReturnArray(Array())
		'oUserT.UseSSL false
	end function

	public sub SetUserSetting(sName, sValue)
		oUserT.MethodEx "SetUserSetting", Array(sName, sValue), Array(dtString, dtString)
		oUserT.Execute()
	end sub
	
	public sub SetUserSettingEx(sName, sValue, nUser)
		oUserT.MethodEx "SetUserSettingEx", Array(sName, sValue, nUser), Array(dtString, dtString, dtNumber)
		oUserT.Execute()
	end sub
	
	public sub SetUserSettingB(sName, bValue)
		oUserT.MethodEx "SetUserSettingB", Array(sName, bValue), Array(dtString, dtBool)
		oUserT.Execute()
	end sub	

	public sub DelUserSetting(sName)
		oUserT.MethodEx "DelUserSetting", Array(sName), Array(dtString)
		oUserT.Execute()
	end sub

	public sub DelUserSettingEx(sName, nUser)
		oUserT.MethodEx "DelUserSettingEx", Array(sName, nUser), Array(dtString, dtNumber)
		oUserT.Execute()
	end sub

	public function SetUserSettings(sXML)
		oUserT.MethodEx "SetUserSettings", Array(sXML), Array(dtString)
		SetUserSettings = oUserT.ReturnValue()
	end function
	
	public function SetUserSettingsEx(sXML, nUserID)
		oUserT.MethodEx "SetUserSettingsEx", Array(sXML, nUserID), Array(dtString, dtNumber)
		SetUserSettingsEx = oUserT.ReturnValue()
	end function

	public function SetBatchSettings(sXML)
		oUserT.MethodEx "SetBatchSettings", Array(sXML), Array(dtString)
		SetBatchSettings = oUserT.ReturnValue()
	end function

	public function SetReprintSettings(sXML)
		oUserT.MethodEx "SetReprintSettings", Array(sXML), Array(dtString)
		SetReprintSettings = oUserT.ReturnValue()
	end function

	public function SetPickSettings(sXML)
		oUserT.MethodEx "SetPickSettings", Array(sXML), Array(dtString)
		SetPickSettings = oUserT.ReturnValue()
	end function

	public function SetPackSettings(sXML)
		oUserT.MethodEx "SetPackSettings", Array(sXML), Array(dtString)
		SetPackSettings = oUserT.ReturnValue()
	end function

	public function SetManPackageSettings(sXML)
		oUserT.MethodEx "SetManPackageSettings", Array(sXML), Array(dtString)
		SetManPackageSettings = oUserT.ReturnValue()
	end function

	public function SetShipSettings(sXML)
		oUserT.MethodEx "SetShipSettings", Array(sXML), Array(dtString)
		SetShipSettings = oUserT.ReturnValue()
	end function

	public function SetPackingSettings(nCourier, sXML)
		oUserT.MethodEx "SetPackingSettings", Array(nCourier, sXML), Array(dtNumber, dtString)
		SetPackingSettings = oUserT.ReturnValue()
	end function

	public function SetQualitySettings(sXML)
		oUserT.MethodEx "SetQualitySettings", Array(sXML), Array(dtString)
		SetQualitySettings = oUserT.ReturnValue()
	end function

	public function SetDeliverySettings(sXML)
		oUserT.MethodEx "SetDeliverySettings", Array(sXML), Array(dtString)
		SetDeliverySettings = oUserT.ReturnValue()
	end function

	public function SetOriExpressSettings(sXML)
		oUserT.MethodEx "SetOriExpressSettings", Array(sXML), Array(dtString)
		SetOriExpressSettings = oUserT.ReturnValue()
	end function

	public function SetPrintersSettings(sXML)
		oUserT.MethodEx "SetPrintersSettings", Array(sXML), Array(dtString)
		SetPrintersSettings = oUserT.ReturnValue()
	end function
	
	public function SetPrintersSettingsEx(sXML, nUserID)
		oUserT.MethodEx "SetPrintersSettingsEx", Array(sXML, nUserID), Array(dtString, dtNumber)
		SetPrintersSettingsEx = oUserT.ReturnValue()
	end function

	public function ChangeUser(rsUser)
		oUserT.MethodEx "ChangeUser", Array(rsUser), Array(dtRecordset)
		ChangeUser = oUserT.ReturnValue
	end function

	public function SaveUserRights(nUserId, rsRights, rsRoles)
		oUserT.MethodEx "SaveUserRights", _
						Array(nUserId, rsRights, rsRoles), _
						Array(dtNumber, dtRecordset, dtRecordset)
		SaveUserRights = oUserT.ReturnValue
	end function

	public function SaveRoleRights(nRoleId, sDesc, rsRights)
		oUserT.MethodEx "SaveRoleRights", _
						Array(nRoleId, sDesc, rsRights), Array(dtNumber, dtString, dtRecordset)
		SaveRoleRights = oUserT.ReturnValue
	end function

	public function DeleteRole(nRoleId)
		oUserT.MethodEx "DeleteRole", Array(nRoleId), Array(dtNumber)
		DeleteRole = oUserT.ReturnValue
	end function

	public function AddUser(rsNewUser)
		oUserT.MethodEx "AddUser", Array(rsNewUser), _
									Array(dtRecordset)
		AddUser = oUserT.ReturnValue
	end function

	public function CopyUserRightsAndSettings(nNewId, nOldId, bRights, bRoles, bSettings, bWarehouse, bMenu, bBranch, bPrinters)
		oUserT.MethodEx "CopyUserRightsAndSettings", Array(nNewId, nOldId, bRights, bRoles, bSettings, bWarehouse, bMenu, bBranch, bPrinters), Array(dtNumber, dtNumber, dtBool, dtBool, dtBool, dtBool, dtBool, dtBool, dtBool)
		CopyUserRightsAndSettings = oUserT.ReturnValue
	end function


	public function DelUser(nUserId, sLogin)
		oUserT.MethodEx "DelUser", Array(nUserId, sLogin), _
									Array(dtNumber, dtString)
		DelUser = oUserT.ReturnValue
	end function

	public function ChangePassword(nUserId, sLogin, sPass)
		oUserT.MethodEx "ChangePassword", Array(nUserId, sLogin, sPass), _
											Array(dtNumber, dtString, dtString)
		ChangePassword = oUserT.ReturnValue
	end function

	public function SetWorkplace(nWorkplace)
		oUserT.MethodEx "SetWorkplace", Array(nWorkplace), Array(dtNumber)
		SetWorkplace = oUserT.ReturnValue()
	end function
	
	public function SetActBranch(sBranID)
		oUserT.MethodEx "SetActBranch", Array(sBranID), Array(dtString)
		SetActBranch = oUserT.ReturnValue()
	end function
    
    public function SaveUserBatchBlocking(rs)
		oUserT.MethodEx "SaveUserBatchBlocking", _
						Array(rs), Array(dtRecordset)
		SaveUserBatchBlocking = oUserT.ReturnValue
	end function
	
	private oUserT
end class
