internal static IObservable <Unit> MarkupContentPropertyEditor(this ApplicationModulesManager manager)
 => manager.WhenGeneratingModelNodes <IModelBOModel>().SelectMany().Cast <IModelClass>()
 .SelectMany(modelClass => modelClass.OwnMembers.ToObservable())
 .UrlPropertyAttribute().ImgPropertyAttribute()
 .ToUnit()
 .Merge(manager.WhenGeneratingModelNodes <IModelViews>().SelectMany()
        .ReaOnlyViewAttribute());
 internal static IObservable <IModelViews> Connect(this ApplicationModulesManager manager)
 => manager.WhenGeneratingModelNodes(modelApplication => modelApplication.Views)
 .Do(views => {
     foreach (var bo in views.Application.BOModel.Where(m =>
                                                        m.TypeInfo.FindAttributes <CloneModelViewAttribute>(false).Any()))
     {
         views.GenerateModel(bo);
     }
 });
 static IObservable <Unit> ReadOnlyObjectViewAttribute(this ApplicationModulesManager manager)
 => manager.WhenGeneratingModelNodes <IModelViews>().SelectMany().OfType <IModelObjectView>()
 .SelectMany(view => view.ModelClass.TypeInfo.FindAttributes <ReadOnlyObjectViewAttribute>()
             .Where(objectView => objectView is IModelDetailView && objectView.ViewType == ViewType.DetailView || objectView is IModelListView && objectView.ViewType == ViewType.ListView || objectView.ViewType == ViewType.Any)
             .Execute(objectView => {
     view.AllowEdit   = objectView.AllowEdit;
     view.AllowDelete = objectView.AllowDelete;
     view.AllowNew    = objectView.AllowNew;
 }).ToObservable(Scheduler.Immediate))
 .ToUnit();
Example #4
0
 public static IObservable <Unit> ConnectEmail(this ApplicationModulesManager manager)
 => manager.WhenGeneratingModelNodes <IModelBOModel>()
 .Do(model => {
     var modelEmail      = model.Application.ToReactiveModule <IModelReactiveModulesEmail>().Email;
     var recipientType   = modelEmail.RecipientType();
     var emailAddress    = modelEmail.SetupEmailAddress();
     var smtpClient      = modelEmail.SmtpClient(emailAddress);
     var modelEmailRule  = modelEmail.EmailRule();
     var emailRecipient  = modelEmail.EmailRecipient(recipientType);
     var emailObjectView = modelEmailRule.ObjectView(null);
     modelEmailRule.SetupViewRecipient(emailObjectView, emailRecipient, smtpClient);
 }).ToUnit();
Example #5
0
 internal static IObservable <Unit> ConnectObjectString(this ApplicationModulesManager manager)
 {
     return(manager.WhenGeneratingModelNodes <IModelViews>().SelectMany().OfType <IModelDetailView>()
            .SelectMany(view => view.MemberViewItems()).Where(item =>
                                                              item.ModelMember.MemberInfo.Owner.Type == typeof(ObjectString) &&
                                                              item.PropertyName == nameof(ObjectString.Caption))
            // .Do(item => item.PropertyEditorType = item.PropertyEditorTypes.FirstOrDefault(type =>
            // type.FullName == "DevExpress.ExpressApp.Blazor.Editors.CheckedLookupStringPropertyEditor"))
            .ToUnit());
     // .Merge(manager.WhenApplication(application => {
     //     var detailViewCreated = application.WhenDetailViewCreated().Where(t => t.e.View.ObjectTypeInfo.Type!=typeof(ObjectString))
     //             .SelectMany(t => application.WhenFrameViewChanged().WhenFrame(typeof(ObjectString)).WhenFrame(ViewType.DetailView)
     //                 .SelectMany(frame => ((ObjectString) frame.View.AsDetailView().CurrentObject).Datasource
     //                     .Do(e => {
     //                         e.Instance.Objects
     //                     })))
     //         ;
     //
     //     return datasource.CombineLatest(detailViewCreated);
     // }));
 }
 public static IObservable <Unit> DefaultLookupPropertyEditor(this ApplicationModulesManager manager)
 => manager.WhenGeneratingModelNodes <IModelBOModel>().SelectMany()
 .SelectMany(mClass => mClass.OwnMembers
             .Where(member => member.PropertyEditorType == typeof(DevExpress.ExpressApp.Blazor.Editors.LookupPropertyEditor))
             .Do(member => member.PropertyEditorType = typeof(LookupPropertyEditor))
             ).ToUnit();
Example #7
0
 public static IObservable <Unit> ConnectMicrosoftService(this ApplicationModulesManager manager) =>
 manager.WhenGeneratingModelNodes(application => application.Views)
 .Do(views => {