Ejemplo n.º 1
0
 public void Save()
 {
     __sisSubscription.Protocol = CRMMobileDesaDB.GetSynchronizationProfile().GetProperty("protocol", "TCN");
     __sisSubscription.Address  = CRMMobileDesaDB.GetSynchronizationProfile().GetProperty("address");
     __sisSubscription.Appname  = CRMMobileDesaDB.GetSynchronizationProfile().GetProperty("appname", "sup");
     __sisSubscription.Save();
 }
Ejemplo n.º 2
0
        public void SincronizarDeudaClientes(GenericList <DireccionEntrega> clientes, bool async)
        {
            GenericList <ZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR> arrZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR = new GenericList <ZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR>();

            foreach (DireccionEntrega cliente in clientes)
            {
                if (cliente.CuentaLPO != null && cliente.CuentaLPO.Trim().Length > 0)
                {
                    ZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR cuentaLP0 = new ZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR();
                    cuentaLP0.KUNNR = cliente.CuentaLPO;
                    arrZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR.Add(cuentaLP0);
                }
            }

            if (arrZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR.Size() > 0)
            {
                PersonalizationParameters _customParams = App.CurrentSUPContext.GetPersonalizationParameters();
                _customParams.ZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNRKey = arrZARFIAR_RFC_DEUDASCLIENTES_IM_KUNNR;
                _customParams.Save();

                if (async)
                {
                    GenericList <ISynchronizationGroup> syncGroups = new GenericList <ISynchronizationGroup>();
                    syncGroups.Add(CRMMobileDesaDB.GetSynchronizationGroup("Deuda"));
                    App.CurrentSUPContext.SyncAsync(syncGroups, "", "Deuda de clientes");
                }
                else
                {
                    App.CurrentSUPContext.Sync(DEUDAS_CLIENTES, "Deuda de clientes");
                }
            }
        }
Ejemplo n.º 3
0
        private SynchronizationGroup(String ___name)
        {
            SISSubscriptionKey _key = new SISSubscriptionKey();

            _key.ClientId = GetRemoteId();
            string domainName = CRMMobileDesaDB.GetSynchronizationProfile().DomainName;

            if (domainName == null || domainName.Length == 0)
            {
                domainName = Sybase.Mobile.Application.GetInstance().ApplicationSettings.GetStringProperty(Sybase.Mobile.ConnectionPropertyType.DomainName);
            }
            if (domainName == null || domainName.Length == 0)
            {
                domainName = "default";
            }
            _key.Domain       = domainName;
            _key.Package      = CRMMobileDesaDB.GetPackageName();
            _key.SyncGroup    = ___name;
            __sisSubscription = SISSubscription.Find(_key);
            if (__sisSubscription == null)
            {
                __sisSubscription           = new SISSubscription();
                __sisSubscription.Domain    = _key.Domain;
                __sisSubscription.Package   = _key.Package;
                __sisSubscription.SyncGroup = _key.SyncGroup;
                __sisSubscription.ClientId  = _key.ClientId;
                __sisSubscription.Username  = CRMMobileDesaDB.GetSyncUsername();
                __sisSubscription.DeviceId  = com.sybase.afx.util.PidUtil.GetId();
            }
        }
Ejemplo n.º 4
0
        public void SincronizarDetallePedidos(GenericList <ClienteCabeceraPedido> pedidos, String codigoRepresentanteComercial, bool async)
        {
            configureFechaSincronizacion();
            GenericList <Z01CRM_RRCC_F_DETPEDIDOS_PEDIDOS> arrZ01CRM_RRCC_F_DETPEDIDOS_PEDIDOS = new GenericList <Z01CRM_RRCC_F_DETPEDIDOS_PEDIDOS>();

            foreach (var pedido in pedidos)
            {
                Z01CRM_RRCC_F_DETPEDIDOS_PEDIDOS datoPedido = new Z01CRM_RRCC_F_DETPEDIDOS_PEDIDOS();
                datoPedido.SISTEMA = pedido.Sistema;
                datoPedido.PEDIDO  = pedido.Pedido_CodigoSAP;
                arrZ01CRM_RRCC_F_DETPEDIDOS_PEDIDOS.Add(datoPedido);
            }
            if (arrZ01CRM_RRCC_F_DETPEDIDOS_PEDIDOS.Size() > 0)
            {
                _customParams.REPRESENTANTE_COMERCIALKey          = codigoRepresentanteComercial;
                _customParams.Z01CRM_RRCC_F_DETPEDIDOS_PEDIDOSKey = arrZ01CRM_RRCC_F_DETPEDIDOS_PEDIDOS;
                _customParams.Save();

                if (async)
                {
                    GenericList <ISynchronizationGroup> syncGroups = new GenericList <ISynchronizationGroup>();
                    syncGroups.Add(CRMMobileDesaDB.GetSynchronizationGroup(DETALLE_PEDIDO));
                    App.CurrentSUPContext.SyncAsync(syncGroups, "Cabecera de pedido");
                }
                else
                {
                    App.CurrentSUPContext.Sync(DETALLE_PEDIDO, "Cabecera de pedido");
                }
            }
        }
Ejemplo n.º 5
0
        public override async Task <Enums.eSyncResult> SaveAndSync(ISUPModel sender)
        {
            InteraccionModel <InteraccionBusiness> interaccion = sender as InteraccionModel <InteraccionBusiness>;

            Enums.eSyncResult syncResult = Enums.eSyncResult.Synchronized;

            LocalTransaction localTransaction = CRMMobileDesaDB.BeginTransaction();

            try
            {
                if (interaccion.Formulario_CodigoSAP != null)
                {
                    // Save formularios
                    guardarFormularios(interaccion);
                    guardarRelevamientos(interaccion);
                }
                // Save this and sync Transacciones
                syncResult = await base.SaveAndSync(sender, new Func <ISUPModel, Task <bool> >(syncTransacciones));

                localTransaction.Commit();
            }
            catch (Exception ex)
            {
                localTransaction.Rollback();
                throw ex;
            }
            return(syncResult);
        }
Ejemplo n.º 6
0
        public override void Synchronize(Sybase.Persistence.ServerSyncData ssd)
        {
            object _userContext = new Sybase.Persistence.SynchronizationNotification();

            Sybase.Collections.GenericList <Sybase.Persistence.ISynchronizationGroup> _sgs = new Sybase.Collections.GenericList <Sybase.Persistence.ISynchronizationGroup>();
            _sgs.Add(CRMMobileDesaDB.GetSynchronizationGroup(ssd.Publication));
            CRMMobileDesaDB.BeginSynchronize(_sgs, _userContext);
        }
Ejemplo n.º 7
0
        public void SincronizacionCompleta(string username)
        {
            configureFechaSincronizacion();
            _loginSync             = true;
            SyncListener.StartTime = DateTime.Now;

            bool firstSync = !TablasMaestrasSincronizadas();

            if (firstSync)
            {
                /******** Sincronizacion de tablas maestras  *******/
                SincronizarTablasMaestras();
            }

            SincronizarParametros();

            /******** Sincronizacion de datos del representante comercial  *******/
            RepresentanteComercial representante = SincronizarRepresentanteComercial(username);
            string codRRCC = representante.CodigoRRCC.Trim();

            /******** Sincronizacion de datos de clientes para el representante comercial  *******/
            SincronizarClientes(codRRCC);

            /******** Sincronizacion de deudas de clientes  *******/
            GenericList <DireccionEntrega> clientes = DireccionEntrega.FindAll();

            if (clientes.Size() > 0)
            {
                SincronizarDeudaClientes(clientes, false);
            }

            /******** Sincronizacion de cabecera de pedidos  *******/
            SincronizarCabeceraPedidos(codRRCC);
            GenericList <ClienteCabeceraPedido> cabecerasPedidos = ClienteCabeceraPedido.FindAll();

            if (cabecerasPedidos.Size() > 0)
            {
                SincronizarDetallePedidos(cabecerasPedidos, codRRCC, false);
            }

            /******** Sincronizacion de facturacion  *******/
            // TODO: Descomentar.
            // SincronizarFacturacion(codRRCC);

            /******** Sincronizacion de datos de interacciones  *******/
            // TODO: Quitar true
            if (true || firstSync || !CRMMobileDesaDB.IsReplayQueueEmpty())
            {
                SincronizarInteraccionesXInterlocutor(codRRCC);
            }

            if (firstSync)
            {
                SincronizarCalendarioInteraccion();
            }
            _loginSync = false;
        }
Ejemplo n.º 8
0
 public void Dispose()
 {
     if (IsDBOpen)
     {
         CRMMobileDesaDB.CloseConnection();
     }
     // IsConnected?
     Disonnect();
 }
Ejemplo n.º 9
0
        private void configureDBCredentials()
        {
            checkDBSavedCredentials();
            CRMMobileDesaDB.GetConnectionProfile().Credentials = _lastDBCredentials;
            CRMMobileDesaDB.GetConnectionProfile().Save();

            CRMMobileDesaDB.GetSynchronizationProfile().Credentials = _lastDBCredentials;
            CRMMobileDesaDB.GetSynchronizationProfile().Save();
        }
Ejemplo n.º 10
0
        public bool Sync(string syncGroup, string syncGroupFriendlyName = "")
        {
            configureProxyCredentials();

            _syncListener.SyncGroupFriendlyName = syncGroupFriendlyName;

            CRMMobileDesaDB.DisableChangeLog();
            CRMMobileDesaDB.Synchronize(syncGroup, _syncListener);
            CRMMobileDesaDB.EnableChangeLog();

            return(true);
        }
Ejemplo n.º 11
0
        private void configureDBConnection()
        {
            ConnectionProfile cnProfile = CRMMobileDesaDB.GetConnectionProfile();

            configureConnectionnProfile(cnProfile);

            ConnectionProfile cnSyncProfile = CRMMobileDesaDB.GetSynchronizationProfile();

            configureConnectionnProfile(cnSyncProfile);

#if !DEBUG
            CRMMobileDesaDB.GetLogger().SetLogLevel(LogLevel.OFF);
#endif
            CRMMobileDesaDB.SetApplication(_sybaseApp);
            CRMMobileDesaDB.RegisterCallbackHandler(this);
            //CRMMobileDesaDB.Initialize(;
            CRMMobileDesaDB.OpenConnection();
            IsDBOpen = true;
        }
Ejemplo n.º 12
0
 public void SyncAsync(GenericList <ISynchronizationGroup> syncGroups, string context, string syncGroupFriendlyName = "")
 {
     _syncListener.SyncGroupFriendlyName = syncGroupFriendlyName;
     CRMMobileDesaDB.BeginSynchronize(syncGroups, context);
 }
Ejemplo n.º 13
0
 public PersonalizationParameters GetPersonalizationParameters()
 {
     return(CRMMobileDesaDB.GetPersonalizationParameters());
 }
Ejemplo n.º 14
0
 public void ClearDBData()
 {
     checkDBSavedCredentials();
     CRMMobileDesaDB.CleanAllData();
 }
Ejemplo n.º 15
0
        public bool IsSynchronized(string syncGroupd)
        {
            configureProxyCredentials();

            return(CRMMobileDesaDB.IsSynchronized(syncGroupd));
        }
Ejemplo n.º 16
0
 public DateTime GetLastSyncTime(string synchronizationGroup)
 {
     return(CRMMobileDesaDB.GetLastSynchronizationTime(synchronizationGroup));
 }
Ejemplo n.º 17
0
 public void DeleteDB()
 {
     //checkDBSavedCredentials();
     CRMMobileDesaDB.DeleteDatabase();
 }