コード例 #1
0
        static void SendMessage()
        {
            var container = SimpleIoC.CreateInstance();

            container
            // Enable singleton in order to prevent instantiating classes more than once
            .UseSingleton()
            .For <IMessageService>().Inject <MessageService>()
            // You can map either EmailCommunicator or SmsCommunicator for the ICommunicator
            .For <ICommunicator>().Inject <EmailCommunicator>()

            // Or even simpler use the Register method:
            .Register <ILogger, Logger>();

            // Resolve the dependencies
            var resolvedService = container.Resolve <IMessageService>();
            // Add another service for testing the singleton usability
            var resolvedService2 = container.Resolve <IMessageService>();

            resolvedService.SendMessage("This is a simple IoC Container!");
            resolvedService2.SendMessage("This message is sent by message service");

            // Because of the singleton is configured for the container, it will return number (2).
            var count = resolvedService.GetSentCount();
        }
コード例 #2
0
        /// <summary>
        /// Initializes the plugin.
        /// </summary>
        public override void InitPlugin()
        {
            var mainViewModel = SimpleIoC.Get <LeftdownMenuViewModel>();

            this.AppManager.ShowMainUI(mainViewModel);
            this.AppManager.SetAppTitle(this.PluignName);

            // Register menu
            mainViewModel.RegisterMenu(new MEF.Launcher.Platform.Menu.MenuItemEx
            {
                Name        = "IoT Device",
                ClickAction = () =>
                {
                    mainViewModel.ActivateItem(IoC.Get <IoTViewModel>());
                }
            });

            mainViewModel.RegisterMenu(new MEF.Launcher.Platform.Menu.MenuItemEx
            {
                Name        = "Weighing Scale",
                ClickAction = () =>
                {
                    mainViewModel.ActivateItem(IoC.Get <WeighingScaleSystemViewModel>());
                }
            });

            this.FooterBarManager.SetMessage($"Plugin {this.PluignName} is initialized");
        }
コード例 #3
0
        /// <summary>
        /// Initializes the plugin.
        /// </summary>
        public override void InitPlugin()
        {
            // Updating application title
            this.AppManager.SetAppTitle("Rating Server");

            // Show footer bar
            this.FooterBarManager.IsDisplayFooterBar = true;
            // Writing message at footer bar
            this.FooterBarManager.SetMessage($"Plugin {this.PluignName} is initializing");

            // LeftdownMenuViewModel is main view which hosts other views and supports left-menu as well
            // You can replace LeftdownMenuViewModel by your view by calling this.AppManager.ShowMainUI(<your view model>);
            var mainViewModel = SimpleIoC.Get <LeftdownMenuViewModel>();

            this.AppManager.ShowMainUI(mainViewModel);

            // Register menu using for LeftdownMenuViewModel only
            mainViewModel.RegisterMenu(new MEF.Launcher.Platform.Menu.MenuItemEx
            {
                Name        = "Setting",
                ClickAction = () =>
                {
                    // ExampleView will be displayed when user click onto this button <Basic Menu>
                    mainViewModel.ActivateItem(SimpleIoC.Get <SettingViewModel>());
                }
            });

            // Writing message at status-bar
            this.FooterBarManager.SetMessage($"Plugin {this.PluignName} is initialized");
        }
コード例 #4
0
        public void Initialize()
        {
            _container = new SimpleIoC();

            _container.Register <IProduct, Product>();
            _container.Register <IOrder, Order>();
            _container.Register <IOrderHistory, OrderHistory>();
            _container.Register <IOrderLine, OrderLine>();
        }
コード例 #5
0
ファイル: App.xaml.cs プロジェクト: timrisi/AlarmCast
 void RegisterViews()
 {
     SimpleIoC.RegisterPage <MainViewModel, MainPage>();
     SimpleIoC.RegisterPage <SubscriptionsViewModel, SubscriptionsPage>();
     SimpleIoC.RegisterPage <ItemDetailViewModel, ItemDetailPage>();
     SimpleIoC.RegisterPage <NewItemViewModel, NewItemPage>();
     SimpleIoC.RegisterPage <SearchViewModel, SearchPage>();
     SimpleIoC.RegisterPage <PodcastViewModel, PodcastPage>();
 }
コード例 #6
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            repositoryAndroid = RepositoryFactory.GetSingleton().GetRepository();
            imageService      = SimpleIoC.GetImageService(Activity, Resources.DisplayMetrics);
            var view = inflater.Inflate(Resource.Layout.fragment_next_goal_view, container, false);

            BindView(view);
            SetImages();
            return(view);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: Inventum24/SOLID
        static void Main(string[] args)
        {
            SimpleIoC ioc = new SimpleIoC();

            ioc.Register <MainViewModel, MainViewModel>();
            ioc.Register <ICustomer, Customer>();
            ioc.Register <ICustomerRepository, CustomerRepository>();
            ioc.Register <IDbGateway, DbGateway>();

            var mainViewModel = ioc.Resolve <MainViewModel>();

            Console.ReadLine();
        }
コード例 #8
0
 protected override async void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
     TrySetStatusbarColor();
     repository   = RepositoryFactory.GetSingleton().GetRepository();
     imageService = SimpleIoC.GetImageService(this, Resources.DisplayMetrics);
     SetContentView(Resource.Layout.activity_goal_finished_view);
     SetupToolbar();
     SetupRecyclerView();
     await SetItemsAsync();
     await LoadAdsAsync();
 }
コード例 #9
0
 public DialogsService(SimpleIoC ioc)
 {
     _ioc    = ioc;
     _client = ioc.Resolve <ITelegramClient>();
     using (var file = File.OpenRead("currentUser.json"))
     {
         using (StreamReader sr = new StreamReader(file))
         {
             string  userData = sr.ReadToEnd();
             Contact user     = JsonConvert.DeserializeObject <Contact>(userData);
             _userId = user.Id;
         }
     }
 }
コード例 #10
0
        /// <summary>
        /// Register additional services with the service locator.
        /// </summary>
        protected override void InitializeServiceLocator(SimpleIoC serviceLocator)
        {
            // If not in design-mode (Blend/VS), register some UI services
            if (!IsInDesignMode)
            {
                // Register the UI Services
                // MessageBox Service
                MessageBoxViewModel = new LiteMessageBoxViewModel();
                serviceLocator.Register <IMessageBoxService>(() => MessageBoxViewModel);

                // SaveFileDialog Service
                serviceLocator.Register <ISaveFileDialogService, SaveFileDialogService>();
            }
        }
コード例 #11
0
        public App()
        {
            InitializeComponent();

            SimpleIoC.RegisterPage <EnterKeyViewModel, EnterKeyPage>();
            SimpleIoC.RegisterPage <AchievementViewModel, AchievementPage>();
            SimpleIoC.RegisterPage <AchievementDetailViewModel, AchievementDetailPage>();
            BlobCache.ApplicationName = "Akavache";

            if (string.IsNullOrEmpty(Settings.ApiKey))
            {
                NavigationService.SetRoot(new EnterKeyViewModel());
                return;
            }
            NavigationService.SetRoot(new AchievementViewModel());
        }
コード例 #12
0
        /// <summary>
        /// Initializes the plugin.
        /// </summary>
        public override void InitPlugin()
        {
            var mainViewModel = SimpleIoC.Get <LeftdownMenuViewModel>();

            this.AppManager.ShowMainUI(mainViewModel);

            // Register menu
            mainViewModel.RegisterMenu(new MEF.Launcher.Platform.Menu.MenuItemEx
            {
                Name        = "Basic Menu",
                ClickAction = () =>
                {
                    mainViewModel.ActivateItem(new ExampleViewModel());
                }
            });
        }
コード例 #13
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_goal_edit_view);
            TrySetGoal();
            imageService = SimpleIoC.GetImageService(this, Resources.DisplayMetrics);
            SupportPostponeEnterTransition();
            BindView();
            RegisterClickEvents();

            selector = new ImageSelector(PackageManager, new Java.Lang.String("Velg"), ImageRequestCode, this);

            SetupToolbar();
            TrySetValues();
            StyleView();
        }
コード例 #14
0
        private async Task SetupRecyclerView()
        {
            var imageService = SimpleIoC.GetImageService(this, Resources.DisplayMetrics);
            var placeholder  =
                await
                Task <Bitmap> .Factory.StartNew(
                    () => BitmapFactory.DecodeResource(Resources, Resource.Drawable.ic_broken_image_white_48dp));

            adapter = new GoalItemAdapter(ContentResolver, Roboto.Medium(Assets), placeholder, Resources, imageService);
            recyclerView.SetLayoutManager(new GridLayoutManager(this, 2, LinearLayoutManager.Vertical, false));
            recyclerView.SetAdapter(adapter);
            recyclerView.HasFixedSize = true;
            adapter.ItemClick        += OnItemClick;
            adapter.ItemLongClick    += OnItemLongClick;
            adapter.ModeChanged      += OnModeChanged;
            adapter.ItemCheckChanged += OnItemCheckChanged;
        }
コード例 #15
0
 public ContactsService(SimpleIoC ioc)
 {
     _ioc    = ioc;
     _client = ioc.Resolve <ITelegramClient>();
 }
コード例 #16
0
 public SendingService(SimpleIoC ioc)
 {
     _client = ioc.Resolve <ITelegramClient>();
     _ioc    = ioc;
 }
コード例 #17
0
        //public event Action<string, string, DateTime> OnAddUnreadMessageFromChannel;

        public ReceivingService(SimpleIoC ioc)
        {
            _ioc    = ioc;
            _client = ioc.Resolve <ITelegramClient>();
            _client.Updates.RecieveUpdates += Updates_RecieveUpdates;
        }