예제 #1
0
 public DialogCreator(IZetboxContext ctx, IViewModelFactory mdlFactory, IFrozenContext frozenCtx)
 {
     ValueModels = new List<BaseValueViewModel>();
     DataContext = ctx;
     ViewModelFactory = mdlFactory;
     FrozenCtx = frozenCtx;
 }
예제 #2
0
        protected ViewModelFactory(Autofac.ILifetimeScope container, IFrozenContext frozenCtx, ZetboxConfig cfg, IPerfCounter perfCounter, Func <DialogCreator> dialogFactory)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }
            if (cfg == null)
            {
                throw new ArgumentNullException("cfg");
            }
            if (dialogFactory == null)
            {
                throw new ArgumentNullException("dialogFactory");
            }

            this.Container              = container;
            this.FrozenContext          = frozenCtx;
            this.Configuration          = cfg;
            this.Managers               = new Dictionary <IZetboxContext, IMultipleInstancesManager>();
            this._viewModelFactoryCache = new Dictionary <VMCacheKey, object>();
            this.PerfCounter            = perfCounter;
            this.DialogFactory          = dialogFactory;
        }
예제 #3
0
        public static YearValueFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource valueSource, bool setDefault, ControlKind requestedKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }

            var valMdl = new NullableStructValueModel <int>(label, "", true, false);
            var mdl    = new YearValueFilterModel();

            mdl.Label         = label;
            mdl.ValueSource   = valueSource;
            mdl.ViewModelType = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_SingleValueFilterViewModel.Find(frozenCtx);
            mdl.RequestedKind = requestedKind;
            mdl.FilterArguments.Add(new FilterArgumentConfig(
                                        valMdl,
                                        /*cfg.ArgumentViewModel ?? */ ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableStructValueViewModel_1_System_Int32_.Find(frozenCtx)));

            if (setDefault)
            {
                // Defaults to this month
                valMdl.Value = DateTime.Today.FirstYearDay().Year;
            }

            return(mdl);
        }
예제 #4
0
 public void Initialize(IFrozenContext frozenCtx)
 {
     foreach (var a in _appender)
     {
         a.Initialize(frozenCtx);
     }
 }
예제 #5
0
 public DialogCreator(IZetboxContext ctx, IViewModelFactory mdlFactory, IFrozenContext frozenCtx)
 {
     ValueModels      = new List <BaseValueViewModel>();
     DataContext      = ctx;
     ViewModelFactory = mdlFactory;
     FrozenCtx        = frozenCtx;
 }
예제 #6
0
        public static FilterModel FromProperty(IFrozenContext frozenCtx, IEnumerable <Property> props)
        {
            var last  = props.Last();
            var label = string.Join(", ", props.Select(i => i.GetLabel()).ToArray());

            if (last is DateTimeProperty)
            {
                return(RangeFilterModel.Create(frozenCtx, label, FilterValueSource.FromProperty(props), typeof(DateTime), null, null));
            }
            else if (last is IntProperty)
            {
                return(RangeFilterModel.Create(frozenCtx, label, FilterValueSource.FromProperty(props), typeof(int), null, null));
            }
            else if (last is DecimalProperty)
            {
                return(RangeFilterModel.Create(frozenCtx, label, FilterValueSource.FromProperty(props), typeof(decimal), null, null));
            }
            else if (last is DoubleProperty)
            {
                return(RangeFilterModel.Create(frozenCtx, label, FilterValueSource.FromProperty(props), typeof(double), null, null));
            }
            else
            {
                return(SingleValueFilterModel.Create(frozenCtx, label, props));
            }
        }
        public ZetboxContextExceptionHandler(IViewModelFactory vmf, IFrozenContext frozenCtx)
        {
            if (vmf == null) throw new ArgumentNullException("vmf");
            if (frozenCtx == null) throw new ArgumentNullException("frozenCtx");

            this.vmf = vmf;
            this.frozenCtx = frozenCtx;
        }
예제 #8
0
 public Launcher(Func <ClientIsolationLevel, IZetboxContext> ctxFactory, IViewModelFactory mdlFactory, IFrozenContext frozenCtx, ZetboxConfig cfg, IPerfCounter perfCounter)
 {
     this.frozenCtx   = frozenCtx;
     this.ctxFactory  = ctxFactory;
     this.mdlFactory  = mdlFactory;
     this.cfg         = cfg;
     this.perfCounter = perfCounter;
 }
예제 #9
0
 public override void SetUp()
 {
     base.SetUp();
     mdlFactory       = scope.Resolve <MockedViewModelFactory>();
     frozenContext    = scope.Resolve <IFrozenContext>();
     ctxFactory       = scope.Resolve <Func <IZetboxContext> >();
     ctxClientFactory = scope.Resolve <Func <ClientIsolationLevel, IZetboxContext> >();
 }
예제 #10
0
 protected override List<string> GetAllClassNames(IFrozenContext frozenCtx)
 {
     return frozenCtx
         .GetQuery<Zetbox.App.Base.ObjectClass>()
         .ToList()
         .Select(c => string.Format("{0}.{1}", c.Module.Namespace, c.Name))
         .ToList();
 }
예제 #11
0
파일: Launcher.cs 프로젝트: daszat/zetbox
 public Launcher(Func<ContextIsolationLevel, IZetboxContext> ctxFactory, IViewModelFactory mdlFactory, IFrozenContext frozenCtx, ZetboxConfig cfg, IPerfCounter perfCounter)
 {
     this.frozenCtx = frozenCtx;
     this.ctxFactory = ctxFactory;
     this.mdlFactory = mdlFactory;
     this.cfg = cfg;
     this.perfCounter = perfCounter;
 }
예제 #12
0
        public ObjectClassActions(ILifetimeScope scopeFactory, IFrozenContext frozenCtx)
        {
            if (scopeFactory == null) throw new ArgumentNullException("scopeFactory");
            if (frozenCtx == null) throw new ArgumentNullException("frozenCtx");

            _scopeFactory = scopeFactory;
            _frozenCtx = frozenCtx;
        }
예제 #13
0
 public ViewModelDependencies(IViewModelFactory f, IUiThreadManager ui, IAsyncThreadManager async, IFrozenContext frozenCtx, IIdentityResolver idResolver)
 {
     Factory = f;
     UiThread = ui;
     AsyncThread = async;
     FrozenContext = frozenCtx;
     IdentityResolver = idResolver;
 }
예제 #14
0
 public ViewModelDependencies(IViewModelFactory f, IUiThreadManager ui, IAsyncThreadManager async, IFrozenContext frozenCtx, IIdentityResolver idResolver)
 {
     Factory          = f;
     UiThread         = ui;
     AsyncThread      = async;
     FrozenContext    = frozenCtx;
     IdentityResolver = idResolver;
 }
예제 #15
0
 public override void SetUp()
 {
     base.SetUp();
     mdlFactory = scope.Resolve<MockedViewModelFactory>();
     frozenContext = scope.Resolve<IFrozenContext>();
     ctxFactory = scope.Resolve<Func<IZetboxContext>>();
     ctxClientFactory = scope.Resolve<Func<ClientIsolationLevel, IZetboxContext>>();
 }
예제 #16
0
        public static RangeFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource predicate, Type type, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }
            if (type == null)
            {
                throw new ArgumentNullException("type");
            }

            var rfmdl = new RangeFilterModel()
            {
                Label         = label,
                ValueSource   = predicate,
                ViewModelType = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_RangeFilterViewModel.Find(frozenCtx),
                RequestedKind = requestedKind,
            };

            ViewModelDescriptor vDesc = null;
            BaseValueModel      mdl1  = null;
            BaseValueModel      mdl2  = null;

            if (type == typeof(decimal))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableDecimalPropertyViewModel.Find(frozenCtx);
                mdl1  = new DecimalValueModel("", "", true, false, requestedArgumentKind);
                mdl2  = new DecimalValueModel("", "", true, false, requestedArgumentKind);
            }
            else if (type == typeof(int))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableStructValueViewModel_1_System_Int32_.Find(frozenCtx);
                mdl1  = new NullableStructValueModel <int>("", "", true, false, requestedArgumentKind);
                mdl2  = new NullableStructValueModel <int>("", "", true, false, requestedArgumentKind);
            }
            else if (type == typeof(double))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableStructValueViewModel_1_System_Double_.Find(frozenCtx);
                mdl1  = new NullableStructValueModel <double>("", "", true, false, requestedArgumentKind);
                mdl2  = new NullableStructValueModel <double>("", "", true, false, requestedArgumentKind);
            }
            else if (type == typeof(DateTime))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableDateTimePropertyViewModel.Find(frozenCtx);
                mdl1  = new DateTimeValueModel("", "", true, false, DateTimeStyles.Date, requestedArgumentKind);
                mdl2  = new DateTimeValueModel("", "", true, false, DateTimeStyles.Date, requestedArgumentKind);
            }
            else
            {
                throw new NotSupportedException(string.Format("Rangefilters of Type {0} are not supported yet", type.Name));
            }

            rfmdl.FilterArguments.Add(new FilterArgumentConfig(mdl1, vDesc));
            rfmdl.FilterArguments.Add(new FilterArgumentConfig(mdl2, vDesc));

            return(rfmdl);
        }
예제 #17
0
        // private static IAssetsManager _assets;
        public DataTypeActions(IViewModelFactory vmf, IFrozenContext frozenCtx, IAssetsManager assets)
        {
            if (vmf == null) throw new ArgumentNullException("vmf");
            if (frozenCtx == null) throw new ArgumentNullException("frozenCtx");
            // if (assets == null) throw new ArgumentNullException("assets");

            _vmf = vmf;
            _frozenCtx = frozenCtx;
        }
예제 #18
0
        public DialogCreator(IZetboxContext ctx, IViewModelFactory mdlFactory, IFrozenContext frozenCtx)
        {
            if (ctx == null) throw new ArgumentNullException("ctx");
            if (mdlFactory == null) throw new ArgumentNullException("mdlFactory");
            if (frozenCtx == null) throw new ArgumentNullException("frozenCtx");

            Items = new List<ViewModel>();
            ValueModels = new List<Tuple<object, BaseValueViewModel>>();
            AdditionalButtons = new List<Tuple<string, string, Action<Dictionary<object, object>>>>();
            DataContext = ctx;
            ViewModelFactory = mdlFactory;
            FrozenCtx = frozenCtx;
        }
예제 #19
0
        private void Init(IFrozenContext ctx)
        {
            if (ctx == null) { throw new ArgumentNullException("ctx"); }

            lock (_lock)
            {
                if (_cache != null)
                    return;

                _cache = ctx.GetQuery<ObjectClass>().ToLookup(cls => cls.Name);
                Logging.Log.InfoFormat("Initialised CachingMetaDataResolver with {0} classes", _cache.Count);
            }
        }
예제 #20
0
        private static DataTemplate SelectTemplate(ViewModel mdl, ControlKind controlKind, IFrozenContext frozenCtx)
        {
            var tr = GetTypeRef(mdl, frozenCtx);
            if (tr == null) return null;

            ViewModelDescriptor pmd = tr.GetViewModelDescriptor();
            if (pmd == null)
            {
                Logging.Log.ErrorFormat("No matching ViewModelDescriptor found for {0}", mdl.GetType());
                return null;
            }

            return CreateTemplate(pmd.GetViewDescriptor(Toolkit.WPF, controlKind));
        }
예제 #21
0
        public static DateRangeFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource valueSource, ControlKind requestedKind, bool setYearDefault, bool setQuaterDefault, bool setMonthDefault)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }

            var mdl = new DateRangeFilterModel();

            mdl.Label         = label;
            mdl.ValueSource   = valueSource;
            mdl.ViewModelType = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_DateRangeFilterViewModel.Find(frozenCtx);
            mdl.RequestedKind = requestedKind;

            var fromMdl = new DateTimeValueModel(FilterModelsResources.From, "", true, false, DateTimeStyles.Date);
            var toMdl   = new DateTimeValueModel(FilterModelsResources.To, "", true, false, DateTimeStyles.Date);

            mdl.FilterArguments.Add(new FilterArgumentConfig(
                                        fromMdl,
                                        /*cfg.ArgumentViewModel ?? */ ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableDateTimePropertyViewModel.Find(frozenCtx)));
            mdl.FilterArguments.Add(new FilterArgumentConfig(
                                        toMdl,
                                        /*cfg.ArgumentViewModel ?? */ ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableDateTimePropertyViewModel.Find(frozenCtx)));

            if (setYearDefault)
            {
                // Defaults to this month
                fromMdl.Value = DateTime.Today.FirstYearDay();
                toMdl.Value   = DateTime.Today.LastYearDay();
            }
            else if (setQuaterDefault)
            {
                // Defaults to this month
                fromMdl.Value = DateTime.Today.FirstQuaterDay();
                toMdl.Value   = DateTime.Today.LastQuaterDay();
            }
            else if (setMonthDefault)
            {
                // Defaults to this month
                fromMdl.Value = DateTime.Today.FirstMonthDay();
                toMdl.Value   = DateTime.Today.LastMonthDay();
            }

            return(mdl);
        }
예제 #22
0
        private void Init(IFrozenContext ctx)
        {
            if (ctx == null)
            {
                throw new ArgumentNullException("ctx");
            }

            lock (_lock)
            {
                if (_cache != null)
                {
                    return;
                }

                _cache = ctx.GetQuery <ObjectClass>().ToLookup(cls => cls.Name);
                Logging.Log.InfoFormat("Initialised CachingMetaDataResolver with {0} classes", _cache.Count);
            }
        }
예제 #23
0
 private static TypeRef GetTypeRef(ViewModel mdl, IFrozenContext frozenCtx)
 {
     var tr = mdl.GetType().ToRef(frozenCtx);
     if (tr == null)
     {
         var mdlType = mdl.GetType();
         if (mdlType.IsGenericType)
         {
             Logging.Log.ErrorFormat("Unable to resolve TypeRef of given ViewModel '{0}'. You have to manually create a generic TypeRef.", mdlType);
         }
         else
         {
             Logging.Log.ErrorFormat("Unable to resolve TypeRef of given ViewModel '{0}'. Regenerate Assembly Refs.", mdlType);
         }
         return null;
     }
     return tr;
 }
예제 #24
0
        public PartyActions(IViewModelFactory vmf, IFrozenContext frozenCtx, IAssetsManager assets)
        {
            if (vmf == null)
            {
                throw new ArgumentNullException("vmf");
            }
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }
            if (assets == null)
            {
                throw new ArgumentNullException("assets");
            }

            _vmf       = vmf;
            _frozenCtx = frozenCtx;
            _assets    = assets;
        }
예제 #25
0
        private static DataTemplate SelectDefaultTemplate(ViewModel mdl, IFrozenContext frozenCtx)
        {
            var tr = GetTypeRef(mdl, frozenCtx);

            if (tr == null)
            {
                return(null);
            }

            ViewModelDescriptor pmd = tr.GetViewModelDescriptor();

            if (pmd == null)
            {
                Logging.Log.ErrorFormat("No matching ViewModelDescriptor found for {0}", mdl.GetType());
                return(null);
            }

            return(CreateTemplate(pmd.GetViewDescriptor(Toolkit.WPF)));
        }
예제 #26
0
        private static TypeRef GetTypeRef(ViewModel mdl, IFrozenContext frozenCtx)
        {
            var tr = mdl.GetType().ToRef(frozenCtx);

            if (tr == null)
            {
                var mdlType = mdl.GetType();
                if (mdlType.IsGenericType)
                {
                    Logging.Log.ErrorFormat("Unable to resolve TypeRef of given ViewModel '{0}'. You have to manually create a generic TypeRef.", mdlType);
                }
                else
                {
                    Logging.Log.ErrorFormat("Unable to resolve TypeRef of given ViewModel '{0}'. Regenerate Assembly Refs.", mdlType);
                }
                return(null);
            }
            return(tr);
        }
예제 #27
0
        public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, IEnumerable <Property> props, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            var predicate = FilterValueSource.FromProperty(props);
            var last      = props.Last();

            if (last is DecimalProperty)
            {
                return(Create(frozenCtx, label, predicate, typeof(decimal), requestedKind, requestedArgumentKind));
            }
            else if (last is IntProperty)
            {
                return(Create(frozenCtx, label, predicate, typeof(int), requestedKind, requestedArgumentKind));
            }
            else if (last is DoubleProperty)
            {
                return(Create(frozenCtx, label, predicate, typeof(double), requestedKind, requestedArgumentKind));
            }
            else if (last is StringProperty)
            {
                return(Create(frozenCtx, label, predicate, typeof(string), requestedKind, requestedArgumentKind));
            }
            else if (last is BoolProperty)
            {
                return(Create(frozenCtx, label, predicate, typeof(bool), requestedKind, requestedArgumentKind));
            }
            else if (last is EnumerationProperty)
            {
                return(Create(frozenCtx, label, predicate, ((EnumerationProperty)last).Enumeration.ExportGuid, requestedKind, requestedArgumentKind));
            }
            else if (last is ObjectReferenceProperty)
            {
                return(Create(frozenCtx, label, predicate, ((ObjectReferenceProperty)last).GetReferencedObjectClass(), requestedKind, requestedArgumentKind));
            }
            else if (last is CompoundObjectProperty)
            {
                return(Create(frozenCtx, label, predicate, ((CompoundObjectProperty)last).CompoundObjectDefinition, requestedKind, requestedArgumentKind));
            }
            else
            {
                throw new NotSupportedException(string.Format("Singlevalue filters of Property Type {0} are not supported yet", last.GetType().Name));
            }
        }
예제 #28
0
        public static OptionalPredicateFilterModel Create(IFrozenContext frozenCtx, string label, string predicate, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }

            var fmdl = new OptionalPredicateFilterModel()
            {
                Label         = label,
                ValueSource   = FilterValueSource.FromExpression(predicate),
                ViewModelType = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_OptionalPredicateFilterViewModel.Find(frozenCtx),
                RequestedKind = requestedKind,
            };
            var valueMdl = new BoolValueModel(label, "", false, false, requestedArgumentKind);

            valueMdl.Value = false;
            fmdl.FilterArguments.Add(new FilterArgumentConfig(valueMdl,
                                                              ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableBoolPropertyViewModel.Find(frozenCtx)));
            return(fmdl);
        }
예제 #29
0
        public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource predicate, ObjectClass referencedClass, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }

            var fmdl = new SingleValueFilterModel()
            {
                Label                  = label,
                ValueSource            = predicate,
                Operator               = FilterOperators.Equals,
                ViewModelType          = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_SingleValueFilterViewModel.Find(frozenCtx),
                RequestedKind          = requestedKind,
                RefreshOnFilterChanged = true,
            };

            fmdl.FilterArguments.Add(new FilterArgumentConfig(
                                         new ObjectReferenceValueModel(label, "", true, false, requestedArgumentKind, referencedClass),
                                         ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_ObjectReferenceViewModel.Find(frozenCtx)));
            return(fmdl);
        }
예제 #30
0
        public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource predicate, CompoundObject cpObj, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }

            var fmdl = new SingleCompoundValueFilterModel()
            {
                Label                    = label,
                ValueSource              = predicate,
                Operator                 = FilterOperators.Equals,
                ViewModelType            = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_SingleValueFilterViewModel.Find(frozenCtx),
                RequestedKind            = requestedKind,
                RefreshOnFilterChanged   = true,
                CompoundObjectDefinition = cpObj,
            };

            fmdl.FilterArguments.Add(new FilterArgumentConfig(
                                         new CompoundObjectValueModel(label, "", true, false, requestedArgumentKind, cpObj),
                                         cpObj.DefaultPropertyViewModelDescriptor ?? ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_CompoundObjectPropertyViewModel.Find(frozenCtx)));
            return(fmdl);
        }
예제 #31
0
        public void Initialize(IFrozenContext frozenCtx)
        {
            if (!PerformanceCounterCategory.Exists(Category))
            {
                initialized = false;
                Logging.Log.Warn("PerfCounters are not installed, execute 'sudo Zetbox.*.exe -installperfcounter'");
                return;
            }

            try
            {
                foreach (var desc in _counterDescs.Concat(CounterDesciptors).Concat(_methodDescs.Concat(MethodCounterDesciptors).SelectMany(desc => desc.CreateDescriptors())))
                {
                    desc.Set(this);
                }

                initialized = true;
            }
            catch (Exception ex)
            {
                Logging.Log.Error("Unable to initialize PerfCounters", ex);
                initialized = false;
            }
        }
예제 #32
0
 public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, string predicate, ObjectClass referencedClass, ControlKind requestedKind, ControlKind requestedArgumentKind)
 {
     return(Create(frozenCtx, label, FilterValueSource.FromExpression(predicate), referencedClass, requestedKind, requestedArgumentKind));
 }
예제 #33
0
 public IconConverter(IFrozenContext frozenCtx, Func<IZetboxContext> ctx)
 {
     this.FrozenContext = frozenCtx;
     this.ctxFactroy = ctx;
 }
예제 #34
0
 public FormsModelFactory(Autofac.ILifetimeScope container, IFrozenContext metaCtx, ZetboxConfig cfg, IPerfCounter perfCounter, Func<DialogCreator> dialogFactory)
     : base(container, metaCtx, cfg, perfCounter, dialogFactory)
 {
 }
예제 #35
0
        private static DataTemplate SelectTemplate(ViewModel mdl, string controlKindName, IFrozenContext frozenCtx)
        {
            var ck = frozenCtx.GetQuery <ControlKind>().SingleOrDefault(c => c.Name == controlKindName);

            if (ck == null)
            {
                Logging.Log.WarnFormat("Control kind with name '{0}' was not found", controlKindName);
            }
            return(SelectTemplate(mdl, ck, frozenCtx));
        }
 public OptionalPredicateFilterConfigurationActions(IFrozenContext frozenCtx)
 {
     FrozenContext = frozenCtx;
 }
예제 #37
0
 public SqlServerErrorTranslator(IFrozenContext frozenCtx)
     : base(frozenCtx)
 {
 }
예제 #38
0
 public PostgresqlErrorTranslator(IFrozenContext frozenCtx)
     : base(frozenCtx)
 {
 }
예제 #39
0
 public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, Property prop, ControlKind requestedKind, ControlKind requestedArgumentKind)
 {
     return(Create(frozenCtx, label, new[] { prop }, requestedKind, requestedArgumentKind));
 }
예제 #40
0
 public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, IEnumerable <Property> props)
 {
     return(Create(frozenCtx, label, props, null, null));
 }
예제 #41
0
 public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, Property prop)
 {
     return(Create(frozenCtx, label, new[] { prop }));
 }
예제 #42
0
        public static SingleValueFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource predicate, Type propType, ControlKind requestedKind, ControlKind requestedArgumentKind)
        {
            if (frozenCtx == null)
            {
                throw new ArgumentNullException("frozenCtx");
            }
            if (propType == null)
            {
                throw new ArgumentNullException("propType");
            }

            var fmdl = new SingleValueFilterModel()
            {
                Label                  = label,
                ValueSource            = predicate,
                Operator               = FilterOperators.Equals,
                ViewModelType          = ViewModelDescriptors.Zetbox_Client_Presentables_FilterViewModels_SingleValueFilterViewModel.Find(frozenCtx),
                RequestedKind          = requestedKind,
                RefreshOnFilterChanged = false,
            };

            ViewModelDescriptor vDesc = null;
            BaseValueModel      mdl   = null;

            if (propType == typeof(decimal))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableDecimalPropertyViewModel.Find(frozenCtx);
                mdl   = new DecimalValueModel(label, "", true, false, requestedArgumentKind);
            }
            else if (propType == typeof(int))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableStructValueViewModel_1_System_Int32_.Find(frozenCtx);
                mdl   = new NullableStructValueModel <int>(label, "", true, false, requestedArgumentKind);
            }
            else if (propType == typeof(double))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableStructValueViewModel_1_System_Double_.Find(frozenCtx);
                mdl   = new NullableStructValueModel <double>(label, "", true, false, requestedArgumentKind);
            }
            else if (propType == typeof(bool))
            {
                vDesc = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_NullableBoolPropertyViewModel.Find(frozenCtx);
                fmdl.RefreshOnFilterChanged = true;
                if (requestedArgumentKind == null)
                {
                    requestedArgumentKind = NamedObjects.Gui.ControlKinds.Zetbox_App_GUI_DropdownBoolKind.Find(frozenCtx);
                }
                mdl = new BoolValueModel(label, "", true, false, requestedArgumentKind);
            }
            else if (propType == typeof(string))
            {
                vDesc         = ViewModelDescriptors.Zetbox_Client_Presentables_ValueViewModels_ClassValueViewModel_1_System_String_.Find(frozenCtx);
                mdl           = new ClassValueModel <string>(label, "", true, false, requestedArgumentKind);
                fmdl.Operator = FilterOperators.Contains;
            }
            else
            {
                throw new NotSupportedException(string.Format("Singlevalue filters of Type {0} are not supported yet", propType.Name));
            }

            fmdl.FilterArguments.Add(new FilterArgumentConfig(mdl, vDesc));
            return(fmdl);
        }
예제 #43
0
 public static SingleValueFilterModel Create <T>(IFrozenContext frozenCtx, string label, string predicate)
 {
     return(Create <T>(frozenCtx, label, predicate, null, null));
 }
 public DateRangeFilterConfigurationActions(IFrozenContext frozenCtx)
 {
     FrozenContext = frozenCtx;
 }
예제 #45
0
 private static DataTemplate SelectDefaultTemplate(ViewModel mdl, IFrozenContext frozenCtx)
 {
     ViewModelDescriptor pmd = GuiExtensions.GetViewModelDescriptor(mdl, frozenCtx);
     if (pmd == null) return null;
     return CreateTemplate(pmd.GetViewDescriptor(Toolkit.WPF));
 }
예제 #46
0
        public void Initialize(IFrozenContext frozenCtx)
        {
            if (!PerformanceCounterCategory.Exists(Category))
            {
                initialized = false;
                Logging.Log.Warn("PerfCounters are not installed, execute 'sudo Zetbox.*.exe -installperfcounter'");
                return;
            }

            try
            {
                foreach (var desc in GetAllDescs())
                {
                    desc.Set(this);
                }

                initialized = true;
            }
            catch (Exception ex)
            {
                Logging.Log.Error("Unable to initialize PerfCounters", ex);
                initialized = false;
            }
        }
 public YearFilterConfigurationActions(IFrozenContext frozenCtx)
 {
     FrozenContext = frozenCtx;
 }
예제 #48
0
 private static DataTemplate SelectTemplate(ViewModel mdl, string controlKindName, IFrozenContext frozenCtx)
 {
     var ck = frozenCtx.GetQuery<ControlKind>().SingleOrDefault(c => c.Name == controlKindName);
     if (ck == null) Logging.Log.WarnFormat("Control kind with name '{0}' was not found", controlKindName);
     return SelectTemplate(mdl, ck, frozenCtx);
 }
예제 #49
0
 public AnyReferenceActions(IFrozenContext frozenCtx)
 {
     _frozenCtx = frozenCtx;
 }
예제 #50
0
 public static YearValueFilterModel Create(IFrozenContext frozenCtx, string label, IFilterValueSource valueSource, bool setDefault)
 {
     return(Create(frozenCtx, label, valueSource, setDefault, null));
 }
예제 #51
0
 public ViewModelDependencies(IViewModelFactory f, IFrozenContext frozenCtx, IPrincipalResolver principalResolver, IIconConverter iconConverter, IAssetsManager assetMgr, IValidationManager validationManager, IPerfCounter perfCounter)
 {
     Factory = f;
     FrozenContext = frozenCtx;
     PrincipalResolver = principalResolver;
     IconConverter = iconConverter;
     Assets = assetMgr;
     ValidationManager = validationManager;
     PerfCounter = perfCounter;
 }
예제 #52
0
 /// <summary>
 /// Initializes a new instance of the VisualTypeTemplateSelector class.
 /// </summary>
 public VisualTypeTemplateSelector(object requestedKind, IFrozenContext frozenCtx)
 {
     this._requestedKind = requestedKind;
     this._frozenCtx = frozenCtx;
 }
예제 #53
0
 /// <summary>
 /// Initializes a new instance of the VisualTypeTemplateSelector class.
 /// </summary>
 public VisualTypeTemplateSelector(object requestedKind, IFrozenContext frozenCtx)
 {
     this._requestedKind = requestedKind;
     this._frozenCtx     = frozenCtx;
 }
예제 #54
0
 public SqlErrorTranslator(IFrozenContext frozenCtx)
 {
     _frozenCtx = frozenCtx;
 }
예제 #55
0
 public void Initialize(IFrozenContext frozenCtx)
 {
 }
예제 #56
0
 public static RangeFilterModel Create <T>(IFrozenContext frozenCtx, string label, string predicate, ControlKind requestedKind, ControlKind requestedArgumentKind)
     where T : struct
 {
     return(Create(frozenCtx, label, predicate, typeof(T), requestedKind, requestedArgumentKind));
 }
예제 #57
0
        public void Initialize(IFrozenContext frozenCtx)
        {
            if (!PerformanceCounterCategory.Exists(Category))
            {
                initialized = false;
                Logging.Log.Warn("PerfCounters are not installed, execute 'sudo Zetbox.*.exe -installperfcounter'");
                return;
            }

            try
            {
                foreach (var desc in _counterDescs.Concat(CounterDesciptors).Concat(_methodDescs.Concat(MethodCounterDesciptors).SelectMany(desc => desc.CreateDescriptors())))
                {
                    desc.Set(this);
                }

                initialized = true;
            }
            catch (Exception ex)
            {
                Logging.Log.Error("Unable to initialize PerfCounters", ex);
                initialized = false;
            }
        }
예제 #58
0
 public static RangeFilterModel Create(IFrozenContext frozenCtx, string label, string predicate, Type type, ControlKind requestedKind, ControlKind requestedArgumentKind)
 {
     return(Create(frozenCtx, label, FilterValueSource.FromExpression(predicate), type, requestedKind, requestedArgumentKind));
 }
예제 #59
0
 public WpfModelFactory(Autofac.ILifetimeScope container, IUiThreadManager uiThread, IFrozenContext frozenCtx, ZetboxConfig cfg, IPerfCounter perfCounter, Func<DialogCreator> dialogFactory)
     : base(container, frozenCtx, cfg, perfCounter, dialogFactory)
 {
     this.uiThread = uiThread;
 }
예제 #60
0
 public WpfModelFactory(ILifetimeScopeFactory scopeFactory, Autofac.ILifetimeScope scope, IFrozenContext frozenCtx, ZetboxConfig cfg, IPerfCounter perfCounter, DialogCreator.Factory dialogFactory)
     : base(scopeFactory, scope, frozenCtx, cfg, perfCounter, dialogFactory)
 {
 }