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; }
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); }
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); }