//public XElement InsertarActualizarInstructor(string tipo_transaccion, E_INSTRUCTOR V_C_INSTRUCTOR, string usuario, string programa, XElement competencias, XElement cursos) //{ // using (contexto = new SistemaSigeinEntities()) // { // ObjectParameter pout_clave_retorno = new ObjectParameter("XML_RESULTADO", typeof(XElement)); // contexto.SPE_INSERTA_ACTUALIZA_C_INSTRUCTOR(pout_clave_retorno, V_C_INSTRUCTOR.ID_INSTRUCTOR, V_C_INSTRUCTOR.CL_TIPO_INSTRUCTOR, V_C_INSTRUCTOR.CL_INTRUCTOR, V_C_INSTRUCTOR.NB_INSTRUCTOR, V_C_INSTRUCTOR.NB_VALIDADOR, V_C_INSTRUCTOR.CL_RFC, V_C_INSTRUCTOR.CL_CURP, V_C_INSTRUCTOR.CL_STPS, V_C_INSTRUCTOR.CL_PAIS, V_C_INSTRUCTOR.NB_PAIS, V_C_INSTRUCTOR.CL_ESTADO, V_C_INSTRUCTOR.NB_ESTADO, V_C_INSTRUCTOR.CL_MUNICIPIO, V_C_INSTRUCTOR.NB_MUNICIPIO, V_C_INSTRUCTOR.CL_COLONIA, V_C_INSTRUCTOR.NB_COLONIA, V_C_INSTRUCTOR.NB_CALLE, V_C_INSTRUCTOR.NO_INTERIOR, V_C_INSTRUCTOR.NO_EXTERIOR, V_C_INSTRUCTOR.CL_CODIGO_POSTAL, V_C_INSTRUCTOR.DS_ESCOLARIDAD, V_C_INSTRUCTOR.FE_NACIMIENTO, V_C_INSTRUCTOR.XML_TELEFONOS, V_C_INSTRUCTOR.CL_CORREO_ELECTRONICO, V_C_INSTRUCTOR.MN_COSTO_HORA, V_C_INSTRUCTOR.MN_COSTO_PARTICIPANTE, V_C_INSTRUCTOR.DS_EVIDENCIA_COMPETENCIA, competencias.ToString(), cursos.ToString(), usuario, usuario, programa, programa, tipo_transaccion); // return XElement.Parse(pout_clave_retorno.Value.ToString()); // } //} public XElement InsertarActualizarInstructor(string pTipoTransaccion, E_INSTRUCTOR pInstructor, XElement pCompetencias, XElement pCursos, List <UDTT_ARCHIVO> pLstArchivosTemporales, List <E_DOCUMENTO> pLstDocumentos, XElement pCamposAdicionales, string pClUsuario, string pNbPrograma) { using (contexto = new SistemaSigeinEntities()) { var pXmlResultado = new SqlParameter("@XML_RESULTADO", SqlDbType.Xml) { Direction = ParameterDirection.Output }; XElement vXmlDocumentos = new XElement("DOCUMENTOS"); pLstDocumentos.ForEach(s => vXmlDocumentos.Add(new XElement("DOCUMENTO", new XAttribute("ID_ITEM", s.ID_ITEM), new XAttribute("ID_DOCUMENTO", s.ID_DOCUMENTO ?? 0), new XAttribute("ID_ARCHIVO", s.ID_ARCHIVO ?? 0), new XAttribute("NB_DOCUMENTO", s.NB_DOCUMENTO), new XAttribute("CL_TIPO_DOCUMENTO", s.CL_TIPO_DOCUMENTO)) )); List <UDTT_ARCHIVO> vLstArchivos = pLstArchivosTemporales; DataTable dtArchivos = new DataTable(); dtArchivos.Columns.Add(new DataColumn("ID_ITEM", typeof(SqlGuid))); dtArchivos.Columns.Add(new DataColumn("ID_ARCHIVO", typeof(int))); dtArchivos.Columns.Add(new DataColumn("NB_ARCHIVO")); dtArchivos.Columns.Add(new DataColumn("FI_ARCHIVO", typeof(SqlBinary))); vLstArchivos.ForEach(f => dtArchivos.Rows.Add(f.ID_ITEM, f.ID_ARCHIVO ?? 0, f.NB_ARCHIVO, f.FI_ARCHIVO)); var pArchivos = new SqlParameter("@PIN_ARCHIVOS", SqlDbType.Structured); pArchivos.Value = dtArchivos; pArchivos.TypeName = "ADM.UDTT_ARCHIVO"; contexto.Database.ExecuteSqlCommand("EXEC " + "[FYD].[SPE_INSERTA_ACTUALIZA_C_INSTRUCTOR] " + "@XML_RESULTADO OUTPUT " + ",@PIN_ID_INSTRUCTOR " + ",@PIN_CL_TIPO_INSTRUCTOR " + ",@PIN_CL_INTRUCTOR " + ",@PIN_NB_INSTRUCTOR " + ",@PIN_NB_APELLIDO_PATERNO " + ",@PIN_NB_APELLIDO_MATERNO " + ",@PIN_NB_VALIDADOR " + ",@PIN_CL_RFC " + ",@PIN_CL_CURP " + ",@PIN_CL_STPS " + ",@PIN_CL_PAIS " + ",@PIN_NB_PAIS " + ",@PIN_CL_ESTADO " + ",@PIN_NB_ESTADO " + ",@PIN_CL_MUNICIPIO " + ",@PIN_NB_MUNICIPIO " + ",@PIN_CL_COLONIA " + ",@PIN_NB_COLONIA " + ",@PIN_NB_CALLE " + ",@PIN_NO_INTERIOR " + ",@PIN_NO_EXTERIOR " + ",@PIN_CL_CODIGO_POSTAL " + ",@PIN_DS_ESCOLARIDAD " + ",@PIN_FE_NACIMIENTO " + ",@PIN_XML_TELEFONOS " + ",@PIN_CL_CORREO_ELECTRONICO " + ",@PIN_MN_COSTO_HORA " + ",@PIN_MN_COSTO_PARTICIPANTE " + ",@PIN_DS_EVIDENCIA_COMPETENCIA " + ",@PIN_XML_COMPETENCIAS " + ",@PIN_XML_CURSOS " + ",@PIN_XML_DOCUMENTOS " + ",@PIN_XML_CAMPOS_ADICIONALES " + ",@PIN_ARCHIVOS " + ",@PIN_CL_USUARIO_APP " + ",@PIN_NB_PROGRAMA " + ",@PIN_TIPO_TRANSACCION" , pXmlResultado , new SqlParameter("@PIN_ID_INSTRUCTOR", (object)pInstructor.ID_INSTRUCTOR ?? DBNull.Value) , new SqlParameter("@PIN_CL_TIPO_INSTRUCTOR", (object)pInstructor.CL_TIPO_INSTRUCTOR ?? DBNull.Value) , new SqlParameter("@PIN_CL_INTRUCTOR", (object)pInstructor.CL_INTRUCTOR ?? DBNull.Value) , new SqlParameter("@PIN_NB_INSTRUCTOR", (object)pInstructor.NB_INSTRUCTOR ?? DBNull.Value) , new SqlParameter("@PIN_NB_APELLIDO_PATERNO", (object)pInstructor.NB_APELLIDO_PATERNO ?? DBNull.Value) , new SqlParameter("@PIN_NB_APELLIDO_MATERNO", (object)pInstructor.NB_APELLIDO_MATERNO ?? DBNull.Value) , new SqlParameter("@PIN_NB_VALIDADOR", (object)pInstructor.NB_VALIDADOR ?? DBNull.Value) , new SqlParameter("@PIN_CL_RFC", (object)pInstructor.CL_RFC ?? DBNull.Value) , new SqlParameter("@PIN_CL_CURP", (object)pInstructor.CL_CURP ?? DBNull.Value) , new SqlParameter("@PIN_CL_STPS", (object)pInstructor.CL_STPS ?? DBNull.Value) , new SqlParameter("@PIN_CL_PAIS", (object)pInstructor.CL_PAIS ?? DBNull.Value) , new SqlParameter("@PIN_NB_PAIS", (object)pInstructor.NB_PAIS ?? DBNull.Value) , new SqlParameter("@PIN_CL_ESTADO", (object)pInstructor.CL_ESTADO ?? DBNull.Value) , new SqlParameter("@PIN_NB_ESTADO", (object)pInstructor.NB_ESTADO ?? DBNull.Value) , new SqlParameter("@PIN_CL_MUNICIPIO", (object)pInstructor.CL_MUNICIPIO ?? DBNull.Value) , new SqlParameter("@PIN_NB_MUNICIPIO", (object)pInstructor.NB_MUNICIPIO ?? DBNull.Value) , new SqlParameter("@PIN_CL_COLONIA", (object)pInstructor.CL_COLONIA ?? DBNull.Value) , new SqlParameter("@PIN_NB_COLONIA", (object)pInstructor.NB_COLONIA ?? DBNull.Value) , new SqlParameter("@PIN_NB_CALLE", (object)pInstructor.NB_CALLE ?? DBNull.Value) , new SqlParameter("@PIN_NO_INTERIOR", (object)pInstructor.NO_INTERIOR ?? DBNull.Value) , new SqlParameter("@PIN_NO_EXTERIOR", (object)pInstructor.NO_EXTERIOR ?? DBNull.Value) , new SqlParameter("@PIN_CL_CODIGO_POSTAL", (object)pInstructor.CL_CODIGO_POSTAL ?? DBNull.Value) , new SqlParameter("@PIN_DS_ESCOLARIDAD", (object)pInstructor.DS_ESCOLARIDAD ?? DBNull.Value) , new SqlParameter("@PIN_FE_NACIMIENTO", (object)pInstructor.FE_NACIMIENTO ?? DBNull.Value) , new SqlParameter("@PIN_XML_TELEFONOS", SqlDbType.Xml) { Value = new SqlXml(XElement.Parse(pInstructor.XML_TELEFONOS).CreateReader()) } , new SqlParameter("@PIN_CL_CORREO_ELECTRONICO", (object)pInstructor.CL_CORREO_ELECTRONICO ?? DBNull.Value) , new SqlParameter("@PIN_MN_COSTO_HORA", (object)pInstructor.MN_COSTO_HORA ?? DBNull.Value) , new SqlParameter("@PIN_MN_COSTO_PARTICIPANTE", (object)pInstructor.MN_COSTO_PARTICIPANTE ?? DBNull.Value) , new SqlParameter("@PIN_DS_EVIDENCIA_COMPETENCIA", (object)pInstructor.DS_EVIDENCIA_COMPETENCIA ?? DBNull.Value) , new SqlParameter("@PIN_XML_COMPETENCIAS", SqlDbType.Xml) { Value = new SqlXml(pCompetencias.CreateReader()) } , new SqlParameter("@PIN_XML_CURSOS", SqlDbType.Xml) { Value = new SqlXml(pCursos.CreateReader()) } , new SqlParameter("@PIN_XML_DOCUMENTOS", SqlDbType.Xml) { Value = new SqlXml(vXmlDocumentos.CreateReader()) } , new SqlParameter("@PIN_XML_CAMPOS_ADICIONALES", SqlDbType.Xml) { Value = new SqlXml(pCamposAdicionales.CreateReader()) } , pArchivos , new SqlParameter("@PIN_CL_USUARIO_APP", pClUsuario) , new SqlParameter("@PIN_NB_PROGRAMA", pNbPrograma) , new SqlParameter("@PIN_TIPO_TRANSACCION", pTipoTransaccion) ); return(XElement.Parse(pXmlResultado.Value.ToString())); } }
public E_RESULTADO InsertaActualizaInstructor(string pTipoTransaccion, E_INSTRUCTOR pInstructor, XElement pCompetencias, XElement pCursos, List <UDTT_ARCHIVO> pLstArchivosTemporales, List <E_DOCUMENTO> pLstDocumentos, XElement pCamposAdicionales, string pClUsuario, string pNbPrograma) { InstructorOperaciones oInstructor = new InstructorOperaciones(); return(UtilRespuesta.EnvioRespuesta(oInstructor.InsertarActualizarInstructor(pTipoTransaccion, pInstructor, pCompetencias, pCursos, pLstArchivosTemporales, pLstDocumentos, pCamposAdicionales, pClUsuario, pNbPrograma))); }
protected void radBtnGuardar_Click(object sender, EventArgs e) { XElement vXmlCA = GeneralXmlAdicionales(); E_INSTRUCTOR VInstructorAgregar = new E_INSTRUCTOR(); InstructorNegocio nInstructor = new InstructorNegocio(); var ptipo = vClOperacion.ToString(); if (rbInstInterno.Checked) { VInstructorAgregar.CL_TIPO_INSTRUCTOR = "INTERNO"; } else { VInstructorAgregar.CL_TIPO_INSTRUCTOR = "EXTERNO"; } VInstructorAgregar.CL_INTRUCTOR = txtClave.Text; VInstructorAgregar.NB_INSTRUCTOR = txtNombre.Text; VInstructorAgregar.NB_APELLIDO_PATERNO = txtApellidoPaterno.Text; VInstructorAgregar.NB_APELLIDO_MATERNO = txtApellidoMaterno.Text; VInstructorAgregar.NB_VALIDADOR = txtNombreValIns.Text; VInstructorAgregar.CL_RFC = txtRFC.Text; VInstructorAgregar.CL_CURP = txtCURP.Text; VInstructorAgregar.CL_STPS = txtRegistro.Text; VInstructorAgregar.CL_PAIS = null; VInstructorAgregar.NB_PAIS = null; foreach (RadListBoxItem item in rlbEstado.Items) { VInstructorAgregar.CL_ESTADO = item.Value; VInstructorAgregar.NB_ESTADO = item.Text; } foreach (RadListBoxItem item in rlbMunicipio.Items) { VInstructorAgregar.CL_MUNICIPIO = item.Value; VInstructorAgregar.NB_MUNICIPIO = item.Text; } foreach (RadListBoxItem item in rlbcolonia.Items) { VInstructorAgregar.CL_COLONIA = item.Value; VInstructorAgregar.NB_COLONIA = item.Text; } VInstructorAgregar.NB_CALLE = txtCalle.Text; VInstructorAgregar.NO_INTERIOR = txtNointerior.Text; VInstructorAgregar.NO_EXTERIOR = txtNoexterior.Text; VInstructorAgregar.CL_CODIGO_POSTAL = txtCP.Text; VInstructorAgregar.DS_ESCOLARIDAD = txtEscolaridad.Text; VInstructorAgregar.FE_NACIMIENTO = txtFeNacimiento.SelectedDate; VInstructorAgregar.CL_CORREO_ELECTRONICO = txtEmail.Text; VInstructorAgregar.MN_COSTO_HORA = (decimal?)(txtCostoHora.Value); VInstructorAgregar.MN_COSTO_PARTICIPANTE = (decimal?)txtCostoPart.Value; VInstructorAgregar.DS_EVIDENCIA_COMPETENCIA = txtEvidencia.Text; XElement vTelefonos = new XElement("TELEFONOS"); if (vLstTelefono.Count > 0) { vTelefonos.Add(vLstTelefono.Select(i => new XElement("TELEFONO", new XAttribute("NO_TELEFONO", i.NB_TELEFONO), new XAttribute("CL_TIPO", (i.CL_TIPO == null?string.Empty:i.CL_TIPO))))); } XElement vCompetencias = new XElement("COMPETENCIAS"); vCompetencias.Add(vInstructor.LstCompetencias.Select(i => new XElement("COMPETENCIA", new XAttribute("ID_COMPETENCIA", i.ID_COMPETENCIA)))); XElement vCursos = new XElement("CURSOS"); vCursos.Add(vLstCurso.Select(i => new XElement("CURSO", new XAttribute("ID_CURSO", i.ID_CURSO)))); VInstructorAgregar.XML_TELEFONOS = vTelefonos.ToString(); //VInstructorAgregar.XML_CURSOS = null; vLstCursos //VInstructorAgregar.XML_COMPETENCIAS = null; vLstCompetencia List <UDTT_ARCHIVO> vLstArchivos = new List <UDTT_ARCHIVO>(); foreach (E_DOCUMENTO d in vLstDocumentos) { string vFilePath = Server.MapPath(Path.Combine(ContextoApp.ClRutaArchivosTemporales, d.GetDocumentFileName())); if (File.Exists(vFilePath)) { vLstArchivos.Add(new UDTT_ARCHIVO() { ID_ITEM = d.ID_ITEM, ID_ARCHIVO = d.ID_ARCHIVO, NB_ARCHIVO = d.NB_DOCUMENTO, FI_ARCHIVO = File.ReadAllBytes(vFilePath) }); } } if (!ptipo.Equals("I")) { VInstructorAgregar.ID_INSTRUCTOR = vInstructorId; } //Guarda instructor E_RESULTADO vResultado = nInstructor.InsertaActualizaInstructor(ptipo, VInstructorAgregar, vCompetencias, vCursos, vLstArchivos, vLstDocumentos, vXmlCA, vClUsuario, vNbPrograma); // usuario: vClUsuario, programa: vNbPrograma, V_C_INSTRUCTOR: VInstructorAgregar, competencias: vCompetencias, cursos: vCursos); string vMensaje = vResultado.MENSAJE.Where(w => w.CL_IDIOMA.Equals(vClIdioma.ToString())).FirstOrDefault().DS_MENSAJE; UtilMensajes.MensajeResultadoDB(rnMensaje, vMensaje, vResultado.CL_TIPO_ERROR); }