Ejemplo n.º 1
0
        private void SetState(WidgetDescription description, IWidgetMediatorBuildContract contract)
        {
            object?state = BuildState(description);

            if (state != null)
            {
                contract.SetState(state);
            }
        }
Ejemplo n.º 2
0
        private void SetCustomisation(WidgetDescription description, IWidgetMediatorBuildContract contract)
        {
            object?customisation = GetCustomisation(description);

            if (customisation != null)
            {
                contract.SetCustomisation(customisation);
            }
        }
Ejemplo n.º 3
0
        private void SetPresenter(object mediator, IWidgetMediatorBuildContract contract, WidgetDescription description)
        {
            IWidgetPresenter?presenter = BuildPresenter(description);

            if (presenter == null)
            {
                if (mediator is IWidgetPresenterProvider presenterProvider)
                {
                    // TODO: solve this in more elegant way
                    presenter = presenterProvider.Presenter;
                }
                else
                {
                    logger.Warning($"No presenter for a widget of type [{description.Variant?.MediatorType.Name}].");
                    return;
                }
            }

            TryFillPresenterContract(presenter);
            TryInitialise(presenter);
            contract.SetPresenter(presenter);
        }