From 70ce9ee91c07a0c1d215fc436f40a47bf16b9d64 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 6 Aug 2021 18:43:18 +0200 Subject: [PATCH] Aggiunto appunti x gestione riordino automatico (DA VALIDARE) --- GWMS.UI/Data/GWMSDataService.cs | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/GWMS.UI/Data/GWMSDataService.cs b/GWMS.UI/Data/GWMSDataService.cs index 4b19896..b1ce82d 100644 --- a/GWMS.UI/Data/GWMSDataService.cs +++ b/GWMS.UI/Data/GWMSDataService.cs @@ -245,7 +245,8 @@ namespace GWMS.UI.Data int transporterId = 1; double qtyOrd = 0; // faccio ciclo x tutti gli impianti - var currPlantData = await PlantsGetAll(); + List currPlantData = await PlantsGetAll(); + List fullWeekPlan = WeekPlanGet().Result; foreach (var item in currPlantData) { // recupero ordini x il plant @@ -255,9 +256,19 @@ namespace GWMS.UI.Data // verifico il livello attuale + i valori degli ordini APERTI rispetto al livello di riordino... if (item.LevelAct + qtyOrd < item.LevelReorder) { - // FARE !!! FIXME TODO calcolo supplier/transporter da tab WeekPlan - supplierId = 1; - transporterId = 1; + // (FARE !!! VERIFICA!!!!) + // calcolo supplier/transporter da tab WeekPlan + var dailyPlan = fullWeekPlan.Where(x => x.PlantId == item.PlantId && (int)x.DayNum == ((int)adesso.DayOfWeek + 1)).FirstOrDefault(); + if (dailyPlan != null) + { + supplierId = dailyPlan.SupplierId; + transporterId = dailyPlan.TransporterId; + } + else + { + supplierId = 1; + transporterId = 1; + } // stacco un NUOVO ordine di quantità finita NewOrders.Add(new OrderModel() { DtOrder = adesso, OrderQty = item.OrderQtyStd, PlantId = item.PlantId, OrderCode = $"O{item.PlantId:00}{adesso:yyMMddHH}", OrderDesc = $"Ordine {item.PlantDesc} - {adesso}", SupplierId = supplierId, TransporterId = transporterId }); } @@ -266,6 +277,20 @@ namespace GWMS.UI.Data { // effettuo inserimento ordini! dbController.OrderInsert(NewOrders); + + // invio email x ogni fornitore x i NUOVI ordini inseriti + var orders4supp = NewOrders.GroupBy(g => g.SupplierId).FirstOrDefault(); + foreach (var item in orders4supp) + { + // invio email di notifica nuovi ordini inseriti + } + + // invio email x ogni fornitore x i NUOVI ordini inseriti + var orders4transp = NewOrders.GroupBy(g => g.TransporterId).FirstOrDefault(); + foreach (var item in orders4transp) + { + // invio email di notifica nuovi ordini inseriti + } } }