private static int CrearNuevaCuenta(string cuit, int empresa)
        {
            var cuentaNueva = new ClienteDto(
                new KeyCliente(empresa, HelperPersona.CuitToDni(cuit), GetNumeroNuevo(empresa)),
                GetParentesco("Titular"), 1);

            cuentaNueva.Save();

            return(cuentaNueva.Key.NroCuenta);
        }
        private static void AgregarPersonaCuenta(string dni, int empresa, int cuenta)
        {
            var cuentas = ActiveRecordBase <ClienteDto> .FindAll()
                          .Where(x => x.Key.CodEmpresa == empresa)
                          .Where(x => x.Key.NumeroDocumento == HelperPersona.CuitToDni(dni))
                          .ToList();

            if (cuentas.Count <= 0)
            {
                new ClienteDto(new KeyCliente(
                                   empresa, HelperPersona.CuitToDni(dni), cuenta),
                               GetParentesco("Empleado"), GetExtension(cuenta, empresa))
                .Save();
            }
        }
        public static int GetCuenta(string cuit, string dni, int empresa)
        {
            var cuentas = ActiveRecordBase <ClienteDto> .FindAll()
                          .Where(x => x.Key.CodEmpresa == empresa)
                          .Where(x => x.Key.NumeroDocumento == HelperPersona.CuitToDni(cuit))
                          .ToList();

            var micuenta = cuentas.Count <= 0
                               ? CrearNuevaCuenta(cuit, empresa)
                               : cuentas.Max(x => x.Key.NroCuenta);

            if (!string.IsNullOrEmpty(dni))
            {
                AgregarPersonaCuenta(dni, empresa, micuenta);
            }

            return(micuenta);
        }