diff --git a/EgwProxy.MagMan/DTO/ProjectProgDTO.cs b/EgwProxy.MagMan/DTO/ProjectProgrDTO.cs
similarity index 95%
rename from EgwProxy.MagMan/DTO/ProjectProgDTO.cs
rename to EgwProxy.MagMan/DTO/ProjectProgrDTO.cs
index 82eec64..67f98a7 100644
--- a/EgwProxy.MagMan/DTO/ProjectProgDTO.cs
+++ b/EgwProxy.MagMan/DTO/ProjectProgrDTO.cs
@@ -9,7 +9,7 @@ namespace EgwProxy.MagMan.DTO
//
// This is here so CodeMaid doesn't reorganize this document
//
- public class ProjectProgDTO
+ public class ProjectProgrDTO
{
///
diff --git a/EgwProxy.MagMan/DataSyncro.cs b/EgwProxy.MagMan/DataSyncro.cs
index bbbc5de..c727060 100644
--- a/EgwProxy.MagMan/DataSyncro.cs
+++ b/EgwProxy.MagMan/DataSyncro.cs
@@ -716,8 +716,9 @@ namespace EgwProxy.MagMan
}
///
- /// Invio record Proj x upsert record da inviare
+ /// Invio record Proj x upsert
///
+ /// record da inviare
/// ProjCloudId (essitente o nuovo)
public int ProjectSend(ProjectDTO rec2send)
{
@@ -748,9 +749,9 @@ namespace EgwProxy.MagMan
}
///
- /// Versione async Invio elenco di RawItems associati ad un singolo materiale, il server
- /// farà il merge record da inviare
+ /// Versione async Invio Proj x upsert
///
+ /// record da inviare
public async Task ProjectSendAsync(ProjectDTO rec2send)
{
int answ = 0;
@@ -779,6 +780,72 @@ namespace EgwProxy.MagMan
return await Task.FromResult(answ);
}
+
+ ///
+ /// Invio record ProjProg x aggiornamento stato
+ ///
+ /// record da inviare
+ /// ProjCloudId (essitente o nuovo)
+ public bool ProjectProgrSend(ProjectProgrDTO rec2send)
+ {
+ bool answ = false;
+ // cerco online
+ using (RestClient client = new RestClient(rcOptions))
+ {
+ string MKeyEnc = HttpUtility.UrlEncode(RestToken);
+ // impacchetto dati x invio...
+ RestPayload.ProdInfoData newPayload = new RestPayload.ProdInfoData()
+ {
+ ProjectProgress = rec2send
+ };
+ var jsonBody = JsonConvert.SerializeObject(newPayload);
+ var request = new RestRequest($"Projects/prod-update/{MKeyEnc}", Method.Post).AddJsonBody(jsonBody);
+ var response = client.Post(request);
+ // controllo risposta
+ if (response.StatusCode == HttpStatusCode.OK)
+ {
+ bool.TryParse(response.Content, out answ);
+ }
+ else
+ {
+ Log.Error($"ProjectProgrSend | Response StatusCode: {response.StatusCode} | content: {response.Content}");
+ }
+ }
+ return answ;
+ }
+
+ ///
+ /// Versione async Invio record ProjProg x aggiornamento stato
+ ///
+ /// record da inviare
+ public async Task ProjectProgrSendAsync(ProjectProgrDTO rec2send)
+ {
+ bool answ = false;
+ // cerco online
+ using (RestClient client = new RestClient(rcOptions))
+ {
+ string MKeyEnc = HttpUtility.UrlEncode(RestToken);
+ // impacchetto dati x invio...
+ RestPayload.ProdInfoData newPayload = new RestPayload.ProdInfoData()
+ {
+ ProjectProgress = rec2send
+ };
+ var jsonBody = JsonConvert.SerializeObject(newPayload);
+ var request = new RestRequest($"Projects/prod-update/{MKeyEnc}", Method.Post).AddJsonBody(jsonBody);
+ var response = await client.PostAsync(request);
+ // controllo risposta
+ if (response.StatusCode == HttpStatusCode.OK)
+ {
+ bool.TryParse(response.Content, out answ);
+ }
+ else
+ {
+ Log.Error($"ProjectProgrSendAsync | Response StatusCode: {response.StatusCode} | content: {response.Content}");
+ }
+ }
+ return await Task.FromResult(answ);
+ }
+
///
/// Verifica elenco di risorse associate ad un progetto
///
diff --git a/EgwProxy.MagMan/EgwProxy.MagMan.csproj b/EgwProxy.MagMan/EgwProxy.MagMan.csproj
index 40daf1d..fe12498 100644
--- a/EgwProxy.MagMan/EgwProxy.MagMan.csproj
+++ b/EgwProxy.MagMan/EgwProxy.MagMan.csproj
@@ -87,6 +87,7 @@
+
diff --git a/EgwProxy.MagMan/RestPayload.cs b/EgwProxy.MagMan/RestPayload.cs
index 17cf11d..5e180d2 100644
--- a/EgwProxy.MagMan/RestPayload.cs
+++ b/EgwProxy.MagMan/RestPayload.cs
@@ -77,6 +77,14 @@ namespace EgwProxy.MagMan
#endregion Public Properties
}
+ public class ProdInfoData
+ {
+ #region Public Properties
+
+ public ProjectProgrDTO ProjectProgress { get; set; }
+
+ #endregion Public Properties
+ }
public class Resources
{