/**
 *
 */

var persistenceBanco;
var callbackGlobal;
var erro;
function SincSaldo(ip, banco, empresa, vendedor, callback) {

	callbackGlobal = callback;

	var select = "EMPRESAID,VENDEDORID,DATA,REFERENCIA,ACRESCIMO,DESCONTO,SALDO".split(",");
	var from = "dbo.VW_MOBILE_SALDOS";
	var where = "EMPRESAID = " + empresa+" AND VENDEDORID = "+ vendedor;

	try {

		var servico = new ServicoConsulta(ip, banco, montarSqlSelect(select, from, where), true, function(retorno) {

			var saldoAdicionar = [];

			for (var i = 0; i < retorno.length; i++) {

				var colunas = retorno[i].split("#c#");

				var novasColunas = new HashTable();

				for (var j = 0; j < colunas.length; j++) {
					if (colunas[j] == null) {
						colunas[j] = "";
					}
					novasColunas.setItem(select[j], colunas[j]);
				}

				var saldo = new Saldo();
				saldo.empresaId = novasColunas.getItem("EMPRESAID");
				saldo.vendedorId = novasColunas.getItem("VENDEDORID");
				saldo.data = novasColunas.getItem("DATA");
				saldo.referencia = novasColunas.getItem("REFERENCIA");
				saldo.acrescimo = novasColunas.getItem("ACRESCIMO");
				saldo.desconto = novasColunas.getItem("DESCONTO");
				saldo.saldo = novasColunas.getItem("SALDO");
				saldo.sinc = 1;

				saldoAdicionar[i] = saldo;
			}
			saldoAdicionar = saldoAdicionar.reverse();
			apagarTodosSaldos(saldoAdicionar);
		});

	} catch(e) {
		e.message = e.message + "\nBanco: " + from;
		throw e;
	}

}

function apagarTodosSaldos(saldoAdicionar) {
	abrirBanco(function(a) {
		persistenceBanco = a;

		persistenceBanco.saldos.clear().done(function(results) {

			adicionarBanco(persistenceBanco, "saldos", saldoAdicionar, function(i) {
				callbackGlobal();
			});
		});
	});
}
