public ActionResult ManutencaoFornecedor(Fornecedor pVO) { wcfCadastro.CadastroClient objCadastro = new wcfCadastro.CadastroClient(); JavaScriptSerializer serializer = new JavaScriptSerializer(); try { if (pVO.idFornecedor > 0) pVO = serializer.Deserialize<List<Fornecedor>>(objCadastro.ListarFornecedor(JsonConvert.SerializeObject(pVO)))[0]; return View(pVO); } catch (Exception ex) { throw ex; } finally { objCadastro.Close(); objCadastro = null; serializer = null; } }
public string ListarFornecedor(string pJSONFornecedor) { Fornecedor objFornecedor; CEP objCEP; List<Fornecedor> lstFornecedor = new List<Fornecedor>(); IDataReader objResultado; JavaScriptSerializer serializer = new JavaScriptSerializer(); Fornecedor pFornecedor = serializer.Deserialize<Fornecedor>(pJSONFornecedor); try { // Abre conexão com o DB objDATA.Open(); // Indica o tipo de comando objDATA.COMMAND_TYPE = CommandType.StoredProcedure; // Comando a ser executado no DB objDATA.COMMAND = PKG_NAME + "LISTAR_FORNECEDOR"; // Adiciona os parametros a chamada da procedure objDATA.AddParameter("pIDFORNECEDOR", WMSDBTypes.WMSDBType.INT32, 3, pFornecedor.idFornecedor, ParameterDirection.Input); if (!SQL) { objDATA.AddParameter("C_CUR", WMSDBTypes.WMSDBType.RefCursor, 0, null, ParameterDirection.Output); // Executa a procedure objDATA.ExecuteNonQuery(); } // Recupera o Cursor de Saída objResultado = (!SQL) ? ((OracleRefCursor)objDATA.GetParameter("C_CUR")).GetDataReader() : objDATA.ExecuteQuery(); // Percorre o resultado do cursor e adiciona os itens na lista while (objResultado.Read()) { // Preenche o objeto objFornecedor = new Fornecedor(); objFornecedor.idFornecedor = int.Parse(objResultado["IDFORNECEDOR"].ToString()); objFornecedor.nmFornecedor = objResultado["NMFORNECEDOR"].ToString(); objFornecedor.razaoSocial = objResultado["RAZAOSOCIAL"].ToString(); objFornecedor.CNPJ = objResultado["CNPJ"].ToString(); objFornecedor.cdIncricaoEstadual = objResultado["CDINSCRICAOESTADUAL"].ToString(); // TESTE objFornecedor.CEP = new CEP(); objFornecedor.CEP.Cep = "14801230"; objFornecedor.CEP.Bairro = "Centro"; objFornecedor.CEP.Endereco = "Professor Jorge Corrêa"; objFornecedor.CEP.Estado = "SP"; objFornecedor.CEP.Municipio = "Araraquara"; objFornecedor.Empresa = new Empresa(); objFornecedor.Empresa.idEmpresa = 1; objFornecedor.Empresa.nmEmpresa = "Empresa de teste"; // Adiciona o item na lista lstFornecedor.Add(objFornecedor); // Finaliza o objeto objFornecedor = null; } // Fecha o objeto objResultado.Close(); // Retorna a lista de perfil return JsonConvert.SerializeObject(lstFornecedor); } catch (Exception ex) { // Tratamento de Exceção throw ex; } finally { // Verifica se existe conexão aberta e fecha if (objDATA != null) objDATA.Close(); // Finaliza os objetos objResultado = null; objFornecedor = null; lstFornecedor = null; } }