protected void CargarDatos() { CursoNegocio nCurso = new CursoNegocio(); E_CURSO oCurso = nCurso.ObtieneCurso(vCursoId); ContextoCurso.oCursos.Add(oCurso); vIdListaCurso = oCurso.ID_ITEM; txtClave.Text = vCurso.CL_CURSO; txtNombre.Text = vCurso.NB_CURSO; //txtDsNotas.Content = vCurso.DS_NOTAS; if (!String.IsNullOrEmpty(vCurso.DS_NOTAS)) { if (vCurso.DS_NOTAS.Contains("DS_NOTA")) { txtDsNotas.Content = Utileria.MostrarNotas(vCurso.DS_NOTAS); } else { XElement vRequerimientos = XElement.Parse(vCurso.DS_NOTAS); if (vRequerimientos != null) { vRequerimientos.Name = vNbFirstRadEditorTagName; txtDsNotas.Content = vRequerimientos.ToString(); } } } txtDuracion.Text = vCurso.NO_DURACION_CURSO.ToString(); if (vCurso.LS_AREAS_TEMATICAS.CL_AREA_TEMATICA != null) { btnEliminarAreaTCurso.Visible = true; cmbAreaT.SelectedValue = vCurso.LS_AREAS_TEMATICAS.CL_AREA_TEMATICA.ToString(); lblClAreaT.Text = vCurso.LS_AREAS_TEMATICAS.CL_AREA_TEMATICA; lblAreaT.Text = vCurso.LS_AREAS_TEMATICAS.NB_AREA_TEMATICA; } else { btnEliminarAreaTCurso.Visible = false; } SPE_OBTIENE_M_PUESTO_Result puesto = new SPE_OBTIENE_M_PUESTO_Result(); PuestoNegocio neg = new PuestoNegocio(); if (vCurso.ID_PUESTO_OBJETIVO != null) { puesto = neg.ObtienePuestos(vCurso.ID_PUESTO_OBJETIVO).FirstOrDefault(); Telerik.Web.UI.RadListBoxItem vItmPuestoObjetivo = new RadListBoxItem(puesto.NB_PUESTO, puesto.ID_PUESTO.ToString()); rlbPuesto.Items.Clear(); rlbPuesto.Items.Add(vItmPuestoObjetivo); } vXmlDocumentos = vCurso.XML_DOCUMENTOS; AsignarValoresAdicionales(vCurso.XML_CAMPOS_ADICIONALES); ContextoCurso.oCursos.Add(vCurso); }
public E_RESULTADO InsertaActualizaCurso(string pTipoTransaccion, string pClUsuario, string pNbPrograma, E_CURSO pCurso, List <UDTT_ARCHIVO> pLstArchivosTemporales, List <E_DOCUMENTO> pLstDocumentos, XElement pXmlCursoInstructores, XElement pXmlCursoCompetencias, XElement pXmlTemas, XElement pXmlTemaMateriales, XElement pXmlTemaCompetencias, XElement pXmlCamposAdicionales, XElement pXmlAreasTematicas) { CursoOperaciones oCurso = new CursoOperaciones(); return(UtilRespuesta.EnvioRespuesta(oCurso.InsertarActualizarCurso(pTipoTransaccion, pClUsuario, pNbPrograma, pCurso, pLstArchivosTemporales, pLstDocumentos, pXmlCursoInstructores, pXmlCursoCompetencias, pXmlTemas, pXmlTemaMateriales, pXmlTemaCompetencias, pXmlCamposAdicionales, pXmlAreasTematicas))); }
public E_CURSO ObtieneCurso(int pIdCurso) { CursoOperaciones oCurso = new CursoOperaciones(); SPE_OBTIENE_C_CURSO_Result vCurso = oCurso.ObtenerCursos(pIdCurso).FirstOrDefault(); E_CURSO eCurso = new E_CURSO { CL_CURSO = vCurso.CL_CURSO, CL_TIPO_CURSO = vCurso.CL_TIPO_CURSO, DS_NOTAS = vCurso.DS_NOTAS, ID_CURSO = vCurso.ID_CURSO, ID_PUESTO_OBJETIVO = vCurso.ID_PUESTO_OBJETIVO, NB_CURSO = vCurso.NB_CURSO, NO_DURACION_CURSO = vCurso.NO_DURACION, XML_DOCUMENTOS = vCurso.XML_DOCUMENTOS, XML_CAMPOS_ADICIONALES = vCurso.XML_CAMPOS_ADICIONALES }; if (vCurso.XML_INSTRUCTOR != null) { eCurso.LS_INSTRUCTORES = XElement.Parse(vCurso.XML_INSTRUCTOR).Elements("INSTRUCTOR").Select(el => new E_CURSO_INSTRUCTOR { ID_INSTRUCTOR_CURSO = UtilXML.ValorAtributo <int>(el.Attribute("ID_INSTRUCTOR_CURSO")), ID_INSTRUCTOR = UtilXML.ValorAtributo <int>(el.Attribute("ID_CURSO")), CL_INSTRUCTOR = UtilXML.ValorAtributo <string>(el.Attribute("CL_INSTRUCTOR")), NB_INSTRUCTOR = UtilXML.ValorAtributo <string>(el.Attribute("NB_INSTRUCTOR")), }).ToList(); } if (vCurso.XML_COMPETENCIAS != null) { eCurso.LS_COMPETENCIAS = XElement.Parse(vCurso.XML_COMPETENCIAS).Elements("COMPETENCIA").Select(el => new E_CURSO_COMPETENCIA { ID_CURSO_COMPETENCIA = UtilXML.ValorAtributo <int>(el.Attribute("ID_CURSO_COMPETENCIA")), ID_COMPETENCIA = UtilXML.ValorAtributo <int>(el.Attribute("ID_COMPETENCIA")), NB_COMPETENCIA = UtilXML.ValorAtributo <string>(el.Attribute("NB_COMPETENCIA")), CL_TIPO_COMPETENCIA = UtilXML.ValorAtributo <string>(el.Attribute("CL_TIPO_COMPETENCIA")), }).ToList(); } if (vCurso.XML_AREA_TEMATICA != null) { eCurso.LS_AREAS_TEMATICAS = XElement.Parse(vCurso.XML_AREA_TEMATICA).Elements("AREATEMATICA").Select(el => new E_CURSO_AREA_TEMATICA { ID_AREA_TEMATICA_CURSO = UtilXML.ValorAtributo <int>(el.Attribute("ID_CURSO_AREA_TEMATICA")), ID_AREA_TEMATICA = UtilXML.ValorAtributo <int>(el.Attribute("ID_AREA_TEMATICA")), NB_AREA_TEMATICA = UtilXML.ValorAtributo <string>(el.Attribute("NB_AREA_TEMATICA")), CL_AREA_TEMATICA = UtilXML.ValorAtributo <string>(el.Attribute("CL_AREA_TEMATICA")), }).FirstOrDefault(); } if (vCurso.XML_TEMAS != null) { foreach (XElement item in XElement.Parse(vCurso.XML_TEMAS).Elements("TEMA")) { E_TEMA oTema = new E_TEMA(); oTema.ID_TEMA = UtilXML.ValorAtributo <int>(item.Attribute("ID_TEMA")); oTema.CL_TEMA = UtilXML.ValorAtributo <string>(item.Attribute("CL_TEMA")); oTema.NB_TEMA = UtilXML.ValorAtributo <string>(item.Attribute("NB_TEMA")); oTema.NO_DURACION = UtilXML.ValorAtributo <string>(item.Attribute("NO_DURACION")); oTema.DS_DESCRIPCION = UtilXML.ValorAtributo <string>(item.Attribute("DS_DESCRIPCION")); if (item.Elements("COMPETENCIATEMA").Count() > 0) { oTema.LS_COMPETENCIAS = item.Elements("COMPETENCIATEMA").Select(ct => new E_TEMA_COMPETENCIA { ID_TEMA = UtilXML.ValorAtributo <int>(ct.Attribute("ID_TEMA")), ID_COMPETENCIA = UtilXML.ValorAtributo <int>(ct.Attribute("ID_COMPETENCIA")), NB_COMPETENCIA = UtilXML.ValorAtributo <string>(ct.Attribute("NB_COMPETENCIA")), CL_TIPO_COMPETENCIA = UtilXML.ValorAtributo <string>(ct.Attribute("CL_TIPO_COMPETENCIA")) }).ToList(); } if (item.Element("XML_MATERIALES") != null) { oTema.LS_MATERIALES = item.Element("XML_MATERIALES").Element("MATERIALES").Elements("MATERIAL").Select(m => new E_MATERIAL { ID_ITEM = Guid.Parse(UtilXML.ValorAtributo <String>(m.Attribute("ID_MATERIAL_ITEM"))), CL_MATERIAL = UtilXML.ValorAtributo <int>(m.Attribute("CL_MATERIAL")), NB_MATERIAL = UtilXML.ValorAtributo <string>(m.Attribute("NB_MATERIAL")), MN_MATERIAL = UtilXML.ValorAtributo <string>(m.Attribute("MN_MATERIAL")), }).ToList(); } eCurso.LS_TEMAS.Add(oTema); } } return(eCurso); }
public XElement InsertarActualizarCurso(string pTipoTransaccion, string pClUsuario, string pNbPrograma, E_CURSO pCurso, List <UDTT_ARCHIVO> pLstArchivosTemporales, List <E_DOCUMENTO> pLstDocumentos, XElement pXmlCursoInstructores, XElement pXmlCursoCompetencias, XElement pXmlTemas, XElement pXmlTemaMateriales, XElement pXmlTemaCompetencias, XElement pXmlCamposAdicionales, XElement pXmlAreasTematicas) { 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_CURSO] " + "@XML_RESULTADO OUTPUT " + ",@PIN_ID_CURSO " + ",@PIN_CL_CURSO " + ",@PIN_NB_CURSO " + ",@PIN_CL_TIPO_CURSO " + ",@PIN_ID_PUESTO_OBJETIVO " + ",@PIN_NO_DURACION " + ",@PIN_DS_NOTAS " + ",@PIN_XML_CURSO_INSTRUCTORES " + ",@PIN_XML_CURSO_COMPETENCIA " + ",@PIN_XML_TEMAS " + ",@PIN_XML_TEMAS_MATERIALES " + ",@PIN_XML_TEMAS_COMPETENCIAS " + ",@PIN_XML_CAMPOS_ADICIONALES " + ",@PIN_XML_CURSO_AREAS_TEMATICAS" + ",@PIN_XML_DOCUMENTOS " + ",@PIN_ARCHIVOS " + ",@PIN_CL_USUARIO_APP " + ",@PIN_NB_PROGRAMA " + ",@PIN_TIPO_TRANSACCION " , pXmlResultado , new SqlParameter("@PIN_ID_CURSO", (object)pCurso.ID_CURSO ?? DBNull.Value) , new SqlParameter("@PIN_CL_CURSO", (object)pCurso.CL_CURSO ?? DBNull.Value) , new SqlParameter("@PIN_NB_CURSO", (object)pCurso.NB_CURSO ?? DBNull.Value) , new SqlParameter("@PIN_CL_TIPO_CURSO", (object)pCurso.CL_TIPO_CURSO ?? DBNull.Value) , new SqlParameter("@PIN_ID_PUESTO_OBJETIVO", (object)pCurso.ID_PUESTO_OBJETIVO ?? DBNull.Value) , new SqlParameter("@PIN_NO_DURACION", (object)pCurso.NO_DURACION_CURSO ?? DBNull.Value) , new SqlParameter("@PIN_DS_NOTAS", (object)pCurso.DS_NOTAS ?? DBNull.Value) , new SqlParameter("@PIN_XML_CURSO_INSTRUCTORES", SqlDbType.Xml) { Value = new SqlXml(pXmlCursoInstructores.CreateReader()) } , new SqlParameter("@PIN_XML_CURSO_COMPETENCIA", SqlDbType.Xml) { Value = new SqlXml(pXmlCursoCompetencias.CreateReader()) } , new SqlParameter("@PIN_XML_TEMAS", SqlDbType.Xml) { Value = new SqlXml(pXmlTemas.CreateReader()) } , new SqlParameter("@PIN_XML_TEMAS_MATERIALES", SqlDbType.Xml) { Value = new SqlXml(pXmlTemaMateriales.CreateReader()) } , new SqlParameter("@PIN_XML_TEMAS_COMPETENCIAS", SqlDbType.Xml) { Value = new SqlXml(pXmlTemaCompetencias.CreateReader()) } , new SqlParameter("@PIN_XML_CAMPOS_ADICIONALES", SqlDbType.Xml) { Value = new SqlXml(pXmlCamposAdicionales.CreateReader()) } , new SqlParameter("@PIN_XML_CURSO_AREAS_TEMATICAS", SqlDbType.Xml) { Value = new SqlXml(pXmlAreasTematicas.CreateReader()) } , new SqlParameter("@PIN_XML_DOCUMENTOS", SqlDbType.Xml) { Value = new SqlXml(vXmlDocumentos.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())); } }