//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");
            }
        }
Example #2
0
        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);
            }
        }
Example #5
0
        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();
            }
        }