예제 #1
0
        public HttpResponseMessage varredura()
        {
            try
            {
                ArrayList arrayList = new ArrayList();
                Exe       exe       = new Exe();
                exe.clearArrayList();
                exe.exeSpeed("https://dentalspeed.com/grupo/motor-p-endodontia");
                //exe.exeCremer("https://www.dentalcremer.com.br/departamento/854748/motor-para-clinica");
                arrayList = exe.getArrayList();
                int categoriaId = 4;

                foreach (Verificacao v in arrayList)
                {
                    var     produtos = db.Produtos.ToArray();
                    Produto res      = null;
                    for (int i = 0; i < produtos.Length; i++)
                    {
                        Produto p = produtos[i];
                        if (Distance.Similarity(p.Titulo, v.ProdutoNome))
                        {
                            res = p;
                            i   = produtos.Length;
                        }
                    }

                    if (res != null)
                    {
                        Consulta consulta = new Consulta();
                        consulta.ProdutoId = res.Id;
                        consulta.Site      = v.Site;
                        consulta.Caminho   = v.Caminho;
                        consulta.Descricao = v.Descricao;
                        consulta.Titulo    = v.Titulo;

                        consulta.PesquisarPreco();

                        if (consulta.RespostaString != null)
                        {
                            db.Consulta.Add(consulta);
                        }
                    }
                    else
                    {
                        Produto produto = new Produto();
                        produto.Titulo      = Distance.RemoveAdjetivoCor(v.ProdutoNome);
                        produto.CategoriaId = categoriaId;
                        produto.imagem      = v.Imagem;
                        db.Produtos.Add(produto);

                        Consulta consulta = new Consulta();
                        consulta.ProdutoId = produto.Id;
                        consulta.Site      = v.Site;
                        consulta.Caminho   = v.Caminho;
                        consulta.Descricao = v.Descricao;
                        consulta.Titulo    = v.Titulo;

                        consulta.PesquisarPreco();

                        if (consulta.RespostaString != null)
                        {
                            db.Consulta.Add(consulta);
                            produto.Economia       = 0;
                            produto.MelhorConsulta = consulta.Id;
                            produto.PiorConsulta   = consulta.Id;
                        }
                        db.Produtos.Add(produto);
                    }

                    db.SaveChanges();
                }

                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "ok"));
            }
            catch
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "falha ao add produto"));
            }
        }