Ejemplo n.º 1
0
        private CompetenzeRichiesta MapOraInMongo(ORACompetenzeByNomeVia oraCompetenza)
        {
            CompetenzeRichiesta competenza = new CompetenzeRichiesta()
            {
                CodDistaccamento   = Convert.ToInt32(oraCompetenza.COD_DISTACCAMENTO1),
                CodDistaccamento2  = Convert.ToInt32(oraCompetenza.COD_DISTACCAMENTO2),
                CodDistaccamento3  = Convert.ToInt32(oraCompetenza.COD_DISTACCAMENTO3),
                DescDistaccamento  = oraCompetenza.DESC_DISTACCAMENTO1,
                DescDistaccamento2 = oraCompetenza.DESC_DISTACCAMENTO2,
                DescDistaccamento3 = oraCompetenza.DESC_DISTACCAMENTO3,
                CodZona            = oraCompetenza.ID_ZONA,
                flag_attivo        = "1"
            };

            return(competenza);
        }
Ejemplo n.º 2
0
        public List <ORACompetenzeByNomeVia> GetCompetenzeByNomeStrada(string CodSede, string NomeVia, string civico, string Citta)
        {
            List <ORACompetenzeByNomeVia> ListaCompetenzeElenco = new List <ORACompetenzeByNomeVia>();

            GetDistaccamentiByCodSede AnagraficaDistaccamenti = new GetDistaccamentiByCodSede();
            var ListaDistaccamenti = AnagraficaDistaccamenti.GetDistaccamentiBySede(CodSede);

            DBContext   context = new DBContext();
            Connessione InfoCon = context.GetConnectionFromCodiceSede(CodSede);

            OracleConnection conn = new OracleConnection(InfoCon.ConnectionString);

            conn.Open();
            OracleCommand cmd = new OracleCommand()
            {
                Connection  = conn,
                CommandText = "SELECT " +
                              "NVL(TABELLE_COMUNI.DISTACCAMENTI.CODSEDE,'') as CODSEDE, " +
                              "NVL(TABELLE_COMUNI.DISTACCAMENTI.CODDISTAC,1000) as CODDISTAC, " +
                              "NVL(SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO1,1000) as COD_DISTACCAMENTO1, " +
                              "NVL(SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO2,1000) as COD_DISTACCAMENTO2, " +
                              "NVL(SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO3,1000) as COD_DISTACCAMENTO3, " +
                              "NVL(SALAOPER.ROA_TRATTI.ID_ZONA,0) as ID_ZONA, " +
                              "NVL(SALAOPER.ROA_TRATTI.ID_ZONA2,0) as ID_ZONA2, " +
                              "NVL(SALAOPER.ROA_TRATTI.ID_ZONA3,0) as ID_ZONA3, " +
                              "NVL(SALAOPER.INDIRIZZI_COMUNI.NAME,'') as NOMEVIA, " +
                              "NVL(SALAOPER.INDIRIZZI_COMUNI.COMUNE,'') as COMUNE, " +
                              "NVL(SALAOPER.INDIRIZZI_COMUNI.SIGLA_PROVINCIA,'') as SIGLA_PROVINCIA," +
                              "SALAOPER.HNR_CIVICI.LFTFSTHNR, " +
                              "SALAOPER.HNR_CIVICI.LFTLSTHNR, " +
                              "SALAOPER.HNR_CIVICI.RGHTFSTHNR," +
                              "SALAOPER.HNR_CIVICI.RGHTLSTHNR " +
                              "FROM SALAOPER.ROA_TRATTI " +
                              "INNER JOIN TABELLE_COMUNI.DISTACCAMENTI ON " +
                              "SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO1 = TABELLE_COMUNI.DISTACCAMENTI.CODDISTAC " +
                              "INNER JOIN SALAOPER.INDIRIZZI_COMUNI ON SALAOPER.ROA_TRATTI.STLFTID = SALAOPER.INDIRIZZI_COMUNI.STID " +
                              "AND SALAOPER.ROA_TRATTI.STRGHTID = SALAOPER.INDIRIZZI_COMUNI.STID " +
                              "INNER JOIN SALAOPER.HNR_CIVICI ON SALAOPER.ROA_TRATTI.EDGID = SALAOPER.HNR_CIVICI.EDGID " +
                              "WHERE (UPPER(TABELLE_COMUNI.DISTACCAMENTI.CODSEDE) = :SEDE) " +
                              "AND   (UPPER(SALAOPER.INDIRIZZI_COMUNI.NAME) = '" + NomeVia.ToUpper() + "' ) " +
                              "AND   (UPPER(SALAOPER.INDIRIZZI_COMUNI.COMUNE) = '" + Citta.ToUpper().Trim() + "' ) " +
                              "GROUP BY TABELLE_COMUNI.DISTACCAMENTI.CODSEDE, TABELLE_COMUNI.DISTACCAMENTI.CODDISTAC, SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO1, " +
                              "SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO2, SALAOPER.ROA_TRATTI.COD_DISTACCAMENTO3, SALAOPER.ROA_TRATTI.ID_ZONA, SALAOPER.ROA_TRATTI.ID_ZONA2, " +
                              "SALAOPER.ROA_TRATTI.ID_ZONA3, SALAOPER.INDIRIZZI_COMUNI.NAME, SALAOPER.INDIRIZZI_COMUNI.COMUNE, SALAOPER.INDIRIZZI_COMUNI.SIGLA_PROVINCIA, " +
                              "SALAOPER.HNR_CIVICI.LFTFSTHNR, SALAOPER.HNR_CIVICI.LFTLSTHNR, SALAOPER.HNR_CIVICI.RGHTFSTHNR,SALAOPER.HNR_CIVICI.RGHTLSTHNR"
            };

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add(new OracleParameter("SEDE", CodSede.ToUpper()));

            OracleDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ORACompetenzeByNomeVia ORACompetenza = new ORACompetenzeByNomeVia()
                {
                    CODSEDE             = Utility.Utility.GetDBField(dr, "CODSEDE"),
                    CODDISTAC           = Convert.ToInt32(Utility.Utility.GetDBField(dr, "CODDISTAC")),
                    COD_DISTACCAMENTO1  = Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO1")),
                    DESC_DISTACCAMENTO1 = ListaDistaccamenti.Find(x => x.CODDISTAC.Equals(Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO1"))) && x.CODSEDE.Equals(CodSede.ToUpper())).DESCDISTAC,
                    COD_DISTACCAMENTO2  = Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO2")),
                    DESC_DISTACCAMENTO2 = ListaDistaccamenti.Find(x => x.CODDISTAC.Equals(Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO2"))) && x.CODSEDE.Equals(CodSede.ToUpper())).DESCDISTAC,
                    COD_DISTACCAMENTO3  = Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO3")),
                    DESC_DISTACCAMENTO3 = ListaDistaccamenti.Find(x => x.CODDISTAC.Equals(Convert.ToInt32(Utility.Utility.GetDBField(dr, "COD_DISTACCAMENTO3"))) && x.CODSEDE.Equals(CodSede.ToUpper())).DESCDISTAC,
                    COMUNE          = Utility.Utility.GetDBField(dr, "COMUNE"),
                    ID_ZONA         = Convert.ToInt32(Utility.Utility.GetDBField(dr, "ID_ZONA")),
                    ID_ZONA2        = Convert.ToInt32(Utility.Utility.GetDBField(dr, "ID_ZONA2")),
                    ID_ZONA3        = Convert.ToInt32(Utility.Utility.GetDBField(dr, "ID_ZONA3")),
                    NOMEVIA         = Utility.Utility.GetDBField(dr, "NOMEVIA"),
                    SIGLA_PROVINCIA = Utility.Utility.GetDBField(dr, "SIGLA_PROVINCIA"),
                    LFTFSTHNR       = Utility.Utility.GetDBField(dr, "LFTFSTHNR"),
                    LFTLSTHNR       = Utility.Utility.GetDBField(dr, "LFTLSTHNR"),
                    RGHTFSTHNR      = Utility.Utility.GetDBField(dr, "RGHTFSTHNR"),
                    RGHTLSTHNR      = Utility.Utility.GetDBField(dr, "RGHTLSTHNR")
                };

                ListaCompetenzeElenco.Add(ORACompetenza);
            }

            conn.Dispose();

            if (ListaCompetenzeElenco.FindAll(x => (Convert.ToDecimal(civico) >= Convert.ToDecimal(x.LFTFSTHNR) && Convert.ToDecimal(civico) <= Convert.ToDecimal(x.LFTLSTHNR)) ||
                                              (Convert.ToDecimal(civico) >= Convert.ToDecimal(x.RGHTFSTHNR) && Convert.ToDecimal(civico) <= Convert.ToDecimal(x.RGHTLSTHNR))).Count > 0)
            {
                return(ListaCompetenzeElenco.FindAll(x => (Convert.ToDecimal(civico) >= Convert.ToDecimal(x.LFTFSTHNR) && Convert.ToDecimal(civico) <= Convert.ToDecimal(x.LFTLSTHNR)) ||
                                                     (Convert.ToDecimal(civico) >= Convert.ToDecimal(x.RGHTFSTHNR) && Convert.ToDecimal(civico) <= Convert.ToDecimal(x.RGHTLSTHNR))));
            }
            else
            {
                List <ORACompetenzeByNomeVia> ListaCompetenza = new List <ORACompetenzeByNomeVia>();
                ListaCompetenza.Add(ListaCompetenzeElenco.FirstOrDefault());
                return(ListaCompetenza);
            }
        }