From 86ee7d51db4d68f1ad628e0df91fdd16c9c8473f Mon Sep 17 00:00:00 2001 From: Stefano Teodorani Date: Thu, 17 Nov 2016 17:27:52 +0100 Subject: [PATCH] =?UTF-8?q?Aggiunti=20trattiati=20Attivita=E2=80=99=20e=20?= =?UTF-8?q?Tipi=20Attivita?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nuget/AMHelper.nuspec | 4 +- src/net20/AMHelper/AMHelper.csproj | 3 + .../AMHelper/CSV/exp/rec_exp_clifor_note.cs | 16 ++-- src/net20/AMHelper/CSV/imp/rec_art_ultven.cs | 3 + src/net20/AMHelper/CSV/imp/rec_attivita.cs | 77 ++++++++++++++++ .../AMHelper/CSV/imp/rec_tipi_attivita.cs | 42 +++++++++ src/net20/AMHelper/Properties/AssemblyInfo.cs | 4 +- src/net20/AMHelper/WS/GetDataAM.cs | 69 ++++++++++++++ src/net20/AMHelper/WS/ws_meta.cs | 15 +++ src/net20/AMHelper/WS/ws_rec_attivita.cs | 91 +++++++++++++++++++ src/net35/AMHelper/AMHelper.csproj | 9 ++ src/net35/AMHelper/Properties/AssemblyInfo.cs | 4 +- src/net40/AMHelper/AMHelper.csproj | 9 ++ src/net40/AMHelper/Properties/AssemblyInfo.cs | 4 +- 14 files changed, 334 insertions(+), 16 deletions(-) create mode 100644 src/net20/AMHelper/CSV/imp/rec_attivita.cs create mode 100644 src/net20/AMHelper/CSV/imp/rec_tipi_attivita.cs create mode 100644 src/net20/AMHelper/WS/ws_rec_attivita.cs diff --git a/nuget/AMHelper.nuspec b/nuget/AMHelper.nuspec index c0cd7ac..0cf29c1 100644 --- a/nuget/AMHelper.nuspec +++ b/nuget/AMHelper.nuspec @@ -2,14 +2,14 @@ AMHelper - 2.0.4.4 + 2.0.5.0 AMHelper Stefano Teodorani Stefano Teodorani false Apex-net APPManager helper for iCommerce IOS App https://github.com/Apex-net/AMHelper/releases - Copyright 2016 + Copyright 2017 iorder icommerce ib igamma \ No newline at end of file diff --git a/src/net20/AMHelper/AMHelper.csproj b/src/net20/AMHelper/AMHelper.csproj index d988a76..a7dff83 100644 --- a/src/net20/AMHelper/AMHelper.csproj +++ b/src/net20/AMHelper/AMHelper.csproj @@ -56,6 +56,8 @@ + + @@ -131,6 +133,7 @@ + diff --git a/src/net20/AMHelper/CSV/exp/rec_exp_clifor_note.cs b/src/net20/AMHelper/CSV/exp/rec_exp_clifor_note.cs index 652e92b..64b1c64 100644 --- a/src/net20/AMHelper/CSV/exp/rec_exp_clifor_note.cs +++ b/src/net20/AMHelper/CSV/exp/rec_exp_clifor_note.cs @@ -1,11 +1,11 @@ - -/* - Classe autogenerata dal tool RecClassCreator - by Stefano teodorani il 09/08/2013 14.35.39 -*/ - -using System; -using System.Collections.Generic; + +/* + Classe autogenerata dal tool RecClassCreator + by Stefano teodorani il 09/08/2013 14.35.39 +*/ + +using System; +using System.Collections.Generic; using System.Text; namespace AMHelper.CSV diff --git a/src/net20/AMHelper/CSV/imp/rec_art_ultven.cs b/src/net20/AMHelper/CSV/imp/rec_art_ultven.cs index 3948af6..61a8832 100644 --- a/src/net20/AMHelper/CSV/imp/rec_art_ultven.cs +++ b/src/net20/AMHelper/CSV/imp/rec_art_ultven.cs @@ -25,6 +25,9 @@ public class rec_art_ultven /// Codice della Valuta /// public string COD_VALUTA { get; set; } + /// + /// Data di ultima modifica del record + /// public string DAT_ULT_MOD { get; set; } } } \ No newline at end of file diff --git a/src/net20/AMHelper/CSV/imp/rec_attivita.cs b/src/net20/AMHelper/CSV/imp/rec_attivita.cs new file mode 100644 index 0000000..16477ed --- /dev/null +++ b/src/net20/AMHelper/CSV/imp/rec_attivita.cs @@ -0,0 +1,77 @@ + +/* + Classe autogenerata dal tool RecClassCreator + by Stefano teodorani il 09/08/2013 14.35.39 +*/ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace AMHelper.CSV +{ + /// + /// Tracciato record delle tipologie di attivita (Gestione CRM). + /// Contiene l'anagrafica delle tipologie di attività da effettuare (es: Fare offerta). + /// + public class rec_attivita + { + /// + /// Chiave univoca della riga + /// + public string CHIAVE { get; set; } + /// + /// Codice della ditta. + /// Identifica univocamente una ditta dentro il gestionale che, nel caso sia multisocietario, può contenere dati di più aziende + /// + public string COD_DITTA { get; set; } + /// + /// Codice dell'attività master + /// Ogni singola attività può avere un codice di attivita' master che le raggruppa + /// + public string COD_ATTIVITA { get; set; } + /// + /// Codice del Lead + /// + public string COD_LEAD { get; set; } + /// + /// Codice della tipologia di attività (tracciato rec_tipi_attivita) + /// + public string COD_TIPO_ATTIVITA { get; set; } + /// + /// Oggetto dell'attività + /// + public string DES_OGGETTO { get; set; } + /// + /// Note dell'attività + /// + public string DES_NOTE_ATTIVITA { get; set; } + /// + /// Codice dell'operatore a cui è assegnata l'attività + /// + public string COD_OPERATORE { get; set; } + /// + /// Codice dello Stato della attività + /// Valori consentiti: D=Da eseguire, E=Eseguito, A=Annullato + /// + public string COD_STATO { get; set; } + /// + /// Data di in cui l'attività è stata effettuata + /// + public string DATA_ESECUZIONE { get; set; } + /// + /// Orario in cui l'attività è stata effettuata nel formato HH:MM con riempimento di zeri a sinistra + /// Esempi: 14:55, 04:05 + /// + public string ORA_ESECUZIONE { get; set; } + /// + /// Note dell'attività master + /// Si tratta un ulteriore campo descrittivo della'attività + /// + public string DES_NOTE { get; set; } + /// + /// Data di ultima modifica del record + /// + public string DAT_ULT_MOD { get; set; } + } +} \ No newline at end of file diff --git a/src/net20/AMHelper/CSV/imp/rec_tipi_attivita.cs b/src/net20/AMHelper/CSV/imp/rec_tipi_attivita.cs new file mode 100644 index 0000000..bdbf91a --- /dev/null +++ b/src/net20/AMHelper/CSV/imp/rec_tipi_attivita.cs @@ -0,0 +1,42 @@ + +/* + Classe autogenerata dal tool RecClassCreator + by Stefano teodorani il 09/08/2013 14.35.39 +*/ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace AMHelper.CSV +{ + /// + /// Tracciato record delle tipologie di attivita crm. + /// Contiene l'anagrafica delle tipologie di attività da effettuare (es: Fare offerta). + /// + public class rec_tipi_attivita + { + /// + /// Chiave univoca della riga + /// + public string CHIAVE { get; set; } + /// + /// Codice della ditta. + /// Identifica univocamente una ditta dentro il gestionale che, nel caso sia multisocietario, può contenere dati di più aziende + /// + public string COD_DITTA { get; set; } + /// + /// Codice del tipo attività + /// + public string CODICE { get; set; } + // Descrizione del tipo attivita + // (Es: PZ=Fare offerta, Fare ordine, Prendere appuntamento) + public string DESCRIZIONE { get; set; } + /// + /// Identifica una attività di tipo previsionale. + /// Se = S, nell'iPad è possibile creare una attività che può avere le tipologia (Da effettuare, Effettuata, Annullata) + /// Se = N, nell'iPad è possibile creare attività solo in stato Effettuata + /// + public string FLG_PREVISIONALE { get; set; } + } +} \ No newline at end of file diff --git a/src/net20/AMHelper/Properties/AssemblyInfo.cs b/src/net20/AMHelper/Properties/AssemblyInfo.cs index 428db26..e2a59f2 100644 --- a/src/net20/AMHelper/Properties/AssemblyInfo.cs +++ b/src/net20/AMHelper/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.4.4")] -[assembly: AssemblyFileVersion("2.0.4.4")] +[assembly: AssemblyVersion("2.0.5.0")] +[assembly: AssemblyFileVersion("2.0.5.0")] diff --git a/src/net20/AMHelper/WS/GetDataAM.cs b/src/net20/AMHelper/WS/GetDataAM.cs index 41c426e..56a0161 100644 --- a/src/net20/AMHelper/WS/GetDataAM.cs +++ b/src/net20/AMHelper/WS/GetDataAM.cs @@ -48,6 +48,7 @@ public class GetDataAM // Private fields private string _LeadsUrl; private string _LeadsNoteUrl; + private string _AttivitaUrl; private string _CliforUrl; private string _CliforNoteUrl; private string _OrdersUrl; @@ -146,6 +147,7 @@ private string BaseUrl _BaseUrl = value; _LeadsUrl = value + "/" + "exportPaginazione/codaLeads"; _LeadsNoteUrl = value + "/" + "exportPaginazione/codaLeadNote"; + _AttivitaUrl = value + "/" + "exportPaginazione/codaAttivita"; _CliforUrl = value + "/" + "exportPaginazione/codaClienti"; _CliforNoteUrl = value + "/" + "exportPaginazione/codaClienteNote"; _OrdersUrl = value + "/" + "exportPaginazione/codaOrdini"; @@ -294,6 +296,73 @@ public bool exp_leads_note(int StartID, ref ws_rec_leads_note LeadsNoteData) return true; } + public bool exp_attivita(int StartID, ref ws_rec_attivita AttivitaData) + { + try + { + var client = new RestClient(_AttivitaUrl); + + if (!String.IsNullOrEmpty(this._ProxyUser)) + { + client.Proxy = new WebProxy(_ProxyHost, _ProxyPort); + client.Proxy.Credentials = new NetworkCredential(_ProxyUser, _ProxyPassword); + } + + + // Seconda chiamata. Estraggo tutto gli ordini (niente paginazione) + // --------------------------------------------------------------- + // http://am.apexnet.it/api_appstore_ib/v1/progetti/ib.appstore/exportPaginazione/notelead?authKey=AAB993AE-92B7-4E88-BC59-B231F0CDAD7C&format=json&lastID=0&count=0 + var request = new RestRequest(Method.GET); + request.AddParameter("authKey", this.AuthKeyAM); + request.AddParameter("format", "json"); + request.AddParameter("offset", 0); + request.AddParameter("limit", 50); + request.AddParameter("count", 0); + request.AddParameter("lastID", StartID); + //request.AddParameter("lastDateImport", ""); + var response = client.Execute(request); + + if (response.ResponseStatus != ResponseStatus.Completed) + { + throw new Exception("ResponseStatus: " + response.ErrorMessage); + } + + if (response.StatusCode != HttpStatusCode.OK) + { + throw new Exception("StatusCode: " + response.StatusCode); + } + + if (response.ErrorException != null) + { + throw new Exception("Error retrieving response 2. Check inner details for more info."); + } + +#if NET20 + var myDeserializedData = JsonConvert.DeserializeObject(response.Content); +#endif + +#if NET35 || NET40 + var myDeserializedData = response.Data; +#endif + + _ResponseURI = response.ResponseUri.ToString(); + + if (response.Data.attivita.Count == 0) + { + _InfoMessage = "Data not found"; + return false; + } + + AttivitaData = myDeserializedData; + + } + catch (Exception ex) + { + throw new Exception("exp_attivita: Uri:" + _ResponseURI + ", Message:" + ex.Message, ex); + } + return true; + } + public bool exp_clifor(int StartID, ref ws_rec_clifor CliforData) { try diff --git a/src/net20/AMHelper/WS/ws_meta.cs b/src/net20/AMHelper/WS/ws_meta.cs index e20d557..3122e05 100644 --- a/src/net20/AMHelper/WS/ws_meta.cs +++ b/src/net20/AMHelper/WS/ws_meta.cs @@ -6,11 +6,26 @@ namespace AMHelper.WS { + /// + /// Metadati WS + /// public class ws_meta { + /// + /// Numero massimo di record ritornati + /// public decimal limit { get; set; } + /// + /// Valore di ID massimo ritornato + /// public decimal maxID { get; set; } + /// + /// Record da cui effettuare l'esportazione dei dati + /// public decimal offset { get; set; } + /// + /// Numero totale dei record elaborati + /// public decimal total_count { get; set; } } } diff --git a/src/net20/AMHelper/WS/ws_rec_attivita.cs b/src/net20/AMHelper/WS/ws_rec_attivita.cs new file mode 100644 index 0000000..cc6aeaf --- /dev/null +++ b/src/net20/AMHelper/WS/ws_rec_attivita.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace AMHelper.WS +{ + public class ws_rec_attivita + { + public ws_meta meta { get; set; } + /// + /// Codice del progetto + /// + public string cod_progetto { get; set; } + public DateTime? last_data_import { get; set; } + public decimal? last_id { get; set; } + public List attivita { get; set; } + } + + public class TestataAttivita + { + /// + /// Identificativo progressivo della coda. + /// La stessa attività può essere più colte messa coda per l'esportazione + /// + public decimal id { get; set; } + /// + /// Identificativo univoco dell'attività (non cambia mai) + /// + public string unique_id { get; set; } + /// + /// Codice della ditta + /// + public string cod_ditta { get; set; } + /// + /// Codice dell'attività master + /// Ogni singola attività può avere un codice di attivita' master che le raggruppa + /// + public string cod_attivita { get; set; } + /// + /// Codice del lead + /// + public string cod_lead { get; set; } + /// + /// Codice del tipo attività + /// + public string cod_tipo_attivita { get; set; } + /// + /// Oggetto dell'attività + /// + public string des_oggetto { get; set; } + /// + /// Nota descrittiva della singola attività operatore + /// + public string des_note_attivita { get; set; } + /// + /// Codice dell'operatore che ha compiuto l'attività + /// + public string cod_operatore { get; set; } + /// + /// Codice dello Stato della attività + /// Valori consentiti: D=Da eseguire, E=Eseguito, A=Annullato + /// + public string cod_stato { get; set; } + /// + /// Data di in cui l'attività è stata effettuata + /// + public DateTime? data_esecuzione { get; set; } + /// + /// Orario in cui l'attività è stata effettuata nel formato HH:MM con riempimento di zeri a sinistra + /// Esempi: 14:55, 04:05 + /// + public string ora_esecuzione { get; set; } + /// + /// Note dell'attività master + /// Si tratta un ulteriore campo descrittivo della'attività + /// + public string des_note { get; set; } + /// + /// Codice dell'agente che ha effettuato l'attività + /// + public string cod_agente { get; set; } + /// + /// Utente che ha effettuato l'attività + /// + public string utente { get; set; } + /// + /// DAta import + /// + public DateTime? data_import { get; set; } + } +} \ No newline at end of file diff --git a/src/net35/AMHelper/AMHelper.csproj b/src/net35/AMHelper/AMHelper.csproj index e8f50f5..88b4783 100644 --- a/src/net35/AMHelper/AMHelper.csproj +++ b/src/net35/AMHelper/AMHelper.csproj @@ -95,6 +95,9 @@ CSV\imp\rec_assortimenti.cs + + CSV\imp\rec_attivita.cs + CSV\imp\rec_campagne.cs @@ -266,6 +269,9 @@ CSV\imp\rec_taglie_sviluppi_art.cs + + CSV\imp\rec_tipi_attivita.cs + CSV\imp\rec_valute.cs @@ -287,6 +293,9 @@ WS\ws_meta.cs + + WS\ws_rec_attivita.cs + WS\ws_rec_clifor.cs diff --git a/src/net35/AMHelper/Properties/AssemblyInfo.cs b/src/net35/AMHelper/Properties/AssemblyInfo.cs index 428db26..e2a59f2 100644 --- a/src/net35/AMHelper/Properties/AssemblyInfo.cs +++ b/src/net35/AMHelper/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.4.4")] -[assembly: AssemblyFileVersion("2.0.4.4")] +[assembly: AssemblyVersion("2.0.5.0")] +[assembly: AssemblyFileVersion("2.0.5.0")] diff --git a/src/net40/AMHelper/AMHelper.csproj b/src/net40/AMHelper/AMHelper.csproj index 254c963..a904aea 100644 --- a/src/net40/AMHelper/AMHelper.csproj +++ b/src/net40/AMHelper/AMHelper.csproj @@ -95,6 +95,9 @@ CSV\imp\rec_assortimenti.cs + + CSV\imp\rec_attivita.cs + CSV\imp\rec_campagne.cs @@ -266,6 +269,9 @@ CSV\imp\rec_taglie_sviluppi_art.cs + + CSV\imp\rec_tipi_attivita.cs + CSV\imp\rec_valute.cs @@ -287,6 +293,9 @@ WS\ws_meta.cs + + WS\ws_rec_attivita.cs + WS\ws_rec_clifor.cs diff --git a/src/net40/AMHelper/Properties/AssemblyInfo.cs b/src/net40/AMHelper/Properties/AssemblyInfo.cs index 428db26..e2a59f2 100644 --- a/src/net40/AMHelper/Properties/AssemblyInfo.cs +++ b/src/net40/AMHelper/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.4.4")] -[assembly: AssemblyFileVersion("2.0.4.4")] +[assembly: AssemblyVersion("2.0.5.0")] +[assembly: AssemblyFileVersion("2.0.5.0")]