Пример #1
0
        /// <summary>Seleziona su TXTemp le spedizioni da sincronizzare su TXTango, le Inserice|Modifica|Elimina su TXTango e registra l' evento su TXTemp.</summary>
        /// <returns>void</returns>
        public static int SyncSpedizioni()
        {
            int          spedizioniSincronizzate = 0;
            Eventi       evento     = null;
            TXSpedizioni spedizione = null;

            // estraggo le spedizioni da mandare a TXTango
            List <TXPianificazioni> spedizioniPianificate = TXPianificazioni.TXTango_GetPianificazioniToSync(TipoPianificazione.SPEDIZIONE);

            // sincronizzo le spedizioni su TXTango
            for (int i = 0; i < spedizioniPianificate.Count; i++)
            {
                spedizione = new TXSpedizioni(spedizioniPianificate[i].IdViaggio, spedizioniPianificate[i].IdSpedizione);
                if (spedizioniPianificate[i].SyncTask == ConfigurationManager.AppSettings["TXTANGO_TASK_INSERT"])
                {
                    evento = spedizione.TXInsert(Login);
                }
                else if (spedizioniPianificate[i].SyncTask == ConfigurationManager.AppSettings["TXTANGO_TASK_UPDATE"] && spedizioniPianificate[i].Stato != ConfigurationManager.AppSettings["TXTANGO_STATO_BUSY"])
                {
                    evento = spedizione.TXUpdate(Login);
                }
                else if (spedizioniPianificate[i].SyncTask == ConfigurationManager.AppSettings["TXTANGO_TASK_DELETE"] && spedizioniPianificate[i].Stato != ConfigurationManager.AppSettings["TXTANGO_STATO_BUSY"])
                {
                    evento = spedizione.TXDelete(Login);
                }

                // registro l'evento
                if (evento != null)
                {
                    evento.IdPianificazione = spedizioniPianificate[i].Id;
                    evento.Insert();
                    // registro lo stato della pianificazione
                    spedizioniPianificate[i].Stato     = evento.Stato;
                    spedizioniPianificate[i].SyncStato = evento.SyncStato;
                    spedizioniPianificate[i].SyncTask  = null;
                    spedizioniPianificate[i].SyncData  = evento.SyncData;
                    spedizioniPianificate[i].Update();

                    spedizioniSincronizzate++;
                }
            }

            return(spedizioniSincronizzate);
        }