/* [descripcion de clase]
         * modulo de manejo de grupos
         *
         * modulo para modificar horarios del grupo, asi como a sus integrantes
         *
         * en este modulo se debe notificar cuando ocurran empalmes y cuando se quiera cambiar el estatus del participante ya sea a cancelado o suspendido
         * aqui se modifica tanto grupos de modelo y complementarios
         *
         * cuidar el estatus del grupo y de los participantes
         *
         *
         */

        ///TODO: Revisar los querys, falta poner el centro del usuario y departamento

        /// <summary>
        /// metodo que carga al entrar al modulo
        /// </summary>
        /// <param name="obj">usercontrol del modulo</param>
        private void ManejoGruposLoad(ManejoGruposView obj)
        {
            try
            {
                #region Departamentos por usuario
                departamentosUsuarios = new List <int>();
                var roles = new cUsuarioRol().ObtenerTodos(GlobalVar.gUsr);
                if (roles != null)
                {
                    foreach (var r in roles)
                    {
                        if (r.SISTEMA_ROL.DEPARTAMENTO != null)
                        {
                            foreach (var d in r.SISTEMA_ROL.DEPARTAMENTO)
                            {
                                departamentosUsuarios.Add(d.ID_DEPARTAMENTO);
                            }
                        }
                    }
                }
                #endregion

                VerGrupos = true;
                //con esto abre la ventana de edicion de fecha
                BindCmdDayClick = "CmdAbrirAgenda";
                Calendario      = obj.Calendario;
                DatagridHorario = PopUpsViewModels.MainWindow.EditarFechaView.DG_HorarioDia;
                ConfiguraPermisos();
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar manejo de grupos", ex);
            }
        }
示例#2
0
        /// <summary>
        /// metodo que se carga cuando se selecciona el modulo
        /// </summary>
        /// <param name="obj"></param>
        private async void ControlCalificacionesLoad(ControlCalificacionesView obj)
        {
            try
            {
                ConfiguraPermisos();
                if (StaticSourcesViewModel.SourceChanged)
                {
                    if (await(new Dialogos()).ConfirmarEliminar("Advertencia", "Hay cambios sin guardar, ¿Seguro que desea continuar sin guardar?") != 0)
                    {
                        StaticSourcesViewModel.SourceChanged = false;
                    }
                    else
                    {
                        return;
                    }
                }

                #region Departamentos por usuario
                departamentosUsuarios = new List <int>();
                var roles = new cUsuarioRol().ObtenerTodos(GlobalVar.gUsr);
                if (roles != null)
                {
                    foreach (var r in roles)
                    {
                        if (r.SISTEMA_ROL.DEPARTAMENTO != null)
                        {
                            foreach (var d in r.SISTEMA_ROL.DEPARTAMENTO)
                            {
                                departamentosUsuarios.Add(d.ID_DEPARTAMENTO);
                            }
                        }
                    }
                }
                #endregion
                //carga lista de ejes
                var index = 0;
                ListEjes = await StaticSourcesViewModel.CargarDatosAsync <ObservableCollection <EJE> >(() => new ObservableCollection <EJE>(new cGrupoParticipante().GetData().Where(w => w.ESTATUS == 1 && !w.NOTA_TECNICA.Any()).Select(s => s.EJE1).Distinct().OrderBy(o => o.ORDEN)));

                if (ListEjes.Count > 0)
                {
                    //ejes tipo modelo
                    ListEjes.Insert(0, new EJE()
                    {
                        COMPLEMENTARIO = "MODELO"
                    });
                    index = ListEjes.IndexOf(ListEjes.Where(w => w.COMPLEMENTARIO != "MODELO").OrderBy(o => o.COMPLEMENTARIO == "S").ThenBy(t => t.ORDEN).Where(w => w.COMPLEMENTARIO == "S").FirstOrDefault());
                    //ejes tipo complementario
                    if (index > 0)
                    {
                        ListEjes.Insert(index, new EJE()
                        {
                            COMPLEMENTARIO = "COMPLEMENTARIO"
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar modulo de creacion de programas", ex);
            }
        }