This commit is contained in:
		
							parent
							
								
									3e6d6dc96e
								
							
						
					
					
						commit
						0587e0fa5f
					
				| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
{
 | 
			
		||||
  "version": 1,
 | 
			
		||||
  "isRoot": true,
 | 
			
		||||
  "tools": {}
 | 
			
		||||
}
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -2,45 +2,21 @@
 | 
			
		|||
  "Version": 1,
 | 
			
		||||
  "WorkspaceRootPath": "C:\\Repos\\SummerBestWebForm2\\",
 | 
			
		||||
  "Documents": [
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\layout\\mainlayout.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\layout\\mainlayout.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\app.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\app.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\_imports.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\_imports.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\sessionstate\\sessionmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:sessionstate\\sessionmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\sessionstate\\sessionidmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:sessionstate\\sessionidmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\classobj\\mdlsessioninfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:classobj\\mdlsessioninfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\sessionstate\\mdlsession.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:sessionstate\\mdlsession.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\appstate\\mdlappstate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:appstate\\mdlappstate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\appstate\\cascadingappstate.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:appstate\\cascadingappstate.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\appstate\\iappstate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:appstate\\iappstate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "DocumentGroupContainers": [
 | 
			
		||||
| 
						 | 
				
			
			@ -99,131 +75,53 @@
 | 
			
		|||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 0,
 | 
			
		||||
              "Title": "App.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\App.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\App.razor",
 | 
			
		||||
              "ViewState": "AgIAACQAAAAAAAAAAAAYwFwAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Title": "MainLayout.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T09:23:12.142Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 9,
 | 
			
		||||
              "Title": "Program.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Program.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "Program.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Program.cs",
 | 
			
		||||
              "RelativeToolTip": "Program.cs",
 | 
			
		||||
              "ViewState": "AgIAABMAAAAAAAAAAAAAACsAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:01:38.124Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 8,
 | 
			
		||||
              "Title": "IAppState.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\AppState\\IAppState.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "AppState\\IAppState.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\AppState\\IAppState.cs",
 | 
			
		||||
              "RelativeToolTip": "AppState\\IAppState.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:03:35.861Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 7,
 | 
			
		||||
              "Title": "CascadingAppState.razor.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\AppState\\CascadingAppState.razor.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "AppState\\CascadingAppState.razor.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\AppState\\CascadingAppState.razor.cs",
 | 
			
		||||
              "RelativeToolTip": "AppState\\CascadingAppState.razor.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAA6AAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:03:51.372Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 6,
 | 
			
		||||
              "Title": "MdlAppState.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\AppState\\MdlAppState.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "AppState\\MdlAppState.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\AppState\\MdlAppState.cs",
 | 
			
		||||
              "RelativeToolTip": "AppState\\MdlAppState.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:04:02.184Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 5,
 | 
			
		||||
              "Title": "MdlSession.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\SessionState\\MdlSession.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "SessionState\\MdlSession.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\SessionState\\MdlSession.cs",
 | 
			
		||||
              "RelativeToolTip": "SessionState\\MdlSession.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:04:06.197Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 4,
 | 
			
		||||
              "Title": "MdlSessionInfo.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\ClassObj\\MdlSessionInfo.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "ClassObj\\MdlSessionInfo.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\ClassObj\\MdlSessionInfo.cs",
 | 
			
		||||
              "RelativeToolTip": "ClassObj\\MdlSessionInfo.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:04:10.974Z",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:14:54.677Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 3,
 | 
			
		||||
              "Title": "SessionIdManager.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\SessionState\\SessionIdManager.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "SessionState\\SessionIdManager.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\SessionState\\SessionIdManager.cs",
 | 
			
		||||
              "RelativeToolTip": "SessionState\\SessionIdManager.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:04:14.473Z",
 | 
			
		||||
              "Title": "Home.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Pages\\Home.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\Pages\\Home.razor",
 | 
			
		||||
              "ViewState": "AgIAAC0BAAAAAAAAAAAYwGUBAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:15:55.044Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 2,
 | 
			
		||||
              "Title": "SessionManager.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\SessionState\\SessionManager.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "SessionState\\SessionManager.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\SessionState\\SessionManager.cs",
 | 
			
		||||
              "RelativeToolTip": "SessionState\\SessionManager.cs",
 | 
			
		||||
              "ViewState": "AgIAAAIAAAAAAAAAAAAAAAIAAAAcAAAAAAAAAA==",
 | 
			
		||||
              "Title": "Home.razor.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "RelativeToolTip": "Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAADAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:04:17.539Z",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:21:50.509Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 1,
 | 
			
		||||
              "Title": "_Imports.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\_Imports.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\_Imports.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\_Imports.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\_Imports.razor",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAiAAAAAAAAAA==",
 | 
			
		||||
              "Title": "App.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\App.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\App.razor",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:07:58.031Z",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:39:44.867Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,24 @@
 | 
			
		|||
{
 | 
			
		||||
  "Version": 1,
 | 
			
		||||
  "WorkspaceRootPath": "C:\\Repos\\SummerBestWebForm2\\",
 | 
			
		||||
  "Documents": [],
 | 
			
		||||
  "Documents": [
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\layout\\mainlayout.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\layout\\mainlayout.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\app.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\app.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "AbsoluteMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|c:\\repos\\summerbestwebform2\\components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}",
 | 
			
		||||
      "RelativeMoniker": "D:0:0:{10E16044-8880-42A4-866B-B0461C450A71}|SummerBestWebForm2.csproj|solutionrelative:components\\pages\\home.razor||{40D31677-CBC0-4297-A9EF-89D907823A98}"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "DocumentGroupContainers": [
 | 
			
		||||
    {
 | 
			
		||||
      "Orientation": 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -9,7 +26,7 @@
 | 
			
		|||
      "DocumentGroups": [
 | 
			
		||||
        {
 | 
			
		||||
          "DockedWidth": 200,
 | 
			
		||||
          "SelectedChildIndex": -1,
 | 
			
		||||
          "SelectedChildIndex": 11,
 | 
			
		||||
          "Children": [
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Bookmark",
 | 
			
		||||
| 
						 | 
				
			
			@ -54,6 +71,58 @@
 | 
			
		|||
            {
 | 
			
		||||
              "$type": "Bookmark",
 | 
			
		||||
              "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 0,
 | 
			
		||||
              "Title": "MainLayout.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\Layout\\MainLayout.razor",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:14:54.677Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 3,
 | 
			
		||||
              "Title": "Home.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Pages\\Home.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\Pages\\Home.razor",
 | 
			
		||||
              "ViewState": "AgIAAC0BAAAAAAAAAAAYwGUBAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:15:55.044Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 2,
 | 
			
		||||
              "Title": "Home.razor.cs",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "RelativeToolTip": "Components\\Pages\\Home.razor.cs",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAADAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:21:50.509Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Document",
 | 
			
		||||
              "DocumentIndex": 1,
 | 
			
		||||
              "Title": "App.razor",
 | 
			
		||||
              "DocumentMoniker": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeDocumentMoniker": "Components\\App.razor",
 | 
			
		||||
              "ToolTip": "C:\\Repos\\SummerBestWebForm2\\Components\\App.razor",
 | 
			
		||||
              "RelativeToolTip": "Components\\App.razor",
 | 
			
		||||
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
 | 
			
		||||
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000759|",
 | 
			
		||||
              "WhenOpened": "2025-05-15T10:39:44.867Z",
 | 
			
		||||
              "EditorCaption": ""
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ public partial class CascadingAppState : ComponentBase, IAppState
 | 
			
		|||
    string remoteIpAddr=string.Empty;
 | 
			
		||||
    try
 | 
			
		||||
    {
 | 
			
		||||
      remoteIpAddr = httpContextAccessor.HttpContext.Connection.RemoteIpAddress?.ToString() ?? "";
 | 
			
		||||
      remoteIpAddr = httpContextAccessor.HttpContext?.Connection.RemoteIpAddress?.ToString() ?? "";
 | 
			
		||||
      var data = await localStorage.GetAsync<string>(StorageKey);
 | 
			
		||||
      var state = JsonSerializer.Deserialize<MdlAppState>(data.Value);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,357 @@
 | 
			
		|||
@page "/"
 | 
			
		||||
@using System.ComponentModel.DataAnnotations
 | 
			
		||||
@using kmCommonLibsCore;
 | 
			
		||||
 | 
			
		||||
<PageTitle>Home</PageTitle>
 | 
			
		||||
<PageTitle>Welcome</PageTitle>
 | 
			
		||||
 | 
			
		||||
<h1>Hello, world!</h1>
 | 
			
		||||
@if (ShowWizard)
 | 
			
		||||
{
 | 
			
		||||
  <TelerikWizard @bind-Value="@Value" OnFinish="@OnFinishHandler" Width="1440px" Height="900px" Class="sbWizard">
 | 
			
		||||
    <WizardSteps>
 | 
			
		||||
      @*                                   *@
 | 
			
		||||
      @* Step 1 - plastic card vs postcard *@
 | 
			
		||||
      @*                                   *@
 | 
			
		||||
      <WizardStep Label="Card Type" Icon="@SvgIcon.EnvelopeBox" OnChange="@OnCardChoiceStepChange" Valid="@IsCardChoiceValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@cardType" @ref="@cardTypeForm">
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              <h1 style="text-align:center">Choose a Card Type</h1>
 | 
			
		||||
              @* Logic behind the buttons *@
 | 
			
		||||
              <div style="text-align:center">
 | 
			
		||||
                <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@isPlasticCard">Plastic Card</ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@isPostcard">Postcard</ButtonGroupToggleButton>
 | 
			
		||||
                </TelerikButtonGroup>
 | 
			
		||||
              </div>
 | 
			
		||||
              <br />
 | 
			
		||||
 | 
			
		||||
Welcome to your new app.
 | 
			
		||||
              @* Preview information about the selected card type*@
 | 
			
		||||
 | 
			
		||||
              @if (isPlasticCard)
 | 
			
		||||
              {
 | 
			
		||||
                <h3>Focused on Expanding Your Customer Base ($1.02/card)</h3>
 | 
			
		||||
              }
 | 
			
		||||
              else
 | 
			
		||||
              {
 | 
			
		||||
                <h3>Focused on Thanking and Rewarding Your Best Customers ($0.79/card)</h3>
 | 
			
		||||
              }
 | 
			
		||||
 | 
			
		||||
              @if (isPlasticCard)
 | 
			
		||||
              {
 | 
			
		||||
                <img src="img/Plastic1_Back.png" />
 | 
			
		||||
              }
 | 
			
		||||
              else
 | 
			
		||||
              {
 | 
			
		||||
                <img src="img/Postcard1_Front.png" />
 | 
			
		||||
              }
 | 
			
		||||
            </FormItems>
 | 
			
		||||
            <FormButtons>
 | 
			
		||||
              @* Need this here to avoid addition of random submit button *@
 | 
			
		||||
            </FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                                *@
 | 
			
		||||
      @* Step 2 - selecting card design *@
 | 
			
		||||
      @*                                *@
 | 
			
		||||
      <WizardStep Label="Card Design" Icon="@SvgIcon.MapMarkerTarget" OnChange="@OnDesignStepChange" Valid="@IsDesignChoiceValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@custOptions"
 | 
			
		||||
                       @ref="@customizationForm">
 | 
			
		||||
            <FormValidation>
 | 
			
		||||
              <DataAnnotationsValidator></DataAnnotationsValidator>
 | 
			
		||||
            </FormValidation>
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              <h1 style="text-align:center">Choose a Design</h1>
 | 
			
		||||
 | 
			
		||||
              @* Button logic *@
 | 
			
		||||
              <div style="text-align:center">
 | 
			
		||||
                <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
 | 
			
		||||
                  @if (isPlasticCard)
 | 
			
		||||
                  {
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designOne">Plastic Card 1</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designTwo">Plastic Card 2</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designThree">Plastic Card 3</ButtonGroupToggleButton>
 | 
			
		||||
                  }
 | 
			
		||||
                  else
 | 
			
		||||
                  {
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designOne">Postcard 1</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designTwo">Postcard 2</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@designThree">Postcard 3</ButtonGroupToggleButton>
 | 
			
		||||
                  }
 | 
			
		||||
                </TelerikButtonGroup>
 | 
			
		||||
                <br /><br />
 | 
			
		||||
                @* Card preview logic *@
 | 
			
		||||
                @if (designOne)
 | 
			
		||||
                {
 | 
			
		||||
                  @if (isPostcard)
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Postcard1_Front.png" />
 | 
			
		||||
                    <img src="img/Postcard1_Back.png" />
 | 
			
		||||
                  }
 | 
			
		||||
                  else
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Plastic1_Front.png" />
 | 
			
		||||
                    <img src="img/Plastic1_Back.png" />
 | 
			
		||||
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
                else if (designTwo)
 | 
			
		||||
                {
 | 
			
		||||
                  @if (isPostcard)
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Postcard2_Front.png" />
 | 
			
		||||
                    <img src="img/Postcard2_Back.png" />
 | 
			
		||||
                  }
 | 
			
		||||
                  else
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Plastic2_Front.png" />
 | 
			
		||||
                    <img src="img/Plastic2_Back.png" />
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
                else if (designThree)
 | 
			
		||||
                {
 | 
			
		||||
                  @if (isPostcard)
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Postcard3_Front.png" />
 | 
			
		||||
                    <img src="img/Postcard3_Back.png" />
 | 
			
		||||
                  }
 | 
			
		||||
                  else
 | 
			
		||||
                  {
 | 
			
		||||
                    <img src="img/Plastic3_Front.png" />
 | 
			
		||||
                    <img src="img/Plastic3_Back.png" />
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              </div>
 | 
			
		||||
            </FormItems>
 | 
			
		||||
            <FormButtons>
 | 
			
		||||
 | 
			
		||||
            </FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                                                        *@
 | 
			
		||||
      @* Step 3 - For postcards, choose a verse and a signature *@
 | 
			
		||||
      @*                                                        *@            
 | 
			
		||||
                <WizardStep Label="Customization" OnChange="@OnMessagingStepChange" Valid="@isMessagingValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@messagingOptions"
 | 
			
		||||
                       @ref="@messagingForm">
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              @if (isPlasticCard)
 | 
			
		||||
              {
 | 
			
		||||
                <h1>No customization needed. Please proceed to logo selection.</h1>
 | 
			
		||||
              }
 | 
			
		||||
              else
 | 
			
		||||
              {
 | 
			
		||||
                <h1>Select a Verse</h1>
 | 
			
		||||
                @if (!isPlasticCard)
 | 
			
		||||
                {
 | 
			
		||||
                  <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@verseOne">Option 1</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@verseTwo">Option 2</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@verseThree">Option 3</ButtonGroupToggleButton>
 | 
			
		||||
                  </TelerikButtonGroup>
 | 
			
		||||
                  <br />
 | 
			
		||||
                  <br />
 | 
			
		||||
 | 
			
		||||
                  @if (verseOne)
 | 
			
		||||
                  {
 | 
			
		||||
                    <a>Thank you for making our success possible. We appreciate loyal customers like you and look forward to continuing to be your complete auto repair, service and tire center</a>
 | 
			
		||||
                  }
 | 
			
		||||
                  else if (verseTwo)
 | 
			
		||||
                  {
 | 
			
		||||
                    <a>We appreciate the trust you have shown in us and look forward to working with you in the future.</a>
 | 
			
		||||
                  }
 | 
			
		||||
                  else if (verseThree)
 | 
			
		||||
                  {
 | 
			
		||||
                    <a>We want you to know that we truly appreciate your business and will make every effort possible to continue to provide you with excellent car care.</a>
 | 
			
		||||
                  }
 | 
			
		||||
                  <br />
 | 
			
		||||
                  <br />
 | 
			
		||||
                  <hr />
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                  <h1>Select a Signature</h1>
 | 
			
		||||
                  <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single">
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@sigOne">From Your Friends</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@sigTwo">Name, Title, Phone Number</ButtonGroupToggleButton>
 | 
			
		||||
                    <ButtonGroupToggleButton @bind-Selected="@sigThree">Custom</ButtonGroupToggleButton>
 | 
			
		||||
                  </TelerikButtonGroup>
 | 
			
		||||
                  <br />
 | 
			
		||||
                  <br />
 | 
			
		||||
                  @if (sigOne)
 | 
			
		||||
                  {
 | 
			
		||||
                    <a>From your friends at <strong>{Location Name} {Location Phone Number}</strong></a>
 | 
			
		||||
                  }
 | 
			
		||||
                  else if (sigTwo)
 | 
			
		||||
                  {
 | 
			
		||||
                    <FormItem LabelText="Custom Signature">
 | 
			
		||||
                      <Template>
 | 
			
		||||
                        <label style="text-align:center; display:block" for="CustomName" class="k-label k-form-label">Name:        <TelerikTextBox Id="CustomName" @bind-Value="@customName" MaxLength="30" Width="250px"></TelerikTextBox></label>
 | 
			
		||||
                        <label style="text-align:center; display:block" for="CustomTitle" class="k-label k-form-label">Title:   <TelerikTextBox Id="CustomTitle" @bind-Value="@customTitle" MaxLength="30" Width="250px"></TelerikTextBox></label>
 | 
			
		||||
                        <label style="text-align:center; display:block" for="CustomPhone" class="k-label k-form-label">Phone:   <TelerikTextBox Id="CustomPhone" @bind-Value="@customPhone" MaxLength="12" Width="200px"></TelerikTextBox></label>
 | 
			
		||||
                      </Template>
 | 
			
		||||
                    </FormItem>
 | 
			
		||||
                  }
 | 
			
		||||
                  else if (sigThree)
 | 
			
		||||
                  {
 | 
			
		||||
                    <FormItem LabelText="Custom Signature">
 | 
			
		||||
                      <Template>
 | 
			
		||||
                        <label for="CustomSignature" style="text-align: center">Custom Message (max 30 character/line up to 4 lines)</label><br />
 | 
			
		||||
                        <TelerikTextArea Id="CustomSignature" @bind-Value="@customSignature" Rows="4" Cols="35" MaxLength="120"></TelerikTextArea>
 | 
			
		||||
                      </Template>
 | 
			
		||||
                    </FormItem>
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            </FormItems>
 | 
			
		||||
            <FormButtons>
 | 
			
		||||
 | 
			
		||||
            </FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                         *@
 | 
			
		||||
      @* Step 4 - Logo Selection *@
 | 
			
		||||
      @*                         *@
 | 
			
		||||
      <WizardStep Label="Logos" OnChange="@OnLogoStepChange" Valid="@isLogoValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@logoOptions"
 | 
			
		||||
                       @ref="@logoForm">
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              <TelerikCheckBox Id="goodyearBox" @bind-Value="@goodyear" />
 | 
			
		||||
              <label for="goodyearBox">Goodyear Logo</label>
 | 
			
		||||
              <TelerikCheckBox Id="michelinBox" @bind-Value="@michelin" />
 | 
			
		||||
              <label for="michelinBox">Michelin Logo</label>
 | 
			
		||||
              <TelerikCheckBox Id="customBox" @bind-Value="@custom" />
 | 
			
		||||
              <label for="customBox">Custom Logo</label>
 | 
			
		||||
              <br /><br /><br />
 | 
			
		||||
              @if (goodyear)
 | 
			
		||||
              {
 | 
			
		||||
                <img src="img/goodyear.png" />
 | 
			
		||||
              }
 | 
			
		||||
              @if (michelin)
 | 
			
		||||
              {
 | 
			
		||||
                <img src="img/michelin.png" />
 | 
			
		||||
              }
 | 
			
		||||
            </FormItems>
 | 
			
		||||
            <FormButtons>
 | 
			
		||||
            </FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                                            *@
 | 
			
		||||
      @* Step 5 - Offer selection for Plastic cards *@
 | 
			
		||||
      @*                                            *@
 | 
			
		||||
      <WizardStep Label="Offers" OnChange="@OnOfferStepChange" Valid="@isOfferSelectionValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@offerOptions"
 | 
			
		||||
                       @ref="@offerForm">
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              @if (isPlasticCard)
 | 
			
		||||
              {
 | 
			
		||||
                <h1>Please select two (2) full size offers:</h1>
 | 
			
		||||
                <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[0]"><img src="img/A1.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[1]"><img src="img/A2.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[2]"><img src="img/A3.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[3]"><img src="img/A4.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[4]"><img src="img/A5.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@bigOffers[5]"><img src="img/A6.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                </TelerikButtonGroup>
 | 
			
		||||
 | 
			
		||||
                <br />
 | 
			
		||||
                <br />
 | 
			
		||||
                <hr />
 | 
			
		||||
                <h1>And four (4) half-sized offers:</h1>
 | 
			
		||||
                <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[0]"><img src="img/B1.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[1]"><img src="img/B2.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[2]"><img src="img/B3.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[3]"><img src="img/B4.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[4]"><img src="img/B5.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[5]"><img src="img/B6.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                </TelerikButtonGroup>
 | 
			
		||||
                <br />
 | 
			
		||||
                <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Multiple">
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[6]"><img src="img/B7.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[7]"><img src="img/B8.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[8]"><img src="img/B9.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[9]"><img src="img/B10.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[10]"><img src="img/B11.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                  <ButtonGroupToggleButton @bind-Selected="@smallOffers[11]"><img src="img/B12.png" /></ButtonGroupToggleButton>
 | 
			
		||||
                </TelerikButtonGroup>
 | 
			
		||||
              }
 | 
			
		||||
              else
 | 
			
		||||
              {
 | 
			
		||||
                <h1>No offers needed. Please proceed to location information.</h1>
 | 
			
		||||
              }
 | 
			
		||||
            </FormItems>
 | 
			
		||||
 | 
			
		||||
            <FormButtons>
 | 
			
		||||
 | 
			
		||||
            </FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                                          *@
 | 
			
		||||
      @* Step 6 - Location information *@
 | 
			
		||||
      @*                                          *@
 | 
			
		||||
      <WizardStep Label="Location Info" OnChange="@OnLocationStepChange" Valid="@isLocationInfoValid">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@locationInfo"
 | 
			
		||||
                       @ref="@locationForm" Columns="2" ColumnSpacing="25px">
 | 
			
		||||
            <FormButtons></FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      @*                         *@
 | 
			
		||||
      @* Step 7 - Payment        *@
 | 
			
		||||
      @*                         *@
 | 
			
		||||
      <WizardStep Label="Payment Info">
 | 
			
		||||
        <Content>
 | 
			
		||||
          <TelerikForm Model="@paymentInfo"
 | 
			
		||||
                       @ref="@paymentForm">
 | 
			
		||||
            <FormItems>
 | 
			
		||||
              <TelerikButtonGroup SelectionMode="@ButtonGroupSelectionMode.Single" Class="vertical-buttons block-buttons">
 | 
			
		||||
                <ButtonGroupToggleButton @bind-Selected="@ccOnFile">Credit Card On File</ButtonGroupToggleButton>
 | 
			
		||||
                <ButtonGroupToggleButton @bind-Selected="@callWithInfo">Call With Payment Info</ButtonGroupToggleButton>
 | 
			
		||||
                <ButtonGroupToggleButton @bind-Selected="@check">Check (due by 5/31/25)</ButtonGroupToggleButton>
 | 
			
		||||
              </TelerikButtonGroup>
 | 
			
		||||
              <br /><br />
 | 
			
		||||
              <FormItem LabelText="Additional Info">
 | 
			
		||||
                <Template>
 | 
			
		||||
                  <label for="RequestedQuantity" style="text-align: center">Requested Quantity</label>
 | 
			
		||||
                  <TelerikTextBox Id="RequestedQuantity" @bind-Value="@requestedQuantity" MaxLength="6" Width="150px"></TelerikTextBox>
 | 
			
		||||
                  <label for="AdditionalComments" style="text-align: center">Additional Comments</label>
 | 
			
		||||
                  <TelerikTextBox Id="AdditionalComments" @bind-Value="@additionalComments" MaxLength="120" Width="450px"></TelerikTextBox>
 | 
			
		||||
                </Template>
 | 
			
		||||
              </FormItem>
 | 
			
		||||
            </FormItems>
 | 
			
		||||
            <FormButtons></FormButtons>
 | 
			
		||||
          </TelerikForm>
 | 
			
		||||
        </Content>
 | 
			
		||||
      </WizardStep>
 | 
			
		||||
    </WizardSteps>
 | 
			
		||||
  </TelerikWizard>
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,435 @@
 | 
			
		|||
using kmCommonLibsCore;
 | 
			
		||||
using Microsoft.AspNetCore.Components;
 | 
			
		||||
using System.ComponentModel.DataAnnotations;
 | 
			
		||||
using Telerik.Blazor.Components;
 | 
			
		||||
using Telerik.Blazor;
 | 
			
		||||
using Telerik.SvgIcons;
 | 
			
		||||
 | 
			
		||||
namespace SummerBestWebForm2.Components.Pages;
 | 
			
		||||
 | 
			
		||||
public partial class Home
 | 
			
		||||
{
 | 
			
		||||
  async Task OnFinishHandler()
 | 
			
		||||
  {
 | 
			
		||||
    using (var em = new kmCommonLibsCore.Emails())
 | 
			
		||||
    {
 | 
			
		||||
      // Parsing the submitted form to pull the relevant information
 | 
			
		||||
      string cardType = isPostcard ? "Postcard" : "Plastic Card";
 | 
			
		||||
      string cardDesign = string.Empty;
 | 
			
		||||
      if (designOne)
 | 
			
		||||
        cardDesign = "A";
 | 
			
		||||
      else if (designTwo)
 | 
			
		||||
        cardDesign = "B";
 | 
			
		||||
      else if (designThree)
 | 
			
		||||
        cardDesign = "C";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      // Postcard or Plastic specific options
 | 
			
		||||
      string customizationInfo = string.Empty;
 | 
			
		||||
      if (isPostcard)
 | 
			
		||||
      {
 | 
			
		||||
        string verseChoice = string.Empty;
 | 
			
		||||
        string sigChoice = string.Empty;
 | 
			
		||||
 | 
			
		||||
        if (verseOne)
 | 
			
		||||
          verseChoice = "1";
 | 
			
		||||
        else if (verseTwo)
 | 
			
		||||
          verseChoice = "2";
 | 
			
		||||
        else if (verseThree)
 | 
			
		||||
          verseChoice = "3";
 | 
			
		||||
 | 
			
		||||
        if (sigOne)
 | 
			
		||||
          sigChoice = string.Format("Option D - From Your Friends At:<br />{0}<br />{1}", locationInfo.LocationName, locationInfo.PhoneNumber);
 | 
			
		||||
        else if (sigTwo)
 | 
			
		||||
          sigChoice = string.Format("Option E - Name: {0}<br />Title: {1}<br />Phone: {2}", customName, customTitle, customPhone);
 | 
			
		||||
        else if (sigThree)
 | 
			
		||||
          sigChoice = string.Format("Option F - {0}", customSignature);
 | 
			
		||||
 | 
			
		||||
        // combine these into customizationInfo
 | 
			
		||||
        customizationInfo = string.Format("Verse: {0}<br />Signature: {1}", verseChoice, sigChoice);
 | 
			
		||||
      }
 | 
			
		||||
      else // isPlasticCard
 | 
			
		||||
      {
 | 
			
		||||
        string smallOfferString = string.Empty;
 | 
			
		||||
        string bigOfferString = string.Empty;
 | 
			
		||||
 | 
			
		||||
        int[] smallIndexes = new int[4];
 | 
			
		||||
        int[] bigIndexes = new int[2];
 | 
			
		||||
 | 
			
		||||
        int smallCount = 0;
 | 
			
		||||
        for (int index = 0; index < smallOffers.Length; index++)
 | 
			
		||||
        {
 | 
			
		||||
          if (smallOffers[index])
 | 
			
		||||
          {
 | 
			
		||||
            smallIndexes[smallCount] = index;
 | 
			
		||||
            smallCount++;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        int bigCount = 0;
 | 
			
		||||
        for (int index = 0; index < bigOffers.Length; index++)
 | 
			
		||||
        {
 | 
			
		||||
          if (bigOffers[index])
 | 
			
		||||
          {
 | 
			
		||||
            bigIndexes[bigCount] = index;
 | 
			
		||||
            bigCount++;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        foreach (int index in smallIndexes)
 | 
			
		||||
        {
 | 
			
		||||
          switch (index)
 | 
			
		||||
          {
 | 
			
		||||
            case 0:
 | 
			
		||||
              smallOfferString = smallOfferString + "B1 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 1:
 | 
			
		||||
              smallOfferString = smallOfferString + "B2 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 2:
 | 
			
		||||
              smallOfferString = smallOfferString + "B3 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 3:
 | 
			
		||||
              smallOfferString = smallOfferString + "B4 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 4:
 | 
			
		||||
              smallOfferString = smallOfferString + "B5 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 5:
 | 
			
		||||
              smallOfferString = smallOfferString + "B6 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 6:
 | 
			
		||||
              smallOfferString = smallOfferString + "B7 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 7:
 | 
			
		||||
              smallOfferString = smallOfferString + "B8 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 8:
 | 
			
		||||
              smallOfferString = smallOfferString + "B9 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 9:
 | 
			
		||||
              smallOfferString = smallOfferString + "B10 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 10:
 | 
			
		||||
              smallOfferString = smallOfferString + "B11 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 11:
 | 
			
		||||
              smallOfferString = smallOfferString + "B12 ";
 | 
			
		||||
              break;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        foreach (int index in bigIndexes)
 | 
			
		||||
        {
 | 
			
		||||
          switch (index)
 | 
			
		||||
          {
 | 
			
		||||
            case 0:
 | 
			
		||||
              bigOfferString = bigOfferString + "A1 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 1:
 | 
			
		||||
              bigOfferString = bigOfferString + "A2 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 2:
 | 
			
		||||
              bigOfferString = bigOfferString + "A3 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 3:
 | 
			
		||||
              bigOfferString = bigOfferString + "A4 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 4:
 | 
			
		||||
              bigOfferString = bigOfferString + "A5 ";
 | 
			
		||||
              break;
 | 
			
		||||
            case 5:
 | 
			
		||||
              bigOfferString = bigOfferString + "A6 ";
 | 
			
		||||
              break;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        customizationInfo = string.Format("Offers: {0} - {1}", bigOfferString, smallOfferString);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      // Logo info
 | 
			
		||||
      string logos = string.Empty;
 | 
			
		||||
      if (!goodyear && !michelin && !custom)
 | 
			
		||||
        logos = "NA";
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        if (goodyear)
 | 
			
		||||
        {
 | 
			
		||||
          logos += "Goodyear";
 | 
			
		||||
          if (michelin)
 | 
			
		||||
            logos += ", Michelin";
 | 
			
		||||
          if (custom)
 | 
			
		||||
            logos += ", Custom";
 | 
			
		||||
        }
 | 
			
		||||
        else if (michelin)
 | 
			
		||||
        {
 | 
			
		||||
          logos += "Michelin";
 | 
			
		||||
          if (custom)
 | 
			
		||||
            logos += ", Custom";
 | 
			
		||||
        }
 | 
			
		||||
        else if (custom)
 | 
			
		||||
          logos += "Custom";
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Payment info
 | 
			
		||||
      string paymentMethod = string.Empty;
 | 
			
		||||
      if (ccOnFile)
 | 
			
		||||
        paymentMethod = "Credit Card on File";
 | 
			
		||||
      else if (callWithInfo)
 | 
			
		||||
        paymentMethod = "Call With Payment Info";
 | 
			
		||||
      else if (check)
 | 
			
		||||
        paymentMethod = "Check";
 | 
			
		||||
 | 
			
		||||
      // Formulating the email to send
 | 
			
		||||
      em.Subject = "SBC Order Form Submission";
 | 
			
		||||
      em.AddAddress(enuAddressType.From, "support@keymotive.us", "Summer Growth Enrollment");
 | 
			
		||||
      em.AddAddress(enuAddressType.To, "support@keymotive.us", "KeyMotive Support");
 | 
			
		||||
 | 
			
		||||
      string locInfoString = string.Format("<pre>Location Name: {0}<br />Manager: {1}<br />Address: {2}<br />City: {3}<br />State: {4}<br />Zip: {5}<br /><br />Phone Number: {6}<br />Contact Name: {7}<br />Contact Phone: {8}<br />Contact Email: {9}<br />",
 | 
			
		||||
          locationInfo.LocationName, locationInfo.Manager, locationInfo.Address, locationInfo.City, locationInfo.State,
 | 
			
		||||
          locationInfo.Zip, locationInfo.PhoneNumber, locationInfo.ContactName,
 | 
			
		||||
          locationInfo.ContactPhone, locationInfo.ContactEmail);
 | 
			
		||||
 | 
			
		||||
      string cardInfoString = string.Format("Card type: {0}, Design {1}<br /><br />Customization Options:<br />{2}<br />Logos: {3}<br />",
 | 
			
		||||
                                          cardType, cardDesign, customizationInfo, logos);
 | 
			
		||||
 | 
			
		||||
      string paymentString = string.Format("Payment Method: {0}<br /><br />Requested Quantity: {1}<br />Additional Comments: {2}", paymentMethod, requestedQuantity, additionalComments);
 | 
			
		||||
      em.HtmlBody = "<b>You have a new enrollment:</b><br />" + locInfoString + cardInfoString + paymentString + "</pre>";
 | 
			
		||||
 | 
			
		||||
      try
 | 
			
		||||
      {
 | 
			
		||||
        em.Send();
 | 
			
		||||
        await Console.Out.WriteLineAsync("Done sending");
 | 
			
		||||
      }
 | 
			
		||||
      catch (Exception e)
 | 
			
		||||
      {
 | 
			
		||||
        await Console.Out.WriteLineAsync("ERROR: " + e.Message);
 | 
			
		||||
      }
 | 
			
		||||
      ShowWizard = false;
 | 
			
		||||
      await Dialog.AlertAsync("The Registration was submitted successfully", "Done");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public bool? IsCardChoiceValid { get; set; }
 | 
			
		||||
 | 
			
		||||
  public bool? IsDesignChoiceValid { get; set; }
 | 
			
		||||
 | 
			
		||||
  [CascadingParameter]
 | 
			
		||||
  public DialogFactory Dialog { get; set; }
 | 
			
		||||
 | 
			
		||||
  public bool ShowWizard { get; set; } = true;
 | 
			
		||||
 | 
			
		||||
  public int Value { get; set; }
 | 
			
		||||
 | 
			
		||||
  public TelerikForm RegisterForm { get; set; }
 | 
			
		||||
  public User UserModel { get; set; } = new User();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // Variables for selecting between plastic and post
 | 
			
		||||
  public TelerikForm cardTypeForm { get; set; } = new();
 | 
			
		||||
  public CardType cardType { get; set; } = new CardType();
 | 
			
		||||
  public bool isPlasticCard = true;
 | 
			
		||||
  public bool isPostcard = false;
 | 
			
		||||
 | 
			
		||||
  // Variables for selecting specific design
 | 
			
		||||
  public TelerikForm customizationForm { get; set; } = new();
 | 
			
		||||
  public CustomizationOptions custOptions { get; set; } = new CustomizationOptions();
 | 
			
		||||
  public bool designOne = true;
 | 
			
		||||
  public bool designTwo = false;
 | 
			
		||||
  public bool designThree = false;
 | 
			
		||||
 | 
			
		||||
  // Variables for selecting messaging (postcards only)
 | 
			
		||||
  public TelerikForm messagingForm { get; set; } = new();
 | 
			
		||||
  public MessagingOptions messagingOptions { get; set; } = new MessagingOptions();
 | 
			
		||||
  public bool verseOne = true;
 | 
			
		||||
  public bool verseTwo = false;
 | 
			
		||||
  public bool verseThree = false;
 | 
			
		||||
  public bool sigOne = true;
 | 
			
		||||
  public bool sigTwo = false;
 | 
			
		||||
  public bool sigThree = false;
 | 
			
		||||
  public string customName = string.Empty; // For sig two
 | 
			
		||||
  public string customTitle = string.Empty;
 | 
			
		||||
  public string customPhone = string.Empty;
 | 
			
		||||
  public string customSignature = string.Empty; // For sig three
 | 
			
		||||
  public bool isMessagingValid = false;
 | 
			
		||||
 | 
			
		||||
  // Variables for logo selection
 | 
			
		||||
  public TelerikForm logoForm { get; set; } = new();
 | 
			
		||||
  public LogoOptions logoOptions { get; set; } = new LogoOptions();
 | 
			
		||||
  public bool goodyear = false;
 | 
			
		||||
  public bool michelin = false;
 | 
			
		||||
  public bool custom = false;
 | 
			
		||||
  public bool isLogoValid = false;
 | 
			
		||||
 | 
			
		||||
  // Variables for offer selection (plastic cards only)
 | 
			
		||||
  public TelerikForm offerForm { get; set; } = new();
 | 
			
		||||
  public OfferOptions offerOptions { get; set; } = new OfferOptions();
 | 
			
		||||
  public bool[] bigOffers = new bool[6];
 | 
			
		||||
  public bool[] smallOffers = new bool[12];
 | 
			
		||||
  public bool isOfferSelectionValid = false;
 | 
			
		||||
 | 
			
		||||
  // Location information
 | 
			
		||||
  public TelerikForm locationForm { get; set; } = new();
 | 
			
		||||
  public LocationInfo locationInfo { get; set; } = new LocationInfo();
 | 
			
		||||
  public string locationName { get; set; } = string.Empty;
 | 
			
		||||
  public string manager { get; set; } = string.Empty;
 | 
			
		||||
  public string address { get; set; } = string.Empty;
 | 
			
		||||
  public string city { get; set; } = string.Empty;
 | 
			
		||||
  public string state { get; set; } = string.Empty;
 | 
			
		||||
  public string zip { get; set; } = string.Empty;
 | 
			
		||||
  public string phoneNumber { get; set; } = string.Empty;
 | 
			
		||||
  public string contactName { get; set; } = string.Empty;
 | 
			
		||||
  public string contactPhone { get; set; } = string.Empty;
 | 
			
		||||
  public string contactEmail { get; set; } = string.Empty;
 | 
			
		||||
  public bool isLocationInfoValid { get; set; } = false;
 | 
			
		||||
 | 
			
		||||
  // Payment information
 | 
			
		||||
  public TelerikForm paymentForm { get; set; } = new();
 | 
			
		||||
  public PaymentInfo paymentInfo { get; set; } = new PaymentInfo();
 | 
			
		||||
  public string requestedQuantity = string.Empty;
 | 
			
		||||
  public string additionalComments = string.Empty;
 | 
			
		||||
  public bool ccOnFile = true;
 | 
			
		||||
  public bool callWithInfo = false;
 | 
			
		||||
  public bool check = false;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  public void ToggleCardType()
 | 
			
		||||
  {
 | 
			
		||||
    isPlasticCard = !isPlasticCard;
 | 
			
		||||
    isPostcard = !isPostcard;
 | 
			
		||||
  }
 | 
			
		||||
  public void OnCardChoiceStepChange(WizardStepChangeEventArgs args)
 | 
			
		||||
  {
 | 
			
		||||
    IsCardChoiceValid = true; // This is forced to be true but required nonetheless
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public void OnDesignStepChange(WizardStepChangeEventArgs args)
 | 
			
		||||
  {
 | 
			
		||||
    IsDesignChoiceValid = true; // Same as card choice
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public void OnMessagingStepChange(WizardStepChangeEventArgs args)
 | 
			
		||||
  {
 | 
			
		||||
    isMessagingValid = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public void OnLogoStepChange(WizardStepChangeEventArgs arg)
 | 
			
		||||
  {
 | 
			
		||||
    isLogoValid = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async void OnOfferStepChange(WizardStepChangeEventArgs args)
 | 
			
		||||
  {
 | 
			
		||||
    if (isPostcard)
 | 
			
		||||
    {
 | 
			
		||||
      isOfferSelectionValid = true;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      int bigOfferCount = 0;
 | 
			
		||||
      foreach (bool selection in bigOffers)
 | 
			
		||||
      {
 | 
			
		||||
        if (selection)
 | 
			
		||||
          bigOfferCount++;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      int smallOfferCount = 0;
 | 
			
		||||
      foreach (bool selection in smallOffers)
 | 
			
		||||
      {
 | 
			
		||||
        if (selection)
 | 
			
		||||
          smallOfferCount++;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (smallOfferCount == 4 && bigOfferCount == 2)
 | 
			
		||||
        isOfferSelectionValid = true;
 | 
			
		||||
      else
 | 
			
		||||
        isOfferSelectionValid = false;
 | 
			
		||||
 | 
			
		||||
      if (!isOfferSelectionValid)
 | 
			
		||||
      {
 | 
			
		||||
        args.IsCancelled = true;
 | 
			
		||||
        await Dialog.AlertAsync("Please select the proper amount of offers.", "You cannot proceed");
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async void OnLocationStepChange(WizardStepChangeEventArgs args)
 | 
			
		||||
  {
 | 
			
		||||
    isLocationInfoValid = !string.IsNullOrWhiteSpace(locationInfo.ContactEmail) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.ContactPhone) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.ContactName) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.City) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.State) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.Zip) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.PhoneNumber) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.LocationName) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.Address) &&
 | 
			
		||||
                !string.IsNullOrWhiteSpace(locationInfo.Manager);
 | 
			
		||||
 | 
			
		||||
    if (!isLocationInfoValid)
 | 
			
		||||
    {
 | 
			
		||||
      args.IsCancelled = true;
 | 
			
		||||
      await Dialog.AlertAsync("Please fill out all required fields.", "You cannot proceed");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class CardType
 | 
			
		||||
  {
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string cardChoice { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class CustomizationOptions
 | 
			
		||||
  {
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string custOption { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class MessagingOptions
 | 
			
		||||
  {
 | 
			
		||||
    public string verse { get; set; } = string.Empty;
 | 
			
		||||
    public string signature { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class LogoOptions
 | 
			
		||||
  {
 | 
			
		||||
    public string option { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class OfferOptions
 | 
			
		||||
  {
 | 
			
		||||
    public string option { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class LocationInfo
 | 
			
		||||
  {
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string LocationName { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string Manager { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string Address { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string City { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string State { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string Zip { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string PhoneNumber { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string ContactName { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string ContactPhone { get; set; } = string.Empty;
 | 
			
		||||
    [Required]
 | 
			
		||||
    public string ContactEmail { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public class PaymentInfo
 | 
			
		||||
  {
 | 
			
		||||
    public string info { get; set; } = string.Empty;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -9,3 +9,6 @@
 | 
			
		|||
@using SummerBestWebForm2
 | 
			
		||||
@using SummerBestWebForm2.Components
 | 
			
		||||
@using SummerBestWebForm2.AppState
 | 
			
		||||
@using Telerik.Blazor
 | 
			
		||||
@using Telerik.Blazor.Components
 | 
			
		||||
@using Telerik.SvgIcons
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,4 +6,14 @@
 | 
			
		|||
    <ImplicitUsings>enable</ImplicitUsings>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 | 
			
		||||
  <Target Name="CustomActionsAfterPublish" AfterTargets="AfterPublish">
 | 
			
		||||
    <Exec Command="echo. >$(PublishUrl)_publishFinished.txt" />
 | 
			
		||||
  </Target>
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="kmCommonLibsCore" Version="2.0.0.129" />
 | 
			
		||||
    <PackageReference Include="Telerik.SvgIcons" Version="4.3.0" />
 | 
			
		||||
    <PackageReference Include="Telerik.UI.for.Blazor" Version="8.1.1" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
</Project>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,5 +2,6 @@
 | 
			
		|||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <ActiveDebugProfile>https</ActiveDebugProfile>
 | 
			
		||||
    <NameOfLastUsedPublishProfile>C:\Repos\SummerBestWebForm2\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ using System.Reflection;
 | 
			
		|||
[assembly: System.Reflection.AssemblyCompanyAttribute("SummerBestWebForm2")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+92bc4657300f745b2cfa9a7b2055bd3fd4591564")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3e6d6dc96ed11cb5daa5af7a66fef8eab5013ea7")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyProductAttribute("SummerBestWebForm2")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyTitleAttribute("SummerBestWebForm2")]
 | 
			
		||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +1 @@
 | 
			
		|||
17e471ad6ef47e2a4bd7241cad398f501e58c3d66500f6f4af29608363c718b3
 | 
			
		||||
41ee3bed8095da1d39f436bad792de2c7126c9c93e5c5cf8db02f7e4363fd57f
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -52,6 +52,20 @@
 | 
			
		|||
      "frameworks": {
 | 
			
		||||
        "net8.0": {
 | 
			
		||||
          "targetAlias": "net8.0",
 | 
			
		||||
          "dependencies": {
 | 
			
		||||
            "Telerik.SvgIcons": {
 | 
			
		||||
              "target": "Package",
 | 
			
		||||
              "version": "[4.3.0, )"
 | 
			
		||||
            },
 | 
			
		||||
            "Telerik.UI.for.Blazor": {
 | 
			
		||||
              "target": "Package",
 | 
			
		||||
              "version": "[8.1.1, )"
 | 
			
		||||
            },
 | 
			
		||||
            "kmCommonLibsCore": {
 | 
			
		||||
              "target": "Package",
 | 
			
		||||
              "version": "[2.0.0.129, )"
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          "imports": [
 | 
			
		||||
            "net461",
 | 
			
		||||
            "net462",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,4 +13,8 @@
 | 
			
		|||
    <SourceRoot Include="C:\Users\RDeck.KEYMTV\.nuget\packages\" />
 | 
			
		||||
    <SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
 | 
			
		||||
    <Import Project="$(NuGetPackageRoot)telerik.licensing\1.4.10\build\Telerik.Licensing.props" Condition="Exists('$(NuGetPackageRoot)telerik.licensing\1.4.10\build\Telerik.Licensing.props')" />
 | 
			
		||||
    <Import Project="$(NuGetPackageRoot)telerik.ui.for.blazor\8.1.1\buildTransitive\Telerik.UI.for.Blazor.props" Condition="Exists('$(NuGetPackageRoot)telerik.ui.for.blazor\8.1.1\buildTransitive\Telerik.UI.for.Blazor.props')" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +1,7 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
 | 
			
		||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
 | 
			
		||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
 | 
			
		||||
    <Import Project="$(NuGetPackageRoot)telerik.licensing\1.4.10\build\Telerik.Licensing.targets" Condition="Exists('$(NuGetPackageRoot)telerik.licensing\1.4.10\build\Telerik.Licensing.targets')" />
 | 
			
		||||
    <Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\3.1.32\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\3.1.32\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets')" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -1,8 +1,146 @@
 | 
			
		|||
{
 | 
			
		||||
  "version": 2,
 | 
			
		||||
  "dgSpecHash": "FGV8VxiXmVY=",
 | 
			
		||||
  "dgSpecHash": "4AnT3wU+ifk=",
 | 
			
		||||
  "success": true,
 | 
			
		||||
  "projectFilePath": "C:\\Repos\\SummerBestWebForm2\\SummerBestWebForm2.csproj",
 | 
			
		||||
  "expectedPackageFiles": [],
 | 
			
		||||
  "logs": []
 | 
			
		||||
  "expectedPackageFiles": [
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\azure.core\\1.38.0\\azure.core.1.38.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\azure.identity\\1.11.4\\azure.identity.1.11.4.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\commonservicelocator\\2.0.7\\commonservicelocator.2.0.7.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\dapper\\2.1.66\\dapper.2.1.66.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\kmcommonlibscore\\2.0.0.129\\kmcommonlibscore.2.0.0.129.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.authorization\\3.1.32\\microsoft.aspnetcore.authorization.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.components\\3.1.32\\microsoft.aspnetcore.components.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\3.1.32\\microsoft.aspnetcore.components.analyzers.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.components.forms\\3.1.32\\microsoft.aspnetcore.components.forms.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.components.web\\3.1.32\\microsoft.aspnetcore.components.web.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.aspnetcore.metadata\\3.1.32\\microsoft.aspnetcore.metadata.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\1.1.1\\microsoft.bcl.asyncinterfaces.1.1.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.bcl.cryptography\\9.0.0\\microsoft.bcl.cryptography.9.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.csharp\\4.6.0\\microsoft.csharp.4.6.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.data.sqlclient\\5.2.2\\microsoft.data.sqlclient.5.2.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\5.2.0\\microsoft.data.sqlclient.sni.runtime.5.2.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.ai.abstractions\\9.1.0-preview.1.25064.3\\microsoft.extensions.ai.abstractions.9.1.0-preview.1.25064.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\3.1.32\\microsoft.extensions.dependencyinjection.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\3.1.32\\microsoft.extensions.dependencyinjection.abstractions.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\3.1.32\\microsoft.extensions.logging.abstractions.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.options\\3.1.32\\microsoft.extensions.options.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.extensions.primitives\\3.1.32\\microsoft.extensions.primitives.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identity.client\\4.61.3\\microsoft.identity.client.4.61.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identity.client.extensions.msal\\4.61.3\\microsoft.identity.client.extensions.msal.4.61.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.abstractions\\6.35.0\\microsoft.identitymodel.abstractions.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.35.0\\microsoft.identitymodel.jsonwebtokens.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.logging\\6.35.0\\microsoft.identitymodel.logging.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.35.0\\microsoft.identitymodel.protocols.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.35.0\\microsoft.identitymodel.protocols.openidconnect.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.35.0\\microsoft.identitymodel.tokens.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.jsinterop\\3.1.32\\microsoft.jsinterop.3.1.32.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.netcore.platforms\\1.1.1\\microsoft.netcore.platforms.1.1.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.netcore.targets\\1.1.3\\microsoft.netcore.targets.1.1.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.sqlserver.server\\1.0.0\\microsoft.sqlserver.server.1.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\microsoft.win32.systemevents\\9.0.0\\microsoft.win32.systemevents.9.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.native.system.net.http\\4.3.0\\runtime.native.system.net.http.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.2\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.clientmodel\\1.0.0\\system.clientmodel.1.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.configuration.configurationmanager\\8.0.0\\system.configuration.configurationmanager.8.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.data.common\\4.3.0\\system.data.common.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.1\\system.diagnostics.diagnosticsource.6.0.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.drawing.common\\9.0.0\\system.drawing.common.9.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.formats.asn1\\9.0.0\\system.formats.asn1.9.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.globalization.calendars\\4.3.0\\system.globalization.calendars.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.35.0\\system.identitymodel.tokens.jwt.6.35.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.linq.queryable\\4.3.0\\system.linq.queryable.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.memory.data\\1.0.2\\system.memory.data.1.0.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.net.http\\4.3.4\\system.net.http.4.3.4.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.numerics.vectors\\4.5.0\\system.numerics.vectors.4.5.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.private.uri\\4.3.2\\system.private.uri.4.3.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime\\4.3.1\\system.runtime.4.3.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.caching\\8.0.0\\system.runtime.caching.8.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.loader\\4.3.0\\system.runtime.loader.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.runtime.numerics\\4.3.0\\system.runtime.numerics.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.algorithms\\4.3.0\\system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.csp\\4.3.0\\system.security.cryptography.csp.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.encoding\\4.3.0\\system.security.cryptography.encoding.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.openssl\\4.3.0\\system.security.cryptography.openssl.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.pkcs\\9.0.0\\system.security.cryptography.pkcs.9.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.protecteddata\\8.0.0\\system.security.cryptography.protecteddata.8.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.security.cryptography.x509certificates\\4.3.0\\system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.text.encodings.web\\4.7.2\\system.text.encodings.web.4.7.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.text.json\\4.7.2\\system.text.json.4.7.2.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.text.regularexpressions\\4.3.1\\system.text.regularexpressions.4.3.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\system.threading.tasks.extensions\\4.5.4\\system.threading.tasks.extensions.4.5.4.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.datasource\\3.0.3\\telerik.datasource.3.0.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.documents.core\\2025.1.205\\telerik.documents.core.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.documents.fixed\\2025.1.205\\telerik.documents.fixed.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.documents.spreadsheet\\2025.1.205\\telerik.documents.spreadsheet.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.documents.spreadsheet.formatproviders.pdf\\2025.1.205\\telerik.documents.spreadsheet.formatproviders.pdf.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.documents.spreadsheetstreaming\\2025.1.205\\telerik.documents.spreadsheetstreaming.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.fonticons\\4.0.0\\telerik.fonticons.4.0.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.licensing\\1.4.10\\telerik.licensing.1.4.10.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.pivot.core\\0.1.3\\telerik.pivot.core.0.1.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.pivot.dataproviders.xmla\\0.1.3\\telerik.pivot.dataproviders.xmla.0.1.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.recurrence\\0.2.3\\telerik.recurrence.0.2.3.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.svgicons\\4.3.0\\telerik.svgicons.4.3.0.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.ui.for.blazor\\8.1.1\\telerik.ui.for.blazor.8.1.1.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\telerik.zip\\2025.1.205\\telerik.zip.2025.1.205.nupkg.sha512",
 | 
			
		||||
    "C:\\Users\\RDeck.KEYMTV\\.nuget\\packages\\xact.core.pcl\\0.0.5014\\xact.core.pcl.0.0.5014.nupkg.sha512"
 | 
			
		||||
  ],
 | 
			
		||||
  "logs": [
 | 
			
		||||
    {
 | 
			
		||||
      "code": "NU1701",
 | 
			
		||||
      "level": "Warning",
 | 
			
		||||
      "warningLevel": 1,
 | 
			
		||||
      "message": "Package 'XAct.Core.PCL 0.0.5014' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net8.0'. This package may not be fully compatible with your project.",
 | 
			
		||||
      "libraryId": "XAct.Core.PCL",
 | 
			
		||||
      "targetGraphs": [
 | 
			
		||||
        "net8.0"
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue