Ejemplo n.º 1
0
        /// <summary>Invia il viaggio a TXTango e ritorna l'evento relativo all'aggiornamento.</summary>
        /// <param name="login">L'oggetto login da inviare a TXTango per l'autenticazione della richiesta.</param>
        /// <returns>Eventi</returns>
        public Eventi TXUpdate(TXTango.Login login)
        {
            PlanningInsert       planning = this.TXCreateObject();
            ServiceSoapClient    service  = new ServiceSoapClient();
            PlanningResultInsert result   = service.Update_Planning(login, planning);

            Eventi evento = new Eventi();

            evento.SyncData = DateTime.Now;
            evento.SyncTask = ConfigurationManager.AppSettings["TXTANGO_TASK_INSERT"];
            evento.SyncTipo = ConfigurationManager.AppSettings["TXTEMP_TO_TXTANGO"];
            if (result.Errors.Length > 0)
            {
                log.Error("Errore TXTango: " + result.Errors[0].ErrorCode.ToString());
                evento.Stato     = ConfigurationManager.AppSettings["TXTANGO_STATO_NOT_DELIVERED"];
                evento.SyncStato = ConfigurationManager.AppSettings["TXTEMP_STATO_ERRORE"];
                evento.Note      = "Vedi XmlResponse per i dettagli sugli errori";
            }
            else
            {
                evento.Stato     = ConfigurationManager.AppSettings["TXTANGO_STATO_DELIVERED"];
                evento.SyncStato = ConfigurationManager.AppSettings["TXTEMP_STATO_SINCRONIZZATO"];
            }
            evento.XmlRequest  = Serializer.SerializeObject(planning, SerializationType.XML);
            evento.XmlResponse = Serializer.SerializeObject(result, SerializationType.XML);

            return(evento);
        }
Ejemplo n.º 2
0
        /// <summary>Crea e riempie l'oggetto "viaggio" da mandare a TXTango.</summary>
        /// <returns>PlanningInsert</returns>
        private PlanningInsert TXCreateObject()
        {
            // preparo il viaggio
            TripInsert trip = new TripInsert();

            trip.TripId        = ConfigurationManager.AppSettings["TXTANGO_ID_PREFIX"] + this.Id;
            trip.CustomNr      = (int)this.Progressivo;
            trip.Comment       = this.Note;
            trip.ExecutionDate = DateTime.Now;
            trip.DriverDisplay = this.KeyViaggio;
            trip.References    = new Reference()
            {
                InternalReference = this.UtenteCompetenza
            };
            trip.StartTripAct = new Activity()
            {
                ID = Convert.ToInt32(ConfigurationManager.AppSettings["TXTANGO_ACTIVITY_TRIP_START"])
            };
            trip.StopTripAct = new Activity()
            {
                ID = Convert.ToInt32(ConfigurationManager.AppSettings["TXTANGO_ACTIVITY_TRIP_STOP"])
            };
            trip.Overwrite = true;

            // preparo il planning
            PlanningInsert planning = new PlanningInsert();

            planning.Vehicle = new IdentifierVehicle()
            {
                IdentifierVehicleType = enumIdentifierVehicleType.TRANSICS_ID, Id = this.CodiceMezzo
            };
            planning.Driver = new Identifier()
            {
                IdentifierType = enumIdentifierType.TRANSICS_ID, Id = this.CodiceAutista
            };
            planning.Trips        = new TripInsert[] { trip };
            planning.TransferDate = null; // è posibile pianificare la data di trasmissione a TXTango

            return(planning);
        }