diff --git a/Controllers/GiriController.cs b/Controllers/GiriController.cs index f96bf67..8add4dd 100644 --- a/Controllers/GiriController.cs +++ b/Controllers/GiriController.cs @@ -6,6 +6,7 @@ using SoftwayWeb.Models; using System.Collections.Generic; using System.Data; using System.Diagnostics; +using System.Reflection; using System.Runtime.Intrinsics.Arm; using System.Text; using X.PagedList; @@ -18,16 +19,26 @@ namespace SoftwayWeb.Controllers string urlBase = string.Empty; string token = string.Empty; string errMes = string.Empty; + string messAcc = string.Empty; + string messNew = string.Empty; private readonly IConfiguration _configuration; + private readonly IConfiguration _mess1; + private readonly IConfiguration _mess2; HttpClient client; SessionHelper helper; - public GiriController(IConfiguration configuration) + public GiriController(IConfiguration configuration, IConfiguration mess1, IConfiguration mess2) { _configuration = configuration; + _mess1 = mess1; + _mess2 = mess2; client = new HttpClient(); var key = _configuration["ApplicationInsights:rootUrlApi"]; + var messA = _mess1["ApplicationInsights:messDestiAccodo"]; + var messN = _mess2["ApplicationInsights:messDestiNew"]; apiUrl = key; + messAcc = messA; + messNew = messN; } public IActionResult Index(string? codAutista, string? codMezzo, DateTime data, bool aperto = true, int? page = 1) @@ -323,7 +334,74 @@ namespace SoftwayWeb.Controllers } [HttpPost] - public IActionResult ModificaTutteDestinazioniPost(List modelList, string? autisti, /*string? nomeAutista,*/ string? mezzi) + public IActionResult ModificaTutteDestinazioniStep1(List modelList, string? autisti, string? nomeAutista, string? mezzi, string? nomeMezzo) + { + ViewBag.CodMezzo = mezzi; + ViewBag.CodAutista = autisti; + + SessionHelper helper = new SessionHelper(this); + + token = helper.GetStringValue("tok"); + + if (string.IsNullOrEmpty(token)) + { + return RedirectToAction("Login", "Login"); + } + + foreach (var item in modelList) + { + string dataGi = string.Empty; + dataGi = item.DataCarico.Value.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'"); + urlBase = apiUrl + "Giri/listaDestinazioniByAutistaDataMezzoWeb"; + //urlBase = urlBase + "?autista=" + item.CodAutista + "&dataGiro=" + dataGi + "&mezzo=" + item.CodAutomezzo; + urlBase = urlBase + "?autista=" + autisti + "&dataGiro=" + dataGi + "&mezzo=" + mezzi; + Uri baseAddress = new Uri(urlBase); + client = new HttpClient(); + client.BaseAddress = baseAddress; + + List modelList2 = new List(); + HttpResponseMessage response = client.GetAsync(baseAddress).Result; + if (response.IsSuccessStatusCode) + { + string dato = response.Content.ReadAsStringAsync().Result; + modelList2 = JsonConvert.DeserializeObject>(dato); + var presenti = modelList2.OrderByDescending(t => t.Prog); + + string mex = string.Empty; + //var nomeA = item.Autista; + //var nomeM = item.DescAutomezzo; + + if (presenti != null && presenti.Count() > 0) + { + //giro già esistente.. accodo + mex = messAcc; + } + else + { + // giro non esistente.. ne creo uno nuovo + mex = messNew; + } + + item.CodAutistaOld = item.CodAutista; + item.AutistaOld = item.Autista; + item.CodAutomezzoOld = item.CodAutomezzo; + item.DescAutomezzoOld = item.DescAutomezzoOld; + + ViewBag.Messaggio = mex; + } + else + { + errMes = response.Content.ReadAsStringAsync().Result; + helper.SetStringValue("errMsg", errMes); + return RedirectToAction("Error"); + } + } + + return View(modelList); + } + + [HttpPost] + public IActionResult ModificaTutteDestinazioniPost(List modelList, string? CodAutista, string? CodMezzo/*, string? autisti,*/ /*string? nomeAutista,*/ /*string? mezzi*/) { SessionHelper helper = new SessionHelper(this); @@ -334,51 +412,150 @@ namespace SoftwayWeb.Controllers return RedirectToAction("Login", "Login"); } - foreach (var destinazione in modelList) + foreach (var model in modelList) { + string dataGi = string.Empty; + dataGi = model.DataCarico.Value.ToString("yyyy-MM-dd'T'HH:mm:ss.fff'Z'"); + urlBase = apiUrl + "Giri/listaDestinazioniByAutistaDataMezzoWeb"; + urlBase = urlBase + "?autista=" + model.CodAutista + "&dataGiro=" + dataGi + "&mezzo=" + model.CodAutomezzo; + Uri baseAddress = new Uri(urlBase); + client = new HttpClient(); + client.BaseAddress = baseAddress; + + List modelList2 = new List(); + HttpResponseMessage response = client.GetAsync(baseAddress).Result; + Modgir mg = new Modgir(); - mg.Piserial = destinazione.Brserial; - mg.Pidata = destinazione.DataCarico; - mg.Picommit = destinazione.CodCommittente; - mg.Pidesdiv = destinazione.CodSede; - mg.Pitarga = mezzi.TrimEnd(); - mg.Piautist = autisti.TrimEnd(); - mg.Pitiprec = "M"; - mg.Pisergir = destinazione.serialeGiro; + mg.Piserial = model.Brserial; + mg.Pidata = model.DataCarico; + mg.Picommit = model.CodCommittente; + mg.Pidesdiv = model.CodSede; + mg.Pitarga = CodAutista; + mg.Piautist = CodMezzo; + + if (response.IsSuccessStatusCode) + { + string dato = response.Content.ReadAsStringAsync().Result; + modelList = JsonConvert.DeserializeObject>(dato); + var presenti = modelList.OrderByDescending(t => t.Prog); + + if (presenti != null && presenti.Count() > 0) + { + //giro già esistente.. accodo + mg.Pitiprec = "M"; + mg.Pisergirold = model.serialeGiro; + foreach (Destinazioni_Out d in presenti) + { + mg.Pisergir = d.serialeGiro; + } + } + else + { + // giro non esistente.. ne creo uno nuovo + mg.Pitiprec = "N"; + mg.Pisergir = model.serialeGiro; + } + } + else + { + errMes = response.Content.ReadAsStringAsync().Result; + helper.SetStringValue("errMsg", errMes); + return RedirectToAction("Error"); + } apiUrl = helper.GetStringValue("apiUrl"); urlBase = apiUrl + "ModificaGiro/addModgir"; - - Uri baseAddress = new Uri(urlBase); + baseAddress = new Uri(urlBase); client = new HttpClient(); client.BaseAddress = baseAddress; string data = JsonConvert.SerializeObject(mg); StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); - HttpResponseMessage response2 = client.PostAsync(baseAddress, content).Result; - //if (response2.IsSuccessStatusCode) - //{ - // //Destinazioni_Out destMod = new Destinazioni_Out(); - // //destMod.serialeGiro = destinazione.Brserial; - // //destMod.CodAutista = destinazione.CodAutista; - // //destMod.CodAutomezzo = destinazione.CodAutomezzo; - // //new - // //{ - // // id = destinazione.serialeGiro, - // // codAutista = destinazione.CodAutista, - // // dataGiro = destinazione.DataCarico, - // // codMezzo = destinazione.CodAutomezzo - // //},; - //} + if (response2.IsSuccessStatusCode) + { + return RedirectToAction("IndexValidate", "Destinazioni", new + { + id = model.serialeGiro, + codAutista = model.CodAutistaOld, + nomeAutista = model.AutistaOld, + dataGiro = model.DataCarico, + codMezzo = model.CodAutomezzoOld, + desMezzo = model.DescAutomezzoOld + }); + } + else + { + errMes = response2.Content.ReadAsStringAsync().Result; + helper.SetStringValue("errMsg", errMes); + return RedirectToAction("Error"); + } } return RedirectToAction("Index", "Giri"); } + + //[HttpPost] + //public IActionResult ModificaTutteDestinazioniPost(List modelList, string? autisti, /*string? nomeAutista,*/ string? mezzi) + //{ + // SessionHelper helper = new SessionHelper(this); + + // token = helper.GetStringValue("tok"); + + // if (string.IsNullOrEmpty(token)) + // { + // return RedirectToAction("Login", "Login"); + // } + + // foreach (var destinazione in modelList) + // { + // Modgir mg = new Modgir(); + + // mg.Piserial = destinazione.Brserial; + // mg.Pidata = destinazione.DataCarico; + // mg.Picommit = destinazione.CodCommittente; + // mg.Pidesdiv = destinazione.CodSede; + // mg.Pitarga = mezzi.TrimEnd(); + // mg.Piautist = autisti.TrimEnd(); + // mg.Pitiprec = "M"; + // mg.Pisergir = destinazione.serialeGiro; + + // apiUrl = helper.GetStringValue("apiUrl"); + + // urlBase = apiUrl + "ModificaGiro/addModgir"; + + // Uri baseAddress = new Uri(urlBase); + // client = new HttpClient(); + // client.BaseAddress = baseAddress; + + // string data = JsonConvert.SerializeObject(mg); + // StringContent content = new StringContent(data, Encoding.UTF8, "application/json"); + + // HttpResponseMessage response2 = client.PostAsync(baseAddress, content).Result; + + // //if (response2.IsSuccessStatusCode) + // //{ + // // //Destinazioni_Out destMod = new Destinazioni_Out(); + // // //destMod.serialeGiro = destinazione.Brserial; + // // //destMod.CodAutista = destinazione.CodAutista; + // // //destMod.CodAutomezzo = destinazione.CodAutomezzo; + // // //new + // // //{ + // // // id = destinazione.serialeGiro, + // // // codAutista = destinazione.CodAutista, + // // // dataGiro = destinazione.DataCarico, + // // // codMezzo = destinazione.CodAutomezzo + // // //},; + // //} + // } + + // return RedirectToAction("Index", "Giri"); + //} + //[HttpPost] //public IActionResult Create(GiriConsegnaView model) //{ diff --git a/Views/Giri/ModificaTutteDestinazioni.cshtml b/Views/Giri/ModificaTutteDestinazioni.cshtml index 2cdefaf..c21d3ec 100644 --- a/Views/Giri/ModificaTutteDestinazioni.cshtml +++ b/Views/Giri/ModificaTutteDestinazioni.cshtml @@ -23,81 +23,53 @@
Automezzo da sostituire: @ViewBag.CodMezzo - @ViewBag.Mezzo
- @using (Html.BeginForm("ModificaTutteDestinazioniPost", "Giri", FormMethod.Post)) + @using (Html.BeginForm(@* "ModificaTutteDestinazioniPost" *@"ModificaTutteDestinazioniStep1", "Giri", FormMethod.Post)) { -
- Seleziona il nuovo autista: @Html.DropDownList("autisti", ViewBag.Autisti, null, new { @class = "agy-form-field require" }) -
-
- Seleziona il nuovo Automezzo: @Html.DropDownList("mezzi", ViewBag.Mezzi, null, new { @class = "agy-form-field require" }) -
+ Seleziona il nuovo autista: @Html.DropDownList("autisti", ViewBag.Autisti, null, new { @class = "agy-form-field require" }) + +
+ Seleziona il nuovo Automezzo: @Html.DropDownList("mezzi", ViewBag.Mezzi, null, new { @class = "agy-form-field require" }) +
+
+ @* *@ + + + @* avanti *@ + + Torna alla lista +
@for (var i = 0; i < modelList.Count(); i++) { - - @Html.HiddenFor(modelItem => modelList[i].CodAutomezzo); - - @Html.HiddenFor(modelItem => modelList[i].DescAutomezzo) - - @Html.HiddenFor(modelItem => modelList[i].Brserial) - - @Html.HiddenFor(modelItem => modelList[i].DataCarico) - - @Html.HiddenFor(modelItem => modelList[i].CodCommittente) - - @Html.HiddenFor(modelItem => modelList[i].Committente) - - @Html.HiddenFor(modelItem => modelList[i].CodAutista) - - @Html.HiddenFor(modelItem => modelList[i].Autista) - - @Html.HiddenFor(modelItem => modelList[i].CodSede) - - @Html.HiddenFor(modelItem => modelList[i].Sede) - - @Html.HiddenFor(modelItem => modelList[i].IndirizzoSede) - - @Html.HiddenFor(modelItem => modelList[i].Cproword) - - @Html.HiddenFor(modelItem => modelList[i].Cprownum) - - @Html.HiddenFor(modelItem => modelList[i].Brmerce) - - @Html.HiddenFor(modelItem => modelList[i].Brnote) - - @Html.HiddenFor(modelItem => modelList[i].ImportoDaRitirare) - - @Html.HiddenFor(modelItem => modelList[i].ItemList) - - @Html.HiddenFor(modelItem => modelList[i].serialeGiro) - - @Html.HiddenFor(modelItem => modelList[i].Casse) - - @Html.HiddenFor(modelItem => modelList[i].Trasf) - - @Html.HiddenFor(modelItem => modelList[i].Colli) - - @Html.HiddenFor(modelItem => modelList[i].num_cons) - - @Html.HiddenFor(modelItem => modelList[i].Uova) - - @Html.HiddenFor(modelItem => modelList[i].Cist) - - @Html.HiddenFor(modelItem => modelList[i].Note) - - @Html.HiddenFor(modelItem => modelList[i].Seq) - - @Html.HiddenFor(modelItem => modelList[i].Prog) - - + @Html.HiddenFor(modelItem => modelList[i].CodAutomezzo); + @Html.HiddenFor(modelItem => modelList[i].DescAutomezzo) + @Html.HiddenFor(modelItem => modelList[i].Brserial) + @Html.HiddenFor(modelItem => modelList[i].DataCarico) + @Html.HiddenFor(modelItem => modelList[i].CodCommittente) + @Html.HiddenFor(modelItem => modelList[i].Committente) + @Html.HiddenFor(modelItem => modelList[i].CodAutista) + @Html.HiddenFor(modelItem => modelList[i].Autista) + @Html.HiddenFor(modelItem => modelList[i].CodSede) + @Html.HiddenFor(modelItem => modelList[i].Sede) + @Html.HiddenFor(modelItem => modelList[i].IndirizzoSede) + @Html.HiddenFor(modelItem => modelList[i].Cproword) + @Html.HiddenFor(modelItem => modelList[i].Cprownum) + @Html.HiddenFor(modelItem => modelList[i].Brmerce) + @Html.HiddenFor(modelItem => modelList[i].Brnote) + @Html.HiddenFor(modelItem => modelList[i].ImportoDaRitirare) + @Html.HiddenFor(modelItem => modelList[i].ItemList) + @Html.HiddenFor(modelItem => modelList[i].serialeGiro) + @Html.HiddenFor(modelItem => modelList[i].Casse) + @Html.HiddenFor(modelItem => modelList[i].Trasf) + @Html.HiddenFor(modelItem => modelList[i].Colli) + @Html.HiddenFor(modelItem => modelList[i].num_cons) + @Html.HiddenFor(modelItem => modelList[i].Uova) + @Html.HiddenFor(modelItem => modelList[i].Cist) + @Html.HiddenFor(modelItem => modelList[i].Note) + @Html.HiddenFor(modelItem => modelList[i].Seq) + @Html.HiddenFor(modelItem => modelList[i].Prog) } - } - - diff --git a/Views/Giri/ModificaTutteDestinazioniStep1.cshtml b/Views/Giri/ModificaTutteDestinazioniStep1.cshtml new file mode 100644 index 0000000..6f032f1 --- /dev/null +++ b/Views/Giri/ModificaTutteDestinazioniStep1.cshtml @@ -0,0 +1,185 @@ +@model List + +@{ + ViewData["Title"] = "ModificaTutteDestinazioniStep1"; + Layout = "~/Views/Shared/_LayoutAreaRis.cshtml"; + List modelList = new List(); + modelList = Model; + string messaggio = string.Empty; + messaggio = ViewBag.Messaggio; +} + +

@* messaggio di uscita: *@ N.B: @messaggio

+ +
+
+
+
+
Modifica Tutte Destinazioni
+
+
+ @*
+ Autista da sostituire: @ViewBag.CodAutista - @ViewBag.Autista +
+
+ Automezzo da sostituire: @ViewBag.CodMezzo - @ViewBag.Mezzo +
*@ + @using (Html.BeginForm("ModificaTutteDestinazioniPost", "Giri", FormMethod.Post)) + { +
+ Nuovo autista: @ViewBag.CodAutista - @ViewBag.Autista @* @Html.DropDownList("autisti", ViewBag.Autisti, null, new { @class = "agy-form-field require" }) *@ +
+
+ Nuovo automezzo: @ViewBag.CodMezzo - @ViewBag.Mezzo @* @Html.DropDownList("mezzi", ViewBag.Mezzi, null, new { @class = "agy-form-field require" }) *@ +
+ + @for (var i = 0; i < modelList.Count(); i++) + { + @Html.HiddenFor(modelItem => modelList[i].CodAutomezzo) + @Html.HiddenFor(modelItem => modelList[i].DescAutomezzo) + @Html.HiddenFor(modelItem => modelList[i].Brserial) + @Html.HiddenFor(modelItem => modelList[i].DataCarico) + @Html.HiddenFor(modelItem => modelList[i].CodCommittente) + @Html.HiddenFor(modelItem => modelList[i].Committente) + @Html.HiddenFor(modelItem => modelList[i].CodAutista) + @Html.HiddenFor(modelItem => modelList[i].Autista) + @Html.HiddenFor(modelItem => modelList[i].CodSede) + @Html.HiddenFor(modelItem => modelList[i].Sede) + @Html.HiddenFor(modelItem => modelList[i].IndirizzoSede) + @Html.HiddenFor(modelItem => modelList[i].Cproword) + @Html.HiddenFor(modelItem => modelList[i].Cprownum) + @Html.HiddenFor(modelItem => modelList[i].Brmerce) + @Html.HiddenFor(modelItem => modelList[i].Brnote) + @Html.HiddenFor(modelItem => modelList[i].ImportoDaRitirare) + @Html.HiddenFor(modelItem => modelList[i].ItemList) + @Html.HiddenFor(modelItem => modelList[i].serialeGiro) + @Html.HiddenFor(modelItem => modelList[i].Casse) + @Html.HiddenFor(modelItem => modelList[i].Trasf) + @Html.HiddenFor(modelItem => modelList[i].Colli) + @Html.HiddenFor(modelItem => modelList[i].num_cons) + @Html.HiddenFor(modelItem => modelList[i].Uova) + @Html.HiddenFor(modelItem => modelList[i].Cist) + @Html.HiddenFor(modelItem => modelList[i].Note) + @Html.HiddenFor(modelItem => modelList[i].Seq) + @Html.HiddenFor(modelItem => modelList[i].Prog) + } + } +
+
+
+
+
+
+
+
+
Elenco Destinazioni
+
+
+ + + + + + + + + + + + + + + + + + + + @for (var i = 0; i < modelList.Count(); i++) + { + + + + + + @if (modelList[i].Casse != null && modelList[i].Casse > 0) + { + int icasse = 0; + icasse = Convert.ToInt32(modelList[i].Casse); + + } + else + { + + } + @if (modelList[i].Trasf != null && modelList[i].Trasf > 0) + { + + } + else + { + + } + @if (modelList[i].Colli != null && modelList[i].Colli > 0) + { + int icolli = 0; + icolli = Convert.ToInt32(modelList[i].Colli); + + } + else + { + + } + @if (modelList[i].num_cons != null && modelList[i].num_cons > 0) + { + + } + else + { + + } + @if (modelList[i].Uova != null && modelList[i].Uova > 0) + { + + } + else + { + + } + @if (modelList[i].Cist != null && modelList[i].Cist > 0) + { + + } + else + { + + } + + + + + + } + +
S.CommittenteSedeIndirizzo sedeCa.Tr.Co.Nr.Co.UoCi.Note  
@Html.DisplayFor(modelItem => modelList[i].Seq)@Html.DisplayFor(modelItem => modelList[i].Committente)@Html.DisplayFor(modelItem => modelList[i].Sede)@Html.DisplayFor(modelItem => modelList[i].IndirizzoSede) + @icasse +   + @Html.DisplayFor(modelItem => modelList[i].Trasf) +   + @icolli +   + @Html.DisplayFor(modelItem => modelList[i].num_cons) +   + @Html.DisplayFor(modelItem => modelList[i].Uova) +   + @Html.DisplayFor(modelItem => modelList[i].Cist) +   + @Html.DisplayFor(modelItem => modelList[i].Note) +   
+
+
+
+
\ No newline at end of file diff --git a/appsettings.json b/appsettings.json index 229b4ed..788e49f 100644 --- a/appsettings.json +++ b/appsettings.json @@ -9,7 +9,9 @@ "rootUrlApi": "https://api.poloinformatico.it:8000/api/", //"rootUrlApi": "https://localhost:7126/api/" "messDestAccodo": "La seguente destinazione verrà aggiunta ad un giro esistente", - "messDestNew": "Verrà creato un nuovo giro per la seguente destinazione" + "messDestNew": "Verrà creato un nuovo giro per la seguente destinazione", + "messDestiAccodo": "Le seguenti destinazioni verranno aggiunte ad un giro esistente", + "messDestiNew": "Verrà creato un nuovo giro per le seguenti destinazioni" },