void gvHojadeRuta_DataBound(object sender, EventArgs e) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.Visor, idUsuario); if (PermisosPagina.Lectura && !PermisosPagina.Creacion && !PermisosPagina.Modificacion) { gvHojadeRuta.MasterTableView.GetColumn("AuditarColumn").Visible = false; } }
void gvCabeceras_DataBound(object sender, EventArgs e) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.GestionPublicacion, idUsuario); if (PermisosPagina.Lectura && !PermisosPagina.Creacion && !PermisosPagina.Modificacion) { gvCabeceras.MasterTableView.GetColumn("ClientSelectColumn").Visible = false; btnPublicar.Visible = false; } }
protected void gvItemHoja_DataBound(object sender, EventArgs e) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.Documentacion, idUsuario); if (PermisosPagina.Lectura && !PermisosPagina.Creacion && !PermisosPagina.Modificacion) { gvItemHoja.MasterTableView.GetColumn("imgEdit").Visible = false; gvItemHoja.MasterTableView.GetColumn("chkPresentoColumn").Visible = false; } }
public static Entidades.SegRolMenu GetPermisosAcciones(string NombrePagina, long idUsuario) { EntidadesConosud dc = new EntidadesConosud(); var rolesMenu = from U in dc.SegUsuario from S in U.SegUsuarioRol where U.IdSegUsuario == idUsuario select S.SegRol.SegRolMenu.Where(w => w.SegMenu.Url.Contains(NombrePagina)).Distinct(); /// Inicializo los permisos sobre la página /// en verdadero. Entidades.SegRolMenu segrolMenuTemp = new Entidades.SegRolMenu(); segrolMenuTemp.Creacion = true; segrolMenuTemp.Modificacion = true; segrolMenuTemp.Lectura = true; /// Busco en cada uno de los permisos sobre la página /// para ver si hay superposición de los mismo, es decir que /// por medio de distitos roles se hayan establecido permisos /// sobre una misma página. /// Si existe esta situación se aplicada el metodo PESIMISTA, es decir /// si para un rol el permiso de creación esta habilitado y en otro rol /// el permiso esta denegado, entonces se deja negado el permiso. foreach (List <Entidades.SegRolMenu> item in rolesMenu) { if (item.Count > 0) { Entidades.SegRolMenu ItemRolMenu = item.First(); if (ItemRolMenu.Creacion == false) { segrolMenuTemp.Creacion = ItemRolMenu.Creacion; } if (ItemRolMenu.Modificacion == false) { segrolMenuTemp.Modificacion = ItemRolMenu.Modificacion; } if (ItemRolMenu.Lectura == false) { segrolMenuTemp.Lectura = ItemRolMenu.Lectura; } } } /// Retorno los permisos en un RolMenu temporal /// que contiene el resultado de la combinación de lo /// rolesMenu. return(segrolMenuTemp); }
protected void cboPeriodos_SelectedIndexChanged1(object o, RadComboBoxSelectedIndexChangedEventArgs e) { //OnSelectedIndexChanged="cboPeriodos_SelectedIndexChanged1" //System.Threading.Thread.Sleep(2000); _dc = new EntidadesConosud(); if (e.Value != "") { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.Documentacion, idUsuario); if (PermisosPagina.Lectura && !PermisosPagina.Creacion && !PermisosPagina.Modificacion) { gridDoc.FunctionsColumns.RemoveAt(0); gridDoc.Columns[3].Display = false; } int Id = int.Parse(e.Value); var cabecera = (from C in _dc.CabeceraHojasDeRuta where C.IdCabeceraHojasDeRuta == Id select C).FirstOrDefault(); if (cabecera.EsFueraTermino.HasValue) { chkFueraTermino.Checked = cabecera.EsFueraTermino.Value; } upFueraTermino.Update(); var ItemsHoja = (from H in _dc.HojasDeRuta where H.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta == Id orderby H.Plantilla.Codigo select new { IdHoja = H.IdHojaDeRuta, Titulo = H.Plantilla.Descripcion, FechaEntrega = H.DocFechaEntrega, FechaEntregaOriginal = H.DocFechaEntrega, Comentario = H.DocComentario, Presento = false }).ToList(); gridDoc.DataSource = ItemsHoja.ToList(); Session["datos"] = ItemsHoja; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones("AbmVehiculosYPF", idUsuario); btnBuscar.Visible = PermisosPagina.Modificacion; if (!PermisosPagina.Creacion) { divNuevoVahiculo.Style.Add(HtmlTextWriterStyle.Display, "none"); } } }
protected void btnAsignar_Click(object sender, EventArgs e) { Entidades.EntidadesConosud dcAux = new Entidades.EntidadesConosud(); long idRol = long.Parse(Request.QueryString["IdRol"].ToString()); Entidades.SegRol CurrentRol = (from M in dcAux.SegRol where M.IdSegRol == idRol select M).First <Entidades.SegRol>(); List <Entidades.SegRolMenu> MenuEliminar = (from M in dcAux.SegRolMenu where M.SegRol.IdSegRol == idRol select M).ToList <Entidades.SegRolMenu>(); foreach (Entidades.SegRolMenu item in MenuEliminar) { dcAux.DeleteObject(item); } dcAux.SaveChanges(); foreach (GridDataItem item in gvSubContratistas.Items) { if ((item.FindControl("chkSeleccion") as CheckBox).Checked) { long idMenu = long.Parse(gvSubContratistas.Items[item.DataSetIndex].GetDataKeyValue("IdSegMenu").ToString()); Entidades.SegMenu CurrentMenu = (from M in dcAux.SegMenu where M.IdSegMenu == idMenu select M).First <Entidades.SegMenu>(); Entidades.SegRolMenu segMenu = new Entidades.SegRolMenu(); segMenu.SegMenu = CurrentMenu; segMenu.SegRol = CurrentRol; segMenu.Creacion = (item.FindControl("chkCreacion") as CheckBox).Checked; segMenu.Modificacion = (item.FindControl("chkModificacion") as CheckBox).Checked; segMenu.Lectura = (item.FindControl("chkLectura") as CheckBox).Checked; dcAux.AddObject("EntidadesConosud.SegRolMenu", segMenu); } } dcAux.SaveChanges(); ScriptManager.RegisterStartupScript(Page, typeof(Page), "ocultar", "CloseWindows();", true); }
void RadGrid1_DataBound(object sender, EventArgs e) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.Varios, idUsuario); LinkButton btnAccion = (LinkButton)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnEdit"); btnAccion.Visible = PermisosPagina.Modificacion; btnAccion = (LinkButton)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnInsert"); btnAccion.Visible = PermisosPagina.Creacion; btnAccion = (LinkButton)RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnDelete"); btnAccion.Visible = PermisosPagina.Creacion; }
private void SetSeguridad() { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.AsignacionLegajos, idUsuario); LinkButton btnAccionE = (LinkButton)gvLegajosAsociados.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnEliminar"); btnAccionE.Visible = PermisosPagina.Modificacion; LinkButton btnAccionA = (LinkButton)gvLegajosAsociados.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnAsignar"); btnAccionA.Visible = PermisosPagina.Creacion; LinkButton btnAccionEnc = (LinkButton)gvLegajosAsociados.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnCambiarEncuadre"); btnAccionEnc.Visible = PermisosPagina.Modificacion; if (cboPeriodos.Text != "") { btnCopiado.Visible = PermisosPagina.Creacion; upAsignar.Update(); } if (PermisosPagina.Creacion) { ///Si administrador puede asignar y desasiganar en el mesa actual y hacia atras. ///Si no es administrador puede desasignar en el mes actual y hacia atras, ///PERO NO puede asignar hacia atras solo en el mes actual. EntidadesConosud db = new EntidadesConosud(); string DescRol = Helpers.RolesEspeciales.Administrador.ToString(); int RolesAdministrador = (from U in db.SegUsuario from UR in U.SegUsuarioRol where U.IdSegUsuario == idUsuario && UR.SegRol.Descripcion == DescRol select UR).Count(); if (RolesAdministrador == 0 && cboPeriodos.Text != "" && cboPeriodos.Text != string.Format("{0:yyyy/MM}", DateTime.Now)) { btnAccionE.Visible = false; btnAccionA.Visible = false; } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { LoadEmpresas(); } #region Seguridad long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.Documentacion, idUsuario); if (PermisosPagina.Lectura && !PermisosPagina.Creacion && !PermisosPagina.Modificacion) { gridDoc.FunctionsColumns.RemoveAt(0); gridDoc.Columns[3].Display = false; } #endregion }
protected void gvContratos_DataBound(object sender, EventArgs e) { foreach (GridDataItem item in gvContratos.Items) { long idContrato = long.Parse(item.GetDataKeyValue("Contrato.IdContrato").ToString()); var subcotr = from S in _Ds.ContratoEmpresas.Include("Contrato").Include("Empresa").Include("CabeceraHojasDeRuta") where S.Contrato.IdContrato == idContrato && S.EsContratista == false select S; string nombre = ""; string cuit = ""; foreach (ContratoEmpresas sub in subcotr) { if (sub.CabeceraHojasDeRuta.Count > 0) { string DefinicionPeriodo = string.Format(" Desde: {0:MM/yyyy}", sub.CabeceraHojasDeRuta.OrderBy(w => w.Periodo).First().Periodo); DefinicionPeriodo += " - " + string.Format(" Hasta: {0:MM/yyyy}", sub.CabeceraHojasDeRuta.OrderBy(w => w.Periodo).Last().Periodo); cuit += sub.Empresa.CUIT + "|"; nombre += sub.Empresa.RazonSocial + DefinicionPeriodo + "|"; } } (item.FindControl("imgSubContratistas") as ImageButton).Attributes.Add("CUIT-SubContratista", cuit); (item.FindControl("imgSubContratistas") as ImageButton).Attributes.Add("Rz-SubContratista", nombre); } long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.AsignacionSubContratistas, idUsuario); LinkButton btnAccion = (LinkButton)gvContratos.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnEliminar"); btnAccion.Visible = PermisosPagina.Modificacion; btnAccion = (LinkButton)gvContratos.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnAsignar"); btnAccion.Visible = PermisosPagina.Creacion; }
protected void grillaUsuarios_DataBound(object sender, EventArgs e) { long idUsuario = long.Parse(Session["idusu"].ToString()); Entidades.SegRolMenu PermisosPagina = Helpers.GetPermisosAcciones(Helpers.Constantes.PaginaMenu_.GestionUsuarios, idUsuario); LinkButton btnAccion = (LinkButton)grillaUsuarios.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnEdit"); btnAccion.Visible = PermisosPagina.Modificacion; btnAccion = (LinkButton)grillaUsuarios.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnInsert"); btnAccion.Visible = PermisosPagina.Creacion; btnAccion = (LinkButton)grillaUsuarios.MasterTableView.GetItems(GridItemType.CommandItem)[0].FindControl("btnDelete"); btnAccion.Visible = PermisosPagina.Creacion; if (!PermisosPagina.Modificacion) { grillaUsuarios.MasterTableView.GetColumn("MenuColumn").Visible = false; } }
protected void gvSubContratistas_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) { Entidades.SegMenu memu = (Entidades.SegMenu)e.Item.DataItem; if (!memu.PadreReference.IsLoaded) { memu.PadreReference.Load(); } if (memu.Padre == null) { e.Item.Font.Bold = true; e.Item.Font.Size = new FontUnit("13px"); (e.Item.FindControl("chkCreacion") as CheckBox).Visible = false; (e.Item.FindControl("chkModificacion") as CheckBox).Visible = false; (e.Item.FindControl("chkLectura") as CheckBox).Visible = false; Label aa = new Label(); aa.ID = "blankCreacion"; aa.Text = " "; e.Item.FindControl("chkCreacion").Parent.Controls.Add(aa); aa = new Label(); aa.ID = "blankModificacion"; aa.Text = " "; e.Item.FindControl("chkModificacion").Parent.Controls.Add(aa); aa = new Label(); aa.ID = "blankLectura"; aa.Text = " "; e.Item.FindControl("chkLectura").Parent.Controls.Add(aa); } Entidades.SegRolMenu exist = (from M in (Session["MenuAsignado"] as List <Entidades.SegRolMenu>) where M.SegMenu.IdSegMenu == memu.IdSegMenu select M).FirstOrDefault(); if (exist != null) { (e.Item.FindControl("chkSeleccion") as CheckBox).Checked = true; (e.Item.FindControl("chkCreacion") as CheckBox).Checked = exist.Creacion; (e.Item.FindControl("chkModificacion") as CheckBox).Checked = exist.Modificacion; (e.Item.FindControl("chkLectura") as CheckBox).Checked = exist.Lectura; if (exist.Creacion) { (e.Item.FindControl("chkModificacion") as CheckBox).InputAttributes.Add("disabled", "disabled"); (e.Item.FindControl("chkLectura") as CheckBox).InputAttributes.Add("disabled", "disabled"); } else if (exist.Modificacion) { (e.Item.FindControl("chkLectura") as CheckBox).InputAttributes.Add("disabled", "disabled"); } } else { (e.Item.FindControl("chkCreacion") as CheckBox).InputAttributes.Add("disabled", "disabled"); (e.Item.FindControl("chkModificacion") as CheckBox).InputAttributes.Add("disabled", "disabled"); (e.Item.FindControl("chkLectura") as CheckBox).InputAttributes.Add("disabled", "disabled"); } } }