/// <summary> /// Is best practice inject dependencies in constructor, /// This can be Mock in UnitTest /// </summary> /// <param name="loggerService">Logger service interface</param> public MainViewModel(ILoggerService loggerService, IAppInformation appInformation) { this.loggerService = loggerService; this.appInformation = appInformation; this.initializeProperties(); }
/// <summary> /// To initialize fields when the class is instantiated /// </summary> void Initialize() { Paths = new List <PathInformation>(); _appInfo = DependencyService.Get <IAppInformation>(); _directory = DependencyService.Get <IDirectory>(); SetListItems(); }
/// <summary> /// Creates an AboutViewModel Object /// </summary> public AboutViewModel(IAppInformation appInformation, IEmailAdapter emailAdapter, IBrowserAdapter browserAdapter, IStoreOperations storeOperations) { this.appInformation = appInformation; this.emailAdapter = emailAdapter; this.browserAdapter = browserAdapter; storeFeatures = storeOperations; }
/// <summary> /// Creates an AboutViewModel Object /// </summary> /// <param name="appInformation">Instance of a <see cref="IAppInformation" /> implementation.</param> /// <param name="composeEmailTask">Instance of a <see cref="IMvxComposeEmailTask" /> implementation.</param> /// <param name="webBrowserTask">Instance of a <see cref="IMvxWebBrowserTask" /> implementation.</param> /// <param name="storeOperations">Instance of a <see cref="IStoreOperations" /> implementation.</param> public AboutViewModel(IAppInformation appInformation, IMvxComposeEmailTask composeEmailTask, IMvxWebBrowserTask webBrowserTask, IStoreOperations storeOperations) { this.appInformation = appInformation; this.composeEmailTask = composeEmailTask; this.webBrowserTask = webBrowserTask; storeFeatures = storeOperations; }
/// <summary> /// Creates an AboutViewModel Object /// </summary> /// <param name="appInformation">Instance of a <see cref="IAppInformation" /> implementation.</param> /// <param name="emailComposeService">Instance of a <see cref="IEmailComposeService" /> implementation.</param> /// <param name="launcherService">Instance of a <see cref="ILauncherService" /> implementation.</param> /// <param name="storeService">Instance of a <see cref="IStoreService" /> implementation.</param> public AboutViewModel(IAppInformation appInformation, IEmailComposeService emailComposeService, ILauncherService launcherService, IStoreService storeService) { this.appInformation = appInformation; this.emailComposeService = emailComposeService; this.launcherService = launcherService; this.storeService = storeService; }
/// <summary> /// Creates an AboutViewModel Object /// </summary> /// <param name="appInformation">Instance of a <see cref="IAppInformation" /> implementation.</param> /// <param name="composeEmailTask">Instance of a <see cref="IMvxComposeEmailTask" /> implementation.</param> /// <param name="webBrowserTask">Instance of a <see cref="IMvxWebBrowserTask" /> implementation.</param> /// <param name="storeOperations">Instance of a <see cref="IStoreOperations" /> implementation.</param> public AboutViewModel(IAppInformation appInformation, IMvxComposeEmailTask composeEmailTask, IMvxWebBrowserTask webBrowserTask, IStoreOperations storeOperations, IMvxLogProvider logProvider, IMvxNavigationService navigationService) : base(logProvider, navigationService) { this.appInformation = appInformation; this.composeEmailTask = composeEmailTask; this.webBrowserTask = webBrowserTask; storeFeatures = storeOperations; }
/// <summary> /// Creates an AboutViewModel Object /// </summary> public AboutViewModel(IAppInformation appInformation, IEmailAdapter emailAdapter, IBrowserAdapter browserAdapter, IStoreOperations storeOperations, IMvxLogProvider logProvider, IMvxNavigationService navigationService) : base(logProvider, navigationService) { this.appInformation = appInformation; this.emailAdapter = emailAdapter; this.browserAdapter = browserAdapter; storeFeatures = storeOperations; }
public void Version_NoParams_ReturnCorrectMail() { IAppInformation appinfos = Substitute.For <IAppInformation>(); appinfos.GetVersion.Returns("42"); new AboutViewModel(appinfos, Substitute.For <IEmailAdapter>(), Substitute.For <IBrowserAdapter>(), Substitute.For <IStoreOperations>()) .Version .Should().Be("42"); }
/// <summary> /// Creates an AboutViewModel Object /// </summary> /// <param name="appInformation">Instance of a <see cref="IAppInformation" /> implementation.</param> /// <param name="composeEmailTask">Instance of a <see cref="IMvxComposeEmailTask" /> implementation.</param> /// <param name="webBrowserTask">Instance of a <see cref="IMvxWebBrowserTask" /> implementation.</param> /// <param name="storeFeatures">Instance of a <see cref="IStoreFeatures" /> implementation.</param> public AboutViewModel(IAppInformation appInformation, IMvxComposeEmailTask composeEmailTask, IMvxWebBrowserTask webBrowserTask, IStoreFeatures storeFeatures) { this.appInformation = appInformation; this.composeEmailTask = composeEmailTask; this.webBrowserTask = webBrowserTask; this.storeFeatures = storeFeatures; GoToWebsiteCommand = new MvxCommand(GoToWebsite); SendMailCommand = new MvxCommand(SendMail); RateAppCommand = new MvxCommand(RateApp); GoToRepositoryCommand = new MvxCommand(GoToRepository); }