private void SetState(WidgetDescription description, IWidgetMediatorBuildContract contract) { object?state = BuildState(description); if (state != null) { contract.SetState(state); } }
private void SetCustomisation(WidgetDescription description, IWidgetMediatorBuildContract contract) { object?customisation = GetCustomisation(description); if (customisation != null) { contract.SetCustomisation(customisation); } }
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); }