<commit_before>﻿using MongoDB.Driver;
using Persistence.MongoDB;
using SO115App.API.Models.Classi.Organigramma;
using SO115App.Models.Classi.Emergenza;
using SO115App.Models.Servizi.Infrastruttura.GestioneEmergenza;
using SO115App.Models.Servizi.Infrastruttura.SistemiEsterni.ServizioSede;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SO115App.Persistence.MongoDB.GestioneEmergenza
{
    public class GetEmergenzeByCodiceComando : IGetEmergenzeByCodComando
    {
        private readonly DbContext _dbContext;
        private readonly IGetAlberaturaUnitaOperative _getAlberaturaUnitaOperative;

        public GetEmergenzeByCodiceComando(DbContext dbContext, IGetAlberaturaUnitaOperative getAlberaturaUnitaOperative)
        {
            _dbContext = dbContext;
            _getAlberaturaUnitaOperative = getAlberaturaUnitaOperative;
        }

        public List<Emergenza> Get(string codSede)
        {
            var listaSediAlberate = _getAlberaturaUnitaOperative.ListaSediAlberata();
            var pinNodi = new List<PinNodo>();
            pinNodi.Add(new PinNodo(codSede, true));

            foreach (var figlio in listaSediAlberate.Result.GetSottoAlbero(pinNodi))
                pinNodi.Add(new PinNodo(figlio.Codice, true));

            var arrayCodiciSede = pinNodi.Select(n => n.Codice).ToArray();

            var ListaEmergenze = _dbContext.EmergenzaCollection.Find(Builders<Emergenza>.Filter.Empty).ToList();

            return ListaEmergenze.FindAll(c => arrayCodiciSede.Any(s => s.Contains(c.CodComandoRichiedente)));
        }
    }
}<commit_msg>Emergenze - Fix filtro Emergenze annullate<commit_after>﻿using MongoDB.Driver;
using Persistence.MongoDB;
using SO115App.API.Models.Classi.Organigramma;
using SO115App.Models.Classi.Emergenza;
using SO115App.Models.Servizi.Infrastruttura.GestioneEmergenza;
using SO115App.Models.Servizi.Infrastruttura.SistemiEsterni.ServizioSede;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SO115App.Persistence.MongoDB.GestioneEmergenza
{
    public class GetEmergenzeByCodiceComando : IGetEmergenzeByCodComando
    {
        private readonly DbContext _dbContext;
        private readonly IGetAlberaturaUnitaOperative _getAlberaturaUnitaOperative;

        public GetEmergenzeByCodiceComando(DbContext dbContext, IGetAlberaturaUnitaOperative getAlberaturaUnitaOperative)
        {
            _dbContext = dbContext;
            _getAlberaturaUnitaOperative = getAlberaturaUnitaOperative;
        }

        public List<Emergenza> Get(string codSede)
        {
            var listaSediAlberate = _getAlberaturaUnitaOperative.ListaSediAlberata();
            var pinNodi = new List<PinNodo>();
            pinNodi.Add(new PinNodo(codSede, true));

            foreach (var figlio in listaSediAlberate.Result.GetSottoAlbero(pinNodi))
                pinNodi.Add(new PinNodo(figlio.Codice, true));

            var arrayCodiciSede = pinNodi.Select(n => n.Codice).ToArray();

            var ListaEmergenze = _dbContext.EmergenzaCollection.Find(Builders<Emergenza>.Filter.Empty).ToList();

            return ListaEmergenze.FindAll(c => arrayCodiciSede.Any(s => s.Contains(c.CodComandoRichiedente) && !c.Annullata));
        }
    }
}
{'fraction_non_alphanumeric': 0.08163884673748104, 'fraction_numerical': 0.009104704097116844, 'mean_word_length': 3.735632183908046, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3320855', 'n_tokens_mistral': 1133, 'n_tokens_neox': 1077, 'n_words': 157}