示例#1
0
        public RbacLog Save(string query, string parsedQuery, bool isParsed, string errors, int roleId, int userId, ExecutionTime executionTime)
        {
            RbacLog log = new RbacLog();

            log.Query       = query;
            log.ParsedQuery = parsedQuery;
            log.Parsed      = isParsed;
            log.Errors      = errors;
            log.RoleId      = roleId;
            log.UserId      = userId;
            if (executionTime.Items.ContainsKey(ExecutionTimeTrackers.ParseQuery))
            {
                log.ElapsedTimeParseQuery = executionTime.Items[ExecutionTimeTrackers.ParseQuery].ElapsedTicks;
            }
            if (executionTime.Items.ContainsKey(ExecutionTimeTrackers.ConditionsNRelations))
            {
                log.ElapsedTimeConditionsNRelations = executionTime.Items[ExecutionTimeTrackers.ConditionsNRelations].ElapsedTicks;
            }
            if (executionTime.Items.ContainsKey(ExecutionTimeTrackers.ApplyPermissions))
            {
                log.ElapsedTimeApplyPermission = executionTime.Items[ExecutionTimeTrackers.ApplyPermissions].ElapsedTicks;
            }
            if (executionTime.Items.ContainsKey(ExecutionTimeTrackers.ApplyParameters))
            {
                log.ElapsedTimeApplyParameters = executionTime.Items[ExecutionTimeTrackers.ApplyParameters].ElapsedTicks;
            }
            return(Save(log));
        }
示例#2
0
        public RbacLog Save(RbacLog log)
        {
            RbacLog dbLog = null;

            try
            {
                using (var ctx = new Entities(ConnectionString))
                {
                    log.DateTime = DateTime.Now;
                    dbLog        = ctx.RbacLogs.Add(log);
                    ctx.SaveChanges();
                }
            }
            catch (DbEntityValidationException e)
            {
                RaiseError(e);
            }

            return(dbLog);
        }