/// <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); }
/// <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); }