Esempio n. 1
0
        static void Main(string[] args)
        {
            Banco        banco = new Banco();
            Banco_Regiao br    = new Banco_Regiao();

            var json = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\imobiliaria.json");

            var modelo = JsonConvert.DeserializeObject <List <Modelo.Modelo> >(json);

            foreach (var obj in modelo.ToList())
            {
                //Tratando de dados do Tipo Faixa

                #region Faixa Area Total
                //Verificando a faixa da area total do imovel
                var areat   = Convert.ToDecimal(obj.area_total);
                var areatot = string.Empty;

                if (!String.IsNullOrEmpty(obj.area_total))
                {
                    if (areat > 0 && areat <= 40)
                    {
                        areatot = "Entre 0 - 40 metros";
                    }
                    else if (areat > 40 && areat <= 70)
                    {
                        areatot = "Entre 41 - 70 metros";
                    }
                    else if (areat > 71 && areat <= 110)
                    {
                        areatot = "Entre 71 - 110 metros";
                    }
                    else
                    {
                        areatot = "Acima de 111 metros";
                    }
                }
                #endregion

                #region Faixa Area Privada
                //Verificando a faixa da area privada do imovel
                var areap   = Convert.ToDecimal(obj.area_privativa);
                var areapri = string.Empty;

                if (!String.IsNullOrEmpty(obj.area_privativa))
                {
                    if (areap > 0 && areap <= 40)
                    {
                        areapri = "Entre 0 - 40 metros";
                    }
                    else if (areap > 40 && areap <= 70)
                    {
                        areapri = "Entre 41 - 70 metros";
                    }
                    else if (areap > 71 && areap <= 110)
                    {
                        areapri = "Entre 71 - 110 metros";
                    }
                    else
                    {
                        areapri = "Acima de 111 metros";
                    }
                }
                #endregion

                #region Faixa Preço IPTU
                //Verificando a faixa de preço do IPTU do imovel
                var iptu  = Convert.ToDecimal(obj.iptu);
                var fiptu = string.Empty;

                if (!String.IsNullOrEmpty(obj.iptu))
                {
                    if (iptu > 0 && iptu <= 600)
                    {
                        fiptu = "Entre 0 - 600 valores";
                    }
                    else if (iptu > 600 && iptu <= 1200)
                    {
                        fiptu = "Entre 601 - 1200 valores";
                    }
                    else if (iptu > 1200 && iptu <= 1800)
                    {
                        fiptu = "Entre 1201 - 1800 valores";
                    }
                    else
                    {
                        fiptu = "Acima de 1801 valores";
                    }
                }

                #endregion

                #region Faixa Condominio
                //Verificando a faixa de condominio do imovel
                var cond  = Convert.ToDecimal(obj.condominio);
                var condo = string.Empty;

                if (!String.IsNullOrEmpty(obj.condominio))
                {
                    if (cond > 0 && cond <= 100)
                    {
                        condo = "Entre 0 - 100 metros";
                    }
                    else if (cond > 100 && cond <= 150)
                    {
                        condo = "Entre 101 - 150 metros";
                    }
                    else if (cond > 151 && cond <= 200)
                    {
                        condo = "Entre 151 - 200 metros";
                    }
                    else
                    {
                        condo = "Acima de 201 metros";
                    }
                }
                #endregion

                #region Faixa Dormitorios
                //Verificando a faixa de dormitorios do imovel
                var dorm  = Convert.ToInt32(obj.dormitorios);
                var torio = string.Empty;

                if (!String.IsNullOrEmpty(obj.dormitorios))
                {
                    if (dorm > 0 && dorm <= 2)
                    {
                        torio = "Entre 0 - 2 dormitorios";
                    }
                    else if (dorm > 2 && dorm <= 4)
                    {
                        torio = "Entre 3 - 4" +
                                " dormitorios";
                    }
                    else
                    {
                        torio = "Acima de 5 dormitorios";
                    }
                }
                #endregion

                #region Faixa Suites
                //Verificando a faixa de suites do imovel
                var suit   = Convert.ToInt32(obj.suites);
                var suites = string.Empty;

                if (!String.IsNullOrEmpty(obj.suites))
                {
                    if (suit > 0 && suit <= 2)
                    {
                        suites = "Entre 0 - 2 suites";
                    }
                    else if (suit > 2 && suit <= 4)
                    {
                        suites = "Entre 3 - 4 suites";
                    }
                    else
                    {
                        suites = "Acima de 5 suites";
                    }
                }
                #endregion

                #region Faixa Vagas
                //Verificando a faixa de vagas do imovel
                var vagas  = Convert.ToInt32(obj.vagas);
                var carros = string.Empty;

                if (!String.IsNullOrEmpty(obj.vagas))
                {
                    if (vagas > 0 && vagas <= 2)
                    {
                        carros = "Entre 0 - 2 vagas";
                    }
                    else if (vagas > 2 && vagas <= 4)
                    {
                        carros = "Entre 3 - 4 vagas";
                    }
                    else
                    {
                        carros = "Acima de 5 vagas";
                    }
                }
                #endregion

                #region Faixa Banheiros
                //Verificando a faixa de banheiros do imovel
                var banh   = Convert.ToInt32(obj.banheiros);
                var eirros = string.Empty;

                if (!String.IsNullOrEmpty(obj.banheiros))
                {
                    if (banh > 0 && banh <= 2)
                    {
                        eirros = "Entre 0 - 2 banheiros";
                    }
                    else if (banh > 2 && banh <= 4)
                    {
                        eirros = "Entre 3 - 4 banheiros";
                    }
                    else
                    {
                        eirros = "Acima de 5 banheiros";
                    }
                }
                #endregion

                #region Faixa Valor Venda
                //Verificando a faixa do valor de venda do imovel
                var valor  = Convert.ToDecimal(obj.valor_venda);
                var venda  = string.Empty;
                var padrao = string.Empty;

                if (!String.IsNullOrEmpty(obj.valor_venda))
                {
                    if (valor > 0 && valor <= 50000)
                    {
                        venda  = "Entre 0 - 50.000 valores";
                        padrao = "Básico";
                    }
                    else if (valor > 50000 && valor <= 125000)
                    {
                        venda = "Entre 50.001" +
                                " - 125.000 valores";
                        padrao = "Médio";
                    }
                    else if (valor > 125000 && valor <= 200000)
                    {
                        venda  = "Entre 125.001 - 200.000 valores";
                        padrao = "Classe A";
                    }

                    else
                    {
                        venda = "Acima de 200.001 valores";
                    }
                }
                padrao = "Alta Classe";
                #endregion

                #region Faixa Valor Aluguel
                //Verificando a faixa da area privada do imovel
                var aluguel  = Convert.ToDecimal(obj.valor_aluguel);
                var aluguelx = string.Empty;

                if (!String.IsNullOrEmpty(obj.valor_aluguel))
                {
                    if (aluguel > 0 && aluguel <= 1000)
                    {
                        aluguelx = "Entre 0 - 1.000 valores";
                    }
                    else if (aluguel > 1000 && aluguel <= 1500)
                    {
                        aluguelx = "Entre 1001" + " - 1.500 valores";
                    }
                    else if (aluguel > 1500 && aluguel <= 2750)
                    {
                        aluguelx = "Entre 1.501 - 2.750 valores";
                    }
                    else
                    {
                        aluguelx = "Acima de 2.751 valores";
                    }
                }
                #endregion



                #region Métodos de Validação --Snow Flake

                //Validando se Estado ja existe

                var uf    = br.BuscarEstado(obj.uf);
                var ufest = obj.uf;

                if (uf == 0)
                {
                    br.AdicionaEstado(ufest);
                }

                //Validando se Cidade ja existe

                var cid  = br.BuscaCidade(obj.cidade);
                var cida = obj.cidade;

                if (cid == 0)
                {
                    br.AdicionaCidade(obj.cidade, obj.uf);
                }

                //Validando se Bairro ja existe

                var bai  = br.BuscarBairro(obj.bairro);
                var bair = obj.bairro;
                var cep  = Convert.ToInt32(obj.cep.Substring(0, 5));

                if (bai == 0)
                {
                    br.AdicionaBairro(obj.cidade, bair, cep);
                }

                #endregion


                #region Métodos de Inserção

                #region Adicionando Imovel
                //Metodo para inserir Imovel no Banco
                var idImovel = banco.AdicionarImovel(obj.categoria != null ? obj.categoria : null,
                                                     obj.status != null ? obj.status : null,
                                                     areatot == "" ? null : areatot,
                                                     areapri == "" ? null : areapri,
                                                     fiptu == "" ? null : fiptu,
                                                     condo == "" ? null : condo,
                                                     obj.planta.Contains("SIM") ? true : false,
                                                     obj.dependencia.Contains("SIM") ? true : false,
                                                     obj.sacada.Contains("SIM") ? true : false,
                                                     obj.portaria.Contains("SIM") ? true : false,
                                                     obj.elevador.Contains("SIM") ? true : false,
                                                     obj.churrasqueira != null ? obj.churrasqueira : null,
                                                     torio == "" ? null : torio,
                                                     suites == "" ? null : suites,
                                                     carros == "" ? null : carros,
                                                     eirros == "" ? null : eirros,
                                                     venda == "" ? null : venda,
                                                     aluguelx == "" ? null : aluguelx,
                                                     obj.mostrar_mapa.Contains("SIM") ? true : false
                                                     );
                #endregion

                #region Tempo
                var ano = banco.RandomNumber();
                #endregion

                #region Fato

                banco.AdicionarFato(obj.bairro, ano, idImovel, padrao);

                #endregion

                #endregion
            }
        }