From 0533a6678e4a3ddebb1571508a5fe5fc541f9b7b Mon Sep 17 00:00:00 2001 From: Marco Audiffredi Date: Fri, 13 Oct 2023 18:20:36 +0200 Subject: [PATCH] METODO PER CREAZIONE SERIALE IN ANAGRAFICA --- Controllers/AnagController.cs | 33 ++++++++++++++++++++++++++++++++- Models/Progressivo.cs | 14 ++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Models/Progressivo.cs diff --git a/Controllers/AnagController.cs b/Controllers/AnagController.cs index 4c836ee..19e4091 100644 --- a/Controllers/AnagController.cs +++ b/Controllers/AnagController.cs @@ -1,5 +1,6 @@ using Humanizer; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Rendering; using Newtonsoft.Json; using NuGet.Common; using System.Diagnostics; @@ -19,6 +20,7 @@ namespace VirtualTask.Controllers string tenant = string.Empty; string errMes = string.Empty; HttpClient client; + string _serchiam = "SER_ANAGRA"; public AnagController() { @@ -104,7 +106,7 @@ namespace VirtualTask.Controllers Uri baseAddress = new Uri(urlBase); client = new HttpClient(); client.BaseAddress = baseAddress; - + model.ancodice = getNewSeriale(); string data = JsonConvert.SerializeObject(model); StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(baseAddress, content).Result; @@ -313,5 +315,34 @@ namespace VirtualTask.Controllers string e = helper.GetStringValue("errMsg"); return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier, ErrMsg = e }); } + + private string getNewSeriale() + { + int p = -1; + string seriale = string.Empty; + SessionHelper helper = new SessionHelper(this); + token = helper.GetStringValue("tok"); + apiUrl = helper.GetStringValue("apiUrl"); + urlBase = apiUrl + "progressiviList"; + urlBase = urlBase + "?token=" + token; + Uri baseAddress = new Uri(urlBase); + client = new HttpClient(); + client.BaseAddress = baseAddress; + List progressivi = new List(); + HttpResponseMessage response = client.GetAsync(baseAddress).Result; + if (response.IsSuccessStatusCode) + { + string data = response.Content.ReadAsStringAsync().Result; + progressivi = JsonConvert.DeserializeObject>(data); + var last= progressivi.Where(t=>t.tipo_prog.Equals(_serchiam)).First(); + p = last.val_prog; + p++; + seriale=Convert.ToString(p); + seriale = seriale.PadLeft(10, '0'); + } + //todo AGGIORNO IL VALORE DEL PROGRESSIVO + + return seriale; + } } } diff --git a/Models/Progressivo.cs b/Models/Progressivo.cs new file mode 100644 index 0000000..263f11e --- /dev/null +++ b/Models/Progressivo.cs @@ -0,0 +1,14 @@ +namespace VirtualTask.Models +{ + public class Progressivo + { + /// Azienda + public string? azienda { get; set; } + + /// stringa definisce il tipo di progressivo da gestire + public string? tipo_prog { get; set; } + + /// valore progressivo + public int val_prog { get; set; } + } +}