예제 #1
0
        /// <summary>
        /// Obtiene los roles no de usuario.
        /// </summary>
        /// <param name="USR_USERNAME"></param>
        /// <param name="ROL_ID"></param>
        /// <param name="ROL_NOMBRE"></param>
        /// <returns>Roles no de usuario.</returns>
        public List<rol> GetRolesNoDeUsuario(string USR_USERNAME, int ROL_ID, string ROL_NOMBRE)
        {
            try
            {
                using (var db = new colinasEntities())
                {
                    db.roles.MergeOption = MergeOption.NoTracking;//optimizacion

                    var query = db.GetRolesNoDeUsuario(USR_USERNAME);

                    var filter = from rls in query
                                 where
                                 (ROL_ID.Equals(0) ? true : rls.ROL_ID.Equals(ROL_ID)) &&
                                 (string.IsNullOrEmpty(ROL_NOMBRE) ? true : rls.ROL_NOMBRE.Contains(ROL_NOMBRE))
                                 select rls;

                    return filter.OrderBy(r => r.ROL_NOMBRE).ToList<rol>();
                }
            }
            catch (Exception ex)
            {
                log.Fatal("Error fatal al obtener roles no de usuario.", ex);
                throw;
            }
        }