/// <summary>
        /// The get instance.
        /// </summary>
        /// <param name="appName">
        /// The app name.
        /// </param>
        /// <param name="type">
        /// The type.
        /// </param>
        /// <returns>
        /// The <see cref="App"/>.
        /// </returns>
        public static App GetInstance(string appName, DateRepresentationType type)
        {
            TinyIoCContainer container = new TinyIoCContainer();

            container.Register <ITaskRepository>(new TaskRepository(DependencyService.Get <IFileHelper>(), appName.ToLower()));

            container.Register <ITaskManager, UserTaskManager>();

            container.Register <IUserTaskMediator, UserTaskMediator>();

            container.Register <IDateVmFactory, DateVmManager>();

            container.Register <IApplicationModel>(new ApplicationModel(appName, container.Resolve <IDateVmFactory>(), container.Resolve <IUserTaskMediator>(), type));

            return(new App(container.Resolve <IApplicationModel>()));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApplicationModel"/> class.
 /// </summary>
 /// <param name="name">
 /// The name.
 /// </param>
 /// <param name="factory">
 /// The factory.
 /// </param>
 /// <param name="mediator">
 /// The mediator.
 /// </param>
 /// <param name="type">
 /// The type.
 /// </param>
 public ApplicationModel(string name, IDateVmFactory factory, IUserTaskMediator mediator, DateRepresentationType type)
 {
     this.Name          = name;
     this.Factory       = factory;
     this.TaskMediator  = mediator;
     this.StartDateType = type;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DateInfoModel"/> class.
 /// </summary>
 /// <param name="date">
 /// The date.
 /// </param>
 /// <param name="dateType">
 /// The date type.
 /// </param>
 public DateInfoModel(DateTime date, DateRepresentationType dateType)
 {
     this.Date     = date;
     this.DateType = dateType;
 }