//protected void CargarDatosEmpresas() //{ // EmpresaNegocio nEmpresa = new EmpresaNegocio(); // List<SPE_OBTIENE_C_EMPRESA_Result> vLstEmpresas = new List<SPE_OBTIENE_C_EMPRESA_Result>(); // vLstEmpresas.Add(new SPE_OBTIENE_C_EMPRESA_Result() // { // ID_EMPRESA = 0, // NB_EMPRESA = "Todas" // }); // vLstEmpresas.AddRange(nEmpresa.Obtener_C_EMPRESA()); // if (vLstEmpresas.Count == 2) // vLstEmpresas.RemoveAt(0); // cmbEmpresas.DataTextField = "NB_EMPRESA"; // cmbEmpresas.DataValueField = "ID_EMPRESA"; // cmbEmpresas.DataSource = vLstEmpresas; // cmbEmpresas.DataBind(); // cmbEmpresas.SelectedIndex = 0; fffffffffffff //} protected void CargarDatosOrganigrama(int?pIdEmpresa = null, bool?pFgMostrarEmpleados = false, int?pIdPlaza = null, int?pIdDepartamento = null, string pClCampo = null, int?pNoNiveles = null) { OrganigramaNegocio nOrganigrama = new OrganigramaNegocio(); E_ORGANIGRAMA vOrganigrama = nOrganigrama.ObtieneOrganigramaPlazas(pIdPlaza, pIdEmpresa, (bool)pFgMostrarEmpleados, pIdDepartamento, pClCampo, pNoNiveles); lstAscendencia.DataTextField = "nbNodo"; lstAscendencia.DataValueField = "idNodo"; lstAscendencia.DataSource = vOrganigrama.lstNodoAscendencia.OrderByDescending(o => o.noNivel);//aqui modifique lstAscendencia.DataBind(); if (vOrganigrama.lstNodoDescendencia.Count == 0) { vOrganigrama.lstNodoDescendencia.Add(new E_ORGANIGRAMA_NODO() { nbNodo = "No hay datos" }); } if (vOrganigrama.lstNodoDescendencia.Where(w => w.idNodoSuperior == null).Count() > 1) { //UtilMensajes.MensajeResultadoDB(rnMensaje, "Por favor selecciona un nodo raíz del selector de plazas.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: null); //lblMensaje.Style.Add("display", "block"); UtilMensajes.MensajeResultadoDB(rnMensaje, "Error en selección de plaza.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: null); lblMensaje.Style.Add("display", "block"); } else { int vDiferenciaNievels = vOrganigrama.lstNodoDescendencia.Where(w => w.idNodoSuperior == null).FirstOrDefault().noNivelPuesto - vOrganigrama.lstNodoDescendencia.Where(w => w.idNodoSuperior == null).FirstOrDefault().noNivel; if (vDiferenciaNievels > 0) { foreach (var item in vOrganigrama.lstNodoDescendencia) { item.noNivelPuesto = item.noNivelPuesto - vDiferenciaNievels; } } rocPlazas.GroupEnabledBinding.NodeBindingSettings.DataFieldID = "idNodo"; rocPlazas.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID = "idNodoSuperior"; rocPlazas.RenderedFields.NodeFields.Add(new OrgChartRenderedField() { DataField = "nbNodo" }); rocPlazas.GroupEnabledBinding.NodeBindingSettings.DataSource = vOrganigrama.lstNodoDescendencia; if ((bool)pFgMostrarEmpleados) { rocPlazas.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID = "idItem"; rocPlazas.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID = "idNodo"; rocPlazas.GroupEnabledBinding.GroupItemBindingSettings.DataSource = vOrganigrama.lstGrupo; } rocPlazas.DataBind(); lblMensaje.Style.Add("display", "none"); } }
protected void CargarDatosOrganigrama(bool?pFgMostrarEmpleados = false, int?pIdPlaza = null) { OrganigramaNegocio nOrganigrama = new OrganigramaNegocio(); E_ORGANIGRAMA vOrganigrama = nOrganigrama.ObtieneOrganigramaAreas(pIdPlaza, (bool)pFgMostrarEmpleados); lstAscendencia.DataTextField = "nbNodo"; lstAscendencia.DataValueField = "idNodo"; lstAscendencia.DataSource = vOrganigrama.lstNodoAscendencia.OrderByDescending(o => o.noNivel); lstAscendencia.DataBind(); if (vOrganigrama.lstNodoDescendencia.Count == 0) { vOrganigrama.lstNodoDescendencia.Add(new E_ORGANIGRAMA_NODO() { nbNodo = "No hay datos" }); } if (vOrganigrama.lstNodoDescendencia.Where(w => w.idNodoSuperior == null).Count() > 1) { lblMensaje.Style.Add("display", "block"); //UtilMensajes.MensajeResultadoDB(rnMensaje, "Por favor selecciona un nodo raíz de la lista de ascendencia.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: null); } else { rocAreas.GroupEnabledBinding.NodeBindingSettings.DataFieldID = "idNodo"; rocAreas.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID = "idNodoSuperior"; rocAreas.RenderedFields.NodeFields.Add(new OrgChartRenderedField() { DataField = "nbNodo" }); rocAreas.GroupEnabledBinding.NodeBindingSettings.DataSource = vOrganigrama.lstNodoDescendencia; if ((bool)pFgMostrarEmpleados) { rocAreas.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID = "idItem"; rocAreas.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID = "idNodo"; rocAreas.GroupEnabledBinding.GroupItemBindingSettings.DataSource = vOrganigrama.lstGrupo; } rocAreas.DataBind(); //lblMensaje.Visible = false; lblMensaje.Style.Add("display", "none"); } }
public E_ORGANIGRAMA ObtenerOrganigramaPlazas(int?pIdPlazaOrigen, int?pIdEmpresa, bool pFgMostrarEmpleados, int?pIdDepartamento, string pClCampoAdicional, int?pNuNivel) { using (context = new SistemaSigeinEntities()) { E_ORGANIGRAMA vOrganigrama = new E_ORGANIGRAMA(); List <E_ORGANIGRAMA_NODO> lstNodos = context.SPE_OBTIENE_ORGANIGRAMA_PLAZA(pIdPlazaOrigen, pIdEmpresa, pIdDepartamento, pClCampoAdicional, pNuNivel).Select(s => new E_ORGANIGRAMA_NODO() { idNodo = s.ID_PLAZA, idNodoSuperior = s.ID_PLAZA_SUPERIOR, clNodo = s.CL_PUESTO, nbNodo = String.Format("{0} <br>({1})", s.NB_PUESTO, s.CL_PLAZA), clTipoNodo = s.CL_POSICION_ORGANIGRAMA, clTipoGenealogia = s.CL_TIPO_GENEALOGIA, noNivel = s.NO_NIVEL ?? 0, noNivelPuesto = s.NO_NIVEL_ORGANIGRAMA ?? 0 }).ToList(); vOrganigrama.lstNodoDescendencia = lstNodos.Where(w => w.clTipoGenealogia.Equals("DESCENDENCIA")).ToList(); vOrganigrama.lstNodoAscendencia = lstNodos.Where(w => w.clTipoGenealogia.Equals("ASCENDENCIA")).ToList(); if (pFgMostrarEmpleados) { XElement vPlazas = new XElement("PLAZAS"); vOrganigrama.lstNodoDescendencia.ForEach(f => vPlazas.Add(new XElement("PLAZA", new XAttribute("ID_PLAZA", f.idNodo)))); vOrganigrama.lstGrupo = context.SPE_OBTIENE_ORGANIGRAMA_PLAZAS_EMPLEADOS(vPlazas.ToString(), pIdEmpresa).Select(s => new E_ORGANIGRAMA_GRUPO() { idNodo = s.ID_PLAZA, idItem = s.ID_EMPLEADO, clItem = s.CL_EMPLEADO, nbItem = String.Format("{0} <br> ({1})", s.NB_EMPLEADO, s.CL_EMPLEADO), cssItem = (bool)s.FG_VACANTE ? "cssVacante" : String.Empty }).ToList(); } else { vOrganigrama.lstGrupo = new List <E_ORGANIGRAMA_GRUPO>(); } return(vOrganigrama); } }
public E_ORGANIGRAMA ObtenerOrganigramaAreas(int?pIdDepartamentoOrigen, bool pFgMostrarPuestos) { using (context = new SistemaSigeinEntities()) { E_ORGANIGRAMA vOrganigrama = new E_ORGANIGRAMA(); List <E_ORGANIGRAMA_NODO> lstNodos = context.SPE_OBTIENE_ORGANIGRAMA_DEPARTAMENTO(pIdDepartamentoOrigen).Select(s => new E_ORGANIGRAMA_NODO() { idNodo = s.ID_DEPARTAMENTO, idNodoSuperior = s.ID_DEPARTAMENTO_PADRE, clNodo = s.CL_DEPARTAMENTO, nbNodo = s.NB_DEPARTAMENTO, clTipoGenealogia = s.CL_TIPO_GENEALOGIA, noNivel = s.NO_NIVEL ?? 0 }).ToList(); vOrganigrama.lstNodoDescendencia = lstNodos.Where(w => w.clTipoGenealogia.Equals("DESCENDENCIA")).ToList(); vOrganigrama.lstNodoAscendencia = lstNodos.Where(w => w.clTipoGenealogia.Equals("ASCENDENCIA")).ToList(); if (pFgMostrarPuestos) { XElement vAreas = new XElement("DEPARTAMENTOS"); vOrganigrama.lstNodoDescendencia.ForEach(f => vAreas.Add(new XElement("DEPARTAMENTO", new XAttribute("ID_DEPARTAMENTO", f.idNodo)))); vOrganigrama.lstGrupo = context.SPE_OBTIENE_ORGANIGRAMA_DEPARTAMENTOS_PUESTOS(vAreas.ToString()).Select(s => new E_ORGANIGRAMA_GRUPO() { idNodo = s.ID_DEPARTAMENTO, idItem = s.ID_PUESTO, clItem = s.CL_PUESTO, nbItem = String.Format("{0} ({1})", s.NB_PUESTO, s.CL_PUESTO), cssItem = s.CL_POSICION_ORGANIGRAMA == "STAFF" ? "cssStaff" : String.Empty }).ToList(); } else { vOrganigrama.lstGrupo = new List <E_ORGANIGRAMA_GRUPO>(); } return(vOrganigrama); } }
protected void CargarDatosOrganigrama(int?pIdEmpresa = null, bool?pFgMostrarEmpleados = false, int?pIdPuesto = null) { OrganigramaNegocio nOrganigrama = new OrganigramaNegocio(); E_ORGANIGRAMA vOrganigrama = nOrganigrama.ObtieneOrganigramaPuestos(pIdPuesto, pIdEmpresa, (bool)pFgMostrarEmpleados); if (vOrganigrama.lstNodoDescendencia.Count == 0) { vOrganigrama.lstNodoDescendencia.Add(new E_ORGANIGRAMA_NODO() { nbNodo = "No hay datos" }); } if (vOrganigrama.lstNodoDescendencia.Where(w => w.idNodoSuperior == null).Count() > 1) { UtilMensajes.MensajeResultadoDB(rwMensaje, "Por favor selecciona un nodo raíz de la lista de ascendencia.", E_TIPO_RESPUESTA_DB.WARNING, pCallBackFunction: null); } else { rocPuestos.GroupEnabledBinding.NodeBindingSettings.DataFieldID = "idNodo"; rocPuestos.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID = "idNodoSuperior"; rocPuestos.RenderedFields.NodeFields.Add(new OrgChartRenderedField() { DataField = "nbNodo" }); rocPuestos.GroupEnabledBinding.NodeBindingSettings.DataSource = vOrganigrama.lstNodoDescendencia; if ((bool)pFgMostrarEmpleados) { rocPuestos.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID = "idItem"; rocPuestos.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID = "idNodo"; rocPuestos.GroupEnabledBinding.GroupItemBindingSettings.DataSource = vOrganigrama.lstGrupo; } rocPuestos.DataBind(); } }