public static bool HasPermission(int moduleId, String username, TypeAudit audit)
        {
            var _cnttDB = new CNTTDHXDEntities();

            /*GroupPermissionServices groupPermissionServices = new GroupPermissionServices();
            List<GroupPermissionModels> lstGroupPermission = groupPermissionServices.selectPermission(moduleId, username);
            foreach (var item in lstGroupPermission)
            {
                if (Utils.HassPermission(audit, item.PermissionNumber))
                    return true;
            }*/
            //List<gov_group_permission> lstGroupPermission = select from 
            var lstGroupPermission = (from ggp in _cnttDB.gov_group_permission
                                      join ggm in _cnttDB.gov_group_members
                                          on ggp.group_id equals ggm.group_id
                                      where (ggm.username.Equals(username) && ggp.module_id == moduleId)
                                      select ggp).ToList();
            var a = lstGroupPermission.Count();
            foreach (var item in lstGroupPermission)
            {
                if (Utils.HassPermission(audit, item.permission_number))
                    return true;
            }
            return false;
        }
 public static bool HasPermission(TypeAudit audit, int permission)
 {
     if (((int)audit & permission) == (int)audit)
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 3
0
        public async Task GenerateAuditAsync(TypeAudit typeAudit, string nameTable, long idTabela, UserLogged userLogged, string entity = null)
        {
            long sequence = DatabaseProvider.NewSequence("SEQ_AUDITORIA");

            switch (typeAudit)
            {
            case TypeAudit.Insert: await CreateAuditAsync(sequence, nameTable, idTabela, userLogged); break;

            case TypeAudit.Update: await UpdateAuditAsync(sequence, nameTable, idTabela, userLogged, entity); break;

            case TypeAudit.Delete: await DeleteAuditAsync(sequence, nameTable, idTabela, userLogged, entity); break;

            default: throw new Exception("Tipo de auditoria inválido.");
            }
        }
        public static bool HasPermission(decimal UserID, string FunctionName, TypeAudit audit)
        {
            if (!ntsSqlFunctions._IsRegis)
            {
                return(false);
            }

            UsersDataContext _vdata = new UsersDataContext();
            tblUserPermiss   user   = _vdata.tblUserPermisses.Where(userP => userP.maNguoidungpr_sd == UserID && userP.tblFunction.functionName == FunctionName).FirstOrDefault();

            if (user != null)
            {
                return(HasPermission(audit, Convert.ToInt32(ntsSecurity._mDecrypt(user.permission, "rateAnd2012", true).Split(';')[2])));
            }

            return(false);
        }
        public static void SetPermission(decimal UserID, string FunctionName, TypeAudit audit)
        {
            if (!ntsSqlFunctions._IsRegis)
            {
                return;
            }
            UsersDataContext _vdata   = new UsersDataContext();
            tblFunction      function = _vdata.tblFunctions.Where(p => p.functionName == FunctionName).FirstOrDefault();

            if (function != null)
            {
                return;
            }
            tblUserPermiss permis = new tblUserPermiss();

            permis.maNguoidungpr_sd = UserID;
            permis.tblFunction      = function;
            permis.permission       = ntsSecurity._mEncrypt(UserID.ToString() + ";" + function.functionIDpr.ToString() + ";" + ((int)audit).ToString(), "rateAnd2012", true);
            _vdata.tblUserPermisses.InsertOnSubmit(permis);
            _vdata.SubmitChanges();
        }
Exemplo n.º 6
0
 public static bool HassPermission(TypeAudit audit, int permission)
 {
     if (((int)audit & permission) == (int)audit)
         return true;
     return false;
 }