Beispiel #1
0
        public static void confrontaComuneDaImportareConGeoComuni(
            Tabelle tabelle,
            VistaGeo_Comune.geo_comuni_da_importareRow rComuneDaImportare,
            VistaGeo_Comune.geo_comuneRow[] geoComuniDiUnaProvincia,
            out int[] valoriDiMatching
            )
        {
            bool isComuneDaCercareNuovo = tabelle.isComuneDaImportareNuovo(rComuneDaImportare);

            DateTime dataInizio = Tabelle.leggiData(rComuneDaImportare["datainizio"]);
            DateTime dataFine   = Tabelle.leggiData(rComuneDaImportare["datafine"]);
            string   valore1    = rComuneDaImportare.valore1;
            string   valore2    = (rComuneDaImportare["valore2"] is DBNull) ? null: rComuneDaImportare.valore2;

            string comuneDaCercare = eliminaAccenti(rComuneDaImportare.nome);

            valoriDiMatching = new int[geoComuniDiUnaProvincia.Length];
            for (int i = 0; i < geoComuniDiUnaProvincia.Length; i++)
            {
                string nomeGeoComune    = eliminaAccenti(geoComuniDiUnaProvincia[i].denominazione);
                bool   isGeoComuneNuovo = tabelle.isGeoComuneNuovo(geoComuniDiUnaProvincia[i]);

                valoriDiMatching[i] = Matching.match(
                    comuneDaCercare,
                    isComuneDaCercareNuovo,
                    nomeGeoComune,
                    isGeoComuneNuovo
                    );

                if (!tabelle.confrontaConValoriGiaSulDB(dataInizio, dataFine, valore1, valore2, geoComuniDiUnaProvincia[i].idcomune))
                {
                    valoriDiMatching[i] += 10;
                }
            }
        }
Beispiel #2
0
 public static void getCoppie(
     Tabelle tabelle,
     string siglaProvincia,
     ArrayList coppie,
     DataRow[] comuniDaImportare,
     DataRow[] geoComuni,
     out int[] partnerDiTabInGeo,
     out int[] partnerDiGeoInTab
     )
 {
     partnerDiTabInGeo = new int[comuniDaImportare.Length];
     partnerDiGeoInTab = new int[geoComuni.Length];
     for (int i = 0; i < partnerDiTabInGeo.Length; i++)
     {
         partnerDiTabInGeo[i] = -1;
     }
     for (int i = 0; i < partnerDiGeoInTab.Length; i++)
     {
         partnerDiGeoInTab[i] = -1;
     }
     coppie.Sort(new ConfrontaCoppie());
     for (int i = 0; i < coppie.Count; i++)
     {
         int matching = ((int[])coppie[i])[0];
         int tab      = ((int[])coppie[i])[1];
         int geo      = ((int[])coppie[i])[2];
         if ((partnerDiGeoInTab[geo] == -1) && (partnerDiTabInGeo[tab] == -1))
         {
             partnerDiTabInGeo[tab] = geo;
             partnerDiGeoInTab[geo] = tab;
             VistaGeo_Comune.geo_comuni_da_importareRow rComuneDaImportare = (VistaGeo_Comune.geo_comuni_da_importareRow)comuniDaImportare[tab];
             VistaGeo_Comune.geo_comuneRow rGeoComune = (VistaGeo_Comune.geo_comuneRow)geoComuni[geo];
             tabelle.inserisciNuovaRigaInTabellaTutteLeCoppie(
                 comuniDaImportare[tab],
                 geoComuni[geo],
                 siglaProvincia, siglaProvincia,
                 tabelle.isComuneDaImportareNuovo(rComuneDaImportare),
                 tabelle.isGeoComuneNuovo(rGeoComune),
                 matching
                 );
         }
     }
     for (int i = 0; i < partnerDiTabInGeo.Length; i++)
     {
         if (partnerDiTabInGeo[i] == -1)
         {
             tabelle.inserisciNuovaRigaInTabellaTuttiISingle1(
                 comuniDaImportare[i], siglaProvincia
                 );
         }
     }
     for (int i = 0; i < partnerDiGeoInTab.Length; i++)
     {
         if (partnerDiGeoInTab[i] == -1)
         {
             tabelle.inserisciNuovaRigaInTabellaTuttiISingle2(
                 geoComuni[i],
                 siglaProvincia
                 );
         }
     }
 }