Exemplo n.º 1
0
 public void CargaGrupoAccesoDefault()
 {
     try
     {
         List <HelperAsignacionRol> lstFinal = GruposSeleccionados;
         Rol rolAcceso           = _serviciosRoles.ObtenerRoles(IdTipoUsuario, false).Single(s => s.Id == (int)BusinessVariables.EnumRoles.AccesoCentroSoporte);
         HelperAsignacionRol rol = lstFinal.SingleOrDefault(s => s.IdRol == rolAcceso.Id) ?? new HelperAsignacionRol
         {
             IdRol          = rolAcceso.Id,
             DescripcionRol = rolAcceso.Descripcion,
             Grupos         = new List <HelperAsignacionGrupoUsuarios>()
         };
         foreach (GrupoUsuario grupo in _servicioGrupoUsuario.ObtenerGruposUsuarioByIdRolTipoUsuario((int)BusinessVariables.EnumRoles.AccesoCentroSoporte, IdTipoUsuario, false).Where(w => w.Sistema))
         {
             HelperAsignacionGrupoUsuarios grupos = new HelperAsignacionGrupoUsuarios
             {
                 IdGrupo          = grupo.Id,
                 IdTipoGrupo      = grupo.IdTipoGrupo,
                 DescripcionGrupo = grupo.Descripcion,
             };
             rol.Grupos.Add(grupos);
         }
         if (rol.Grupos.Any())
         {
             lstFinal.Add(rol);
         }
         GruposSeleccionados = lstFinal;
         if (OnTerminarModal != null)
         {
             OnTerminarModal();
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
Exemplo n.º 2
0
        protected void btnTerminar_OnClick(object sender, EventArgs e)
        {
            try
            {
                List <HelperAsignacionRol> lstFinal = GruposSeleccionados;
                List <HelperAsignacionRol> tmplst   = new List <HelperAsignacionRol>();
                HelperAsignacionRol        rol      = tmplst.SingleOrDefault(s => s.IdRol == int.Parse(ddlRol.SelectedValue)) ?? new HelperAsignacionRol
                {
                    IdRol          = int.Parse(ddlRol.SelectedValue),
                    DescripcionRol = ddlRol.SelectedItem.Text,
                    Grupos         = new List <HelperAsignacionGrupoUsuarios>()
                };
                foreach (RepeaterItem item in rptGruposSub.Items)
                {
                    CheckBox chkGrupo = (CheckBox)item.FindControl("chkGrupo");
                    if (!chkGrupo.Checked)
                    {
                        continue;
                    }
                    Label lblIdGrupo   = (Label)item.FindControl("lblIdGrupo");
                    Label lblTipoGrupo = (Label)item.FindControl("lblTipoGrupo");

                    if (rol.Grupos != null && rol.Grupos.Any(a => a.IdGrupo == int.Parse(lblIdGrupo.Text)))
                    {
                        rol.Grupos.Remove(rol.Grupos.Single(s => s.IdGrupo == int.Parse(lblIdGrupo.Text)));
                    }
                    HelperAsignacionGrupoUsuarios grupo = new HelperAsignacionGrupoUsuarios
                    {
                        IdGrupo          = int.Parse(lblIdGrupo.Text),
                        IdTipoGrupo      = int.Parse(lblTipoGrupo.Text),
                        DescripcionGrupo = chkGrupo.Text,
                    };
                    if (item.FindControl("divSubGrupos").Visible)
                    {
                        grupo.SubGrupos = new List <HelperSubGurpoUsuario>();
                        Repeater rpt = (Repeater)item.FindControl("rptSubGrupos");
                        foreach (RepeaterItem repeaterItem in rpt.Items)
                        {
                            CheckBox chkSubGrupo = (CheckBox)repeaterItem.FindControl("chkSubGrupo");
                            if (chkSubGrupo.Checked)
                            {
                                Label lblIdSubGrupo = (Label)repeaterItem.FindControl("lblIdSubGpo");
                                grupo.SubGrupos.Add(new HelperSubGurpoUsuario {
                                    Id = int.Parse(lblIdSubGrupo.Text), Descripcion = chkSubGrupo.Text
                                });
                            }
                        }
                        if (!grupo.SubGrupos.Any())
                        {
                            throw new Exception("Seleccione un subGrupo");
                        }
                    }
                    if (rol.Grupos != null)
                    {
                        rol.Grupos.Add(grupo);
                    }
                }
                if (rol.Grupos == null || rol.Grupos.Count <= 0)
                {
                    throw new Exception("Seleccione un Grupo");
                }
                tmplst.Add(rol);
                foreach (HelperAsignacionRol asignacionRol in tmplst)
                {
                    if (lstFinal.Any(a => a.IdRol == asignacionRol.IdRol))
                    {
                        lstFinal.Remove(lstFinal.Single(a => a.IdRol == asignacionRol.IdRol));
                    }
                }
                lstFinal.AddRange(tmplst);
                GruposSeleccionados = lstFinal;
                LimpiarSeleccion();
                if (OnTerminarModal != null)
                {
                    OnTerminarModal();
                }
            }
            catch (Exception ex)
            {
                if (_lstError == null)
                {
                    _lstError = new List <string>();
                }
                _lstError.Add(ex.Message);
                AlertaGeneral = _lstError;
            }
        }