prova intersect
This commit is contained in:
@@ -108,12 +108,16 @@ namespace SMGen.Data.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
//localDbCtx
|
||||
// .DbSetAnagEventiTemp
|
||||
// .AddRange(newEvRecs);
|
||||
//await localDbCtx.SaveChangesAsync();
|
||||
//fatto = true;
|
||||
localDbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("DELETE FROM AnagraficaEventi_Chk");
|
||||
localDbCtx
|
||||
.DbSetAnagEventiTemp
|
||||
.AddRange(newEvRecs);
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
|
||||
#if false
|
||||
foreach (var item in newEvRecs)
|
||||
{
|
||||
var currRec = localDbCtx
|
||||
@@ -132,7 +136,8 @@ namespace SMGen.Data.Controllers
|
||||
.DbSetAnagEventiTemp
|
||||
.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
await localDbCtx.SaveChangesAsync();
|
||||
fatto = true;
|
||||
Log.Info($"Gli stati sono OK!");
|
||||
|
||||
@@ -231,10 +231,12 @@ namespace SMGen.Data.Services
|
||||
|
||||
private List<string> Bits { get; set; } = new List<string>();
|
||||
private Dictionary<string, int> Events_to_send { get; set; } = new Dictionary<string, int>();
|
||||
private Dictionary<string, int> evOk { get; set; } = new Dictionary<string, int>();
|
||||
public List<AnagEventiModelTemp> events2Add { get; set; } = new List<AnagEventiModelTemp>();
|
||||
private List<RuleClass> Rules { get; set; } = new List<RuleClass>();
|
||||
private List<string> States { get; set; } = new List<string>();
|
||||
private List<TransizioneIngressiModelTemp> TranInList2add { get; set; } = new List<TransizioneIngressiModelTemp>();
|
||||
public Dictionary<int, string> eventsFromDb = new Dictionary<int, string>();
|
||||
/// <summary>
|
||||
/// Valuta un file di ruoles x ingressi 2 eventi e restituisce esito
|
||||
/// </summary>
|
||||
@@ -257,7 +259,7 @@ namespace SMGen.Data.Services
|
||||
// recupero nome file x partire
|
||||
string filePath = currFile.tempFileName;
|
||||
string errMgs = "";
|
||||
Dictionary<int, string> eventsFromDb = await AnagEventiGetAll();
|
||||
eventsFromDb = await AnagEventiGetAll();
|
||||
try
|
||||
{
|
||||
// stream lettura file
|
||||
@@ -316,17 +318,17 @@ namespace SMGen.Data.Services
|
||||
case "$EVENT":
|
||||
#if false
|
||||
Events_to_send.Add(sz_tokens[2].Trim().ToUpper(), int.Parse(sz_tokens[1].Trim().ToUpper()));
|
||||
|
||||
#endif
|
||||
Events_to_send.Add(sz_tokens[2].Trim().ToUpper(), int.Parse(sz_tokens[1].Trim().ToUpper()));
|
||||
var newEvent = new AnagEventiModelTemp()
|
||||
{
|
||||
IdxTipo = int.Parse(sz_tokens[1].Trim().ToUpper()),
|
||||
Nome = sz_tokens[2].Trim().ToUpper()
|
||||
};
|
||||
|
||||
#endif
|
||||
Events_to_send.Add(sz_tokens[2].Trim().ToUpper(), int.Parse(sz_tokens[1].Trim().ToUpper()));
|
||||
|
||||
|
||||
//events2Add.Add(newEvent);
|
||||
events2Add.Add(newEvent);
|
||||
|
||||
break;
|
||||
|
||||
@@ -385,8 +387,20 @@ namespace SMGen.Data.Services
|
||||
Log.Error(errMgs);
|
||||
}
|
||||
|
||||
Events_to_send = Events_to_send.Select(a => a.Value).Intersect(Rules.Select(b => b.id_event_to_send)).ToDictionary(x => x.ToString());
|
||||
foreach (var item in Events_to_send)
|
||||
//Events_to_send = Events_to_send.Select(a => a.Value).Intersect(Rules.Select(b => b.id_event_to_send)).ToDictionary(x => x.ToString());
|
||||
|
||||
foreach (var ev in Events_to_send)
|
||||
{
|
||||
var rule2Ev = Rules.FirstOrDefault(x => x.event_to_send == ev.Key);
|
||||
if (rule2Ev != null)
|
||||
{
|
||||
if (!evOk.ContainsKey(ev.Key))
|
||||
{
|
||||
evOk.Add(ev.Key, ev.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach (var item in evOk)
|
||||
{
|
||||
var newEvent = new AnagEventiModelTemp()
|
||||
{
|
||||
|
||||
@@ -89,6 +89,7 @@ namespace SMGen.Components
|
||||
|
||||
protected async Task Read_rule_file_transitions()
|
||||
{
|
||||
SMGDService.events2Add.Clear();
|
||||
Files = await SMGDService.FilesGetAll();
|
||||
foreach (var item in Files.OrderBy(x => x.Value.origFileName))
|
||||
{
|
||||
@@ -111,6 +112,18 @@ namespace SMGen.Components
|
||||
}
|
||||
await InvokeAsync(() => StateHasChanged());
|
||||
}
|
||||
#if false
|
||||
foreach (var ev in SMGDService.events2Add)
|
||||
{
|
||||
var currEv = SMGDService.eventsFromDb[ev.IdxTipo];
|
||||
|
||||
if (currEv != ev.Nome)
|
||||
{
|
||||
ev.Nome = currEv;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
await SMGDService.AnagEventinInsert(SMGDService.events2Add);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user