public ActionResult Save(ProdutosModels produtos, HttpPostedFileBase arquivo) { ProdutosModels _produtos = new ProdutosModels(); _produtos.pro_id = Convert.ToInt32(produtos.pro_id); _produtos.pro_nome = produtos.pro_nome; _produtos.pro_descricao = produtos.pro_descricao; var dados = new ProdutosModels().Save(_produtos, arquivo); string retorno = ""; foreach (var item in dados) { string classe = ""; switch (item.HttpStatusCode) { case 200: classe = "sucesso"; break; case 400: classe = "erro"; break; case 500: classe = "erro"; break; default: classe = "alerta"; break; } retorno = "<div class='" + classe + "'>" + item.Mensagem + "</div>"; } ViewBag.mensagem = retorno; return(View()); }
public IEnumerable <ProdutosModels> GetProdutosTeste(string ProdutoName) { try { OpenConnnection(); string strSelect = string.Format(@"SELECT * FROM Produtos WHERE ProdutoName IN ('" + ProdutoName + "')"); using (Cmd = new SqlCommand(strSelect, con)) { //string[] valor = ProdutoName.Split(','); //string p = "'TV','Celular','Notebook','Processador','memoria','HDD','SSD'"; //Cmd.Parameters.AddWithValue("@Produto_", ProdutoName); //foreach (var item in valor) //{ // Cmd.Parameters.AddWithValue("@Produto_", item); //} List <ProdutosModels> lista = new List <ProdutosModels>(); using (Dr = Cmd.ExecuteReader()) { ProdutosModels mod = null; while (Dr.Read()) { mod = new ProdutosModels(); mod.ID = Convert.ToInt32(Dr[0]); mod.ProdutoName = Convert.ToString(Dr[1]); mod.Valor = Convert.ToDecimal(Dr[2]); mod.Descricao = Convert.ToString(Dr[3]); lista.Add(mod); } return(lista); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { OpenConnnection(); } }
public IEnumerable <ProdutosModels> GetProdutos(string[] ProdutoName) { try { OpenConnnection(); //para esclarecer quando tu for fazer a query, não usar o * ele manda a engine do banco fazer //uma indexação de todas as colunas da table e ai demora mais, /*Não uso o * nas query só neste caso pois estou apenas usando para teste*/ //entao tranquilo pensei que estava em todo o projeto espalhado ai dá um bo// aNao // Isso é aqui em casa só para este teste o projeto real mesmo é la do trampo //ah tranquilo então. vamos ver como esta este ProdutoName //Talvez o array tem que ser aqui. Veja que só pegou o TV //ops acabei por finalizar, mas voce notou como ficou a strSelect? //nao vou rodar novamenteo StringBuilder sb = new StringBuilder(); string strSelect = null; // string.Format(@"SELECT * FROM Produtos WHERE ProdutoName IN (@Produto)"); //sera que esta faldo o paramentro aqui, sim estou vendo como implementar certo //nao curto fazer desta forma concatenando string so pra ver se funciona //Que deixar sem virgula para ver, ou voce digita apenas 1, o produtoname deverias estar dividido em array e nao esta //ja fiz isso antes 2015, vou ver um um projeto como implementei //ok var y = ProdutoName; foreach (string produto in ProdutoName) { sb.Append('"' + produto + '"' + ','); } string sqlin = sb.ToString().TrimEnd(','); strSelect = @"SELECT * FROM Produtos WHERE ProdutoName IN (" + sqlin + ")"; var x = strSelect; using (Cmd = new System.Data.SqlClient.SqlCommand(strSelect, con)) { List <ProdutosModels> lista = new List <ProdutosModels>(); using (Dr = Cmd.ExecuteReader()) { ProdutosModels mod = null; while (Dr.Read()) { mod = new ProdutosModels(); mod.ID = Convert.ToInt32(Dr[0]); mod.ProdutoName = Convert.ToString(Dr[1]); mod.Valor = Convert.ToDecimal(Dr[2]); mod.Descricao = Convert.ToString(Dr[3]); lista.Add(mod); } return(lista); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { OpenConnnection(); } }