Пример #1
0
 public SqlDefinitionBuilder(ITemplateOptions options = null)
 {
     this.root      = new CompositeSqlDefinitionElement(this);
     this.Text      = new SqlTextAppender(this, root);
     this.Parameter = new SqlParameterAppender(this, root);
     this.Options   = options;
 }
Пример #2
0
        public async Task TrackProjectGenAsync(ITemplateOptions options, double seconds)
        {
            var properties = new Dictionary <string, string>
            {
                [TelemetryProperties.ProjectType]         = MvxScaffoldingContext.CurrentTemplateType.ToString(),
                [TemplateOptions.HasAndroidProject]       = options.HasAndroid.ToStringLowerCase(),
                [TemplateOptions.HasIosProject]           = options.HasIos.ToStringLowerCase(),
                [TemplateOptions.HasUwpProject]           = options.HasUwp.ToStringLowerCase(),
                [TemplateOptions.HasCoreTestProject]      = options.HasCoreUnitTestProject.ToStringLowerCase(),
                [TemplateOptions.HasAndroidTestProject]   = options.HasAndroidUnitTestProject.ToStringLowerCase(),
                [TemplateOptions.HasIosTestProject]       = options.HasIosUnitTestProject.ToStringLowerCase(),
                [TemplateOptions.HasUwpTestProject]       = options.HasUwpUnitTestProject.ToStringLowerCase(),
                [TemplateOptions.HasUwpUITestProject]     = options.HasUwpUiTestProject.ToStringLowerCase(),
                [TemplateOptions.HasEditorConfig]         = options.HasEditorConfig.ToStringLowerCase(),
                [TemplateOptions.SolutionProjectGrouping] = options.SelectedProjectGrouping,
                [TemplateOptions.ScaffoldType]            = options.SelectedScaffoldType.ScaffoldType.ToString(),
                [TemplateOptions.AppId]        = options.AppId.HasValue(),
                [TemplateOptions.AppName]      = options.AppName.HasValue(),
                [TemplateOptions.SolutionName] = options.SolutionName.HasValue(),
                [TemplateOptions.CanCreateSolutionDirectory] = options.CanCreateSolutionDirectory.ToStringLowerCase(),
                [TemplateOptions.NetStandardVersion]         = options.SelectedNetStandard,
                [TemplateOptions.AndroidMinSdkVersion]       = options.SelectedMinAndroidSDK,
                [TemplateOptions.IosMinSdkVersion]           = options.SelectedMinIosSDK,
                [TemplateOptions.UwpMinSdkVersion]           = options.SelectedMinUwpSDK,
                [TemplateOptions.UwpAppDescription]          = options.UwpDescription.HasValue()
            };

            if (MvxScaffoldingContext.CurrentTemplateType == TemplateType.MvxNative)
            {
                properties = AddNativeProjectProperties(properties, options);
            }
            else
            {
                properties = AddFormsProjectProperties(properties, options);
            }

            var metrics = new Dictionary <string, double>
            {
                [TelemetryMetrics.TimeSpent] = seconds
            };

            await RemoteWriter.Current.TrackEventAsync(TelemetryEvents.ProjectGen, properties, metrics)
            .ConfigureAwait(false);
        }
        private Dictionary <string, string> AddFormsProjectProperties(Dictionary <string, string> properties, ITemplateOptions options)
        {
            properties.Add(TemplateOptions.Forms.HasXamarinUITestProject, options.HasAndroidUiTestProject.ToStringLowerCase());

            return(properties);
        }
        private Dictionary <string, string> AddNativeProjectProperties(Dictionary <string, string> properties, ITemplateOptions options)
        {
            properties.Add(TemplateOptions.Native.HasAndroidUITestProject, options.HasAndroidUiTestProject.ToStringLowerCase());
            properties.Add(TemplateOptions.Native.HasIosUITestProject, options.HasIosUiTestProject.ToStringLowerCase());
            properties.Add(TemplateOptions.Native.AndroidLayoutType, options.SelectedAndroidLayoutType);
            properties.Add(TemplateOptions.Native.IosLayoutType, options.SelectedIosLayoutType);

            return(properties);
        }
Пример #5
0
        private Dictionary <string, string> AddNativeProjectProperties(Dictionary <string, string> properties, ITemplateOptions options)
        {
            properties.Add(TemplateOptions.Native.HasAndroidUITestProject, options.HasAndroidUiTestProject.ToStringLowerCase());
            properties.Add(TemplateOptions.Native.HasIosUITestProject, options.HasIosUiTestProject.ToStringLowerCase());
            properties.Add(TemplateOptions.Native.UseAndroidXmlLayouts, options.HasAndroidXml.ToStringLowerCase());
            properties.Add(TemplateOptions.Native.HasFluentLayouts, options.HasIosFluentLayout.ToStringLowerCase());

            return(properties);
        }