Пример #1
0
        public string GetSQLType()
        {
            var text = RoutineType.ToString();

            return(string.Join(string.Empty, text.AsEnumerable().Select(
                                   (c, i) => ((char.IsUpper(c) || i == 0) ? " " + char.ToUpper(c).ToString() : c.ToString())
                                   ).ToArray()).Trim());
        }
Пример #2
0
        public static Routine GetRoutine(RoutineType routineTypeEnum)
        {
            IList<Type> routineTypes = _routinesTypes.Where<KeyValuePair<Type, RoutineTypeAttribute>>(t => t.Value.routineType == routineTypeEnum)
                                                           .Select(kvp => kvp.Key).ToList();
            if(routineTypes.Count() == 0) throw new Exception(string.Format("No routines of type {0} are defined!", routineTypeEnum.ToString()));

            if(routineTypes.Count() == 1) return CreateAndInitRoutine(routineTypes[0]);

            int index = new Random().Next(0, routineTypes.Count);
            Type routineType = routineTypes[index];
            return CreateAndInitRoutine(routineType);
        }
Пример #3
0
        protected override void GetEventData(Dictionary <string, object> data)
        {
            data["routine.eventType"] = EventType.ToString();
            data["routine.name"]      = RoutineName.FullName;

            if (Arguments != null)
            {
                data["routine.argc"] = Arguments.Length;
                for (int i = 0; i < Arguments.Length; i++)
                {
                    data[String.Format("routine.arg[{0}].name", i)]  = Arguments[i].Name;
                    data[String.Format("routine.arg[{0}].value", i)] = Arguments[i].Value.ToString();
                }
            }

            if (EventType != RoutineEventType.BeforeResolve)
            {
                data["routine.type"] = RoutineType.ToString();
            }

            base.GetEventData(data);
        }