4 Commits
1.1 ... 1.2

Author SHA1 Message Date
11ea32b490 feat: file extensions 2026-03-05 12:26:58 +01:00
b20f92274f Merge branch 'master' of https://git.jaro.digital/frozd/carmanager-3 2026-03-05 12:26:41 +01:00
ff3805f8d1 feat: installer 2026-03-05 11:31:36 +01:00
bf42b4219b Update README.md 2026-03-03 14:15:13 +01:00
8 changed files with 1047 additions and 75 deletions

View File

@@ -0,0 +1,946 @@
"DeployProject"
{
"VSVersion" = "3:800"
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
"IsWebType" = "8:FALSE"
"ProjectName" = "8:CarManager3Setup"
"LanguageId" = "3:1033"
"CodePage" = "3:1252"
"UILanguageId" = "3:1033"
"SccProjectName" = "8:"
"SccLocalPath" = "8:"
"SccAuxPath" = "8:"
"SccProvider" = "8:"
"Hierarchy"
{
"Entry"
{
"MsmKey" = "8:_39292C9AEE694F0B982DDECDC0233E12"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_A6F761D38264485ABAB61B553E1CAE3C"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
}
"Configurations"
{
"Debug"
{
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
"OutputFilename" = "8:Debug\\CarManager3Setup.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
"Release"
{
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
"OutputFilename" = "8:Release\\Install CarManager3.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
"Compression" = "3:2"
"SignOutput" = "11:FALSE"
"CertificateFile" = "8:"
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
}
"Deployable"
{
"CustomAction"
{
}
"DefaultFeature"
{
"Name" = "8:DefaultFeature"
"Title" = "8:"
"Description" = "8:"
}
"ExternalPersistence"
{
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BE6C175FA5824CB4993AB2FF72132415"
{
"Name" = "8:.NET Core"
"Message" = "8:[VSDNETCOREMSG]"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]"
"IsNETCore" = "11:TRUE"
"Architecture" = "2:0"
"Runtime" = "2:0"
}
}
}
"File"
{
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_39292C9AEE694F0B982DDECDC0233E12"
{
"SourcePath" = "8:D:\\Assets\\Car Manager\\Icon\\CarMgm_Icon.ico"
"TargetName" = "8:CarMgm_Icon.ico"
"Tag" = "8:"
"Folder" = "8:_B69138933B80450EA18D704C54E8913F"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
}
"FileType"
{
"{5EB83D71-FA18-4901-BE56-DE22E13CC478}:_550DF8606C6E4FA099435CFCBE58D1D0"
{
"Name" = "8:Car Manager CSV"
"Description" = "8:Car Manager CSV"
"Extensions" = "8:cars"
"MIME" = "8:"
"Icon" = "8:"
"IconIndex" = "3:0"
"Command"
{
"Command" = "8:_A6F761D38264485ABAB61B553E1CAE3C"
}
"Verbs"
{
"{95C0C507-CBF0-42B8-B119-07219E384A4A}:_1117291E39294ABF930F5B1B3ACA15FF"
{
"Command" = "8:&Open"
"Verb" = "8:open"
"Arguments" = "8:\"%1\""
"Order" = "3:0"
}
}
}
}
"Folder"
{
"{1525181F-901A-416C-8A58-119130FE478E}:_ABAAF45BA6E04B63AF93CAD41EE68B92"
{
"Name" = "8:#1919"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:ProgramMenuFolder"
"Folders"
{
}
}
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_B69138933B80450EA18D704C54E8913F"
{
"DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
"Name" = "8:#1925"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:TARGETDIR"
"Folders"
{
}
}
"{1525181F-901A-416C-8A58-119130FE478E}:_FA92AB5FBB9E4B2A8DFF0A59BAB53C34"
{
"Name" = "8:#1916"
"AlwaysCreate" = "11:FALSE"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Property" = "8:DesktopFolder"
"Folders"
{
}
}
}
"LaunchCondition"
{
}
"Locator"
{
}
"MsiBootstrapper"
{
"LangId" = "3:1033"
"RequiresElevation" = "11:FALSE"
}
"Product"
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Car Manager 3"
"ProductCode" = "8:{00455F93-7F99-4B1E-A7CE-0DFE372CB230}"
"PackageCode" = "8:{0359946B-F979-4152-867A-D7CF98402C4B}"
"UpgradeCode" = "8:{6FF57925-465E-4DB9-85DA-CE933191A3DD}"
"AspNetVersion" = "8:2.0.50727.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.2.0"
"Manufacturer" = "8:Jaro Digital"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
"Title" = "8:CarManager3"
"Subject" = "8:"
"ARPCONTACT" = "8:Jaro Kaulmann"
"Keywords" = "8:"
"ARPCOMMENTS" = "8:"
"ARPURLINFOABOUT" = "8:gital"
"ARPPRODUCTICON" = "8:"
"ARPIconIndex" = "3:0"
"SearchPath" = "8:"
"UseSystemSearchPath" = "11:TRUE"
"TargetPlatform" = "3:0"
"PreBuildEvent" = "8:"
"PostBuildEvent" = "8:"
"RunPostBuildEvent" = "3:0"
}
"Registry"
{
"HKLM"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5695532D502444BE91A0C478F8D7F9CB"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E2E34878519F4259A7572964E934FA77"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCU"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4A70D52CC9C2400F846505F27696713A"
{
"Name" = "8:Software"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B6CDBBD5DEF74074A0062C2F0E2197CE"
{
"Name" = "8:[Manufacturer]"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
}
}
}
"Values"
{
}
}
}
}
"HKCR"
{
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_37652386F4D345FFA3F0F617A76421F0"
{
"Name" = "8:Applications"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_176B5B9C59A3449C9E564030DCD0C0BD"
{
"Name" = "8:CarManagerV3.exe"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:TRUE"
"Transitive" = "11:TRUE"
"Keys"
{
}
"Values"
{
"{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_177A4E06B837439982E11085B44BD4BF"
{
"Name" = "8:FriendlyAppName"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"ValueTypes" = "3:1"
"Value" = "8:Car Manager 3"
}
}
}
}
"Values"
{
}
}
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_94EBE5D4DC27454C9156875337C2D080"
{
"Name" = "8:JaroDigital.CarManager3.Csv"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:TRUE"
"Transitive" = "11:TRUE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EBFFAF07B72047058605B5960F00527A"
{
"Name" = "8:shell"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C0A862A608C941919D3197DE074DC280"
{
"Name" = "8:open"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4E4DFB1A4EB04BB6837C9BAF1C376DBE"
{
"Name" = "8:command"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
"{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C09631E4A79F4A178C010713641E6D9B"
{
"Name" = "8:"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"ValueTypes" = "3:1"
"Value" = "8:\"[TARGETDIR]CarManagerV3.exe\" \"%1\""
}
}
}
}
"Values"
{
}
}
}
"Values"
{
}
}
}
"Values"
{
"{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_48B74901C81A43DCA0DE8B5491387241"
{
"Name" = "8:"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"ValueTypes" = "3:1"
"Value" = "8:Car Manager CSV Document"
}
}
}
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C83D25AA8A514BC693E02BB6282D86FB"
{
"Name" = "8:.csv"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2F3AB5CFB25043E8B0AD0F968CA64ED2"
{
"Name" = "8:OpenWithProgids"
"Condition" = "8:"
"AlwaysCreate" = "11:FALSE"
"DeleteAtUninstall" = "11:FALSE"
"Transitive" = "11:FALSE"
"Keys"
{
}
"Values"
{
"{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D33BF451D707400587D22B1EE1294F66"
{
"Name" = "8:JaroDigital.CarManager3.Csv"
"Condition" = "8:"
"Transitive" = "11:TRUE"
"ValueTypes" = "3:1"
"Value" = "8:"
}
}
}
}
"Values"
{
}
}
}
}
"HKU"
{
"Keys"
{
}
}
"HKPU"
{
"Keys"
{
}
}
}
"Sequences"
{
}
"Shortcut"
{
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_103EABB0656F414B9F4AC9C2ABBCAF07"
{
"Name" = "8:Car Manager 3"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_A6F761D38264485ABAB61B553E1CAE3C"
"Folder" = "8:_ABAAF45BA6E04B63AF93CAD41EE68B92"
"WorkingFolder" = "8:"
"Icon" = "8:_39292C9AEE694F0B982DDECDC0233E12"
"Feature" = "8:"
}
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_67294752AD0A4B2BB84AE5D2F31910D8"
{
"Name" = "8:Car Manager 3"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_A6F761D38264485ABAB61B553E1CAE3C"
"Folder" = "8:_FA92AB5FBB9E4B2A8DFF0A59BAB53C34"
"WorkingFolder" = "8:"
"Icon" = "8:_39292C9AEE694F0B982DDECDC0233E12"
"Feature" = "8:"
}
}
"UserInterface"
{
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3C7A5424D3B44E15AF63D1938BEAA93C"
{
"Name" = "8:#1902"
"Sequence" = "3:1"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E63E2F3512D74A9D92622595C6C2EC08"
{
"Sequence" = "3:100"
"DisplayName" = "8:Finished"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"UpdateText"
{
"Name" = "8:UpdateText"
"DisplayName" = "8:#1058"
"Description" = "8:#1158"
"Type" = "3:15"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1258"
"DefaultValue" = "8:#1258"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5709F385CD4F49F39AC9BCBDAA62F1A3"
{
"Name" = "8:#1900"
"Sequence" = "3:2"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_24E6E20ECF7B4AC2849B40B24F5D90FC"
{
"Sequence" = "3:100"
"DisplayName" = "8:Welcome"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_96C7F5AF62F64FB1A24EA7328513009C"
{
"Sequence" = "3:300"
"DisplayName" = "8:Confirm Installation"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BF080B513BE14E0DAACC8F31D019E0C9"
{
"Sequence" = "3:200"
"DisplayName" = "8:Installation Folder"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_623DA07241DE4E80A0D3628A79006B46"
{
"Name" = "8:#1901"
"Sequence" = "3:1"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EA3564EDF1A048A89692C4997EA31102"
{
"Sequence" = "3:100"
"DisplayName" = "8:Progress"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_62E672AF70DD4D8AB3EB2C5A9BFE8AA3"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
}
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_92E8C73A5DE7418C8D75318D26BE27B0"
{
"UseDynamicProperties" = "11:FALSE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9EA13BBDAC6840E39D2A41108839D601"
{
"Name" = "8:#1902"
"Sequence" = "3:2"
"Attributes" = "3:3"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_943ADBC0FCFE4F33920D3C661562FBB6"
{
"Sequence" = "3:100"
"DisplayName" = "8:Finished"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_AD8D3F7D88F94349947675C0D5DB334B"
{
"Name" = "8:#1900"
"Sequence" = "3:1"
"Attributes" = "3:1"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_152B71A00E0C40219C498C8AC811C061"
{
"Sequence" = "3:100"
"DisplayName" = "8:Welcome"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"CopyrightWarning"
{
"Name" = "8:CopyrightWarning"
"DisplayName" = "8:#1002"
"Description" = "8:#1102"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1202"
"DefaultValue" = "8:#1202"
"UsePlugInResources" = "11:TRUE"
}
"Welcome"
{
"Name" = "8:Welcome"
"DisplayName" = "8:#1003"
"Description" = "8:#1103"
"Type" = "3:3"
"ContextData" = "8:"
"Attributes" = "3:0"
"Setting" = "3:1"
"Value" = "8:#1203"
"DefaultValue" = "8:#1203"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4540297DA9974AE7BC68437E0F9FA2A1"
{
"Sequence" = "3:200"
"DisplayName" = "8:Installation Folder"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"InstallAllUsersVisible"
{
"Name" = "8:InstallAllUsersVisible"
"DisplayName" = "8:#1059"
"Description" = "8:#1159"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AA7545C3AC204A5B8FC42DB7EC8FF060"
{
"Sequence" = "3:300"
"DisplayName" = "8:Confirm Installation"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_DB6535CD087C4DCE8CBDE1A54CFB960A"
{
"Name" = "8:#1901"
"Sequence" = "3:2"
"Attributes" = "3:2"
"Dialogs"
{
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9015A0B2D587408F830EDB20D76C7166"
{
"Sequence" = "3:100"
"DisplayName" = "8:Progress"
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:FALSE"
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
"Properties"
{
"BannerBitmap"
{
"Name" = "8:BannerBitmap"
"DisplayName" = "8:#1001"
"Description" = "8:#1101"
"Type" = "3:8"
"ContextData" = "8:Bitmap"
"Attributes" = "3:4"
"Setting" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
"ShowProgress"
{
"Name" = "8:ShowProgress"
"DisplayName" = "8:#1009"
"Description" = "8:#1109"
"Type" = "3:5"
"ContextData" = "8:1;True=1;False=0"
"Attributes" = "3:0"
"Setting" = "3:0"
"Value" = "3:1"
"DefaultValue" = "3:1"
"UsePlugInResources" = "11:TRUE"
}
}
}
}
}
}
"MergeModule"
{
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A6F761D38264485ABAB61B553E1CAE3C"
{
"SourcePath" = "8:..\\CarManagerV3\\bin\\Release\\net8.0-windows\\win-x64\\publish\\CarManagerV3.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_B69138933B80450EA18D704C54E8913F"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:"
"OutputGroupCanonicalName" = "8:PublishItems"
"OutputProjectGuid" = "8:{93CA258B-A645-41A8-A24F-59036ABC173F}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
}
}
}

View File

@@ -1,10 +1,12 @@
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18 # Visual Studio Version 18
VisualStudioVersion = 18.3.11520.95 d18.3 VisualStudioVersion = 18.3.11520.95
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarManagerV3", "CarManagerV3\CarManagerV3.csproj", "{93CA258B-A645-41A8-A24F-59036ABC173F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarManagerV3", "CarManagerV3\CarManagerV3.csproj", "{93CA258B-A645-41A8-A24F-59036ABC173F}"
EndProject EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CarManager3Setup", "CarManager3Setup\CarManager3Setup.vdproj", "{47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,8 @@ Global
{93CA258B-A645-41A8-A24F-59036ABC173F}.Debug|Any CPU.Build.0 = Debug|Any CPU {93CA258B-A645-41A8-A24F-59036ABC173F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.ActiveCfg = Release|Any CPU {93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.Build.0 = Release|Any CPU {93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.Build.0 = Release|Any CPU
{47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}.Debug|Any CPU.ActiveCfg = Debug
{47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}.Release|Any CPU.ActiveCfg = Release
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@@ -23,11 +23,21 @@
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets> <ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets>
<ApplicationIcon>CarMgm_Icon.ico</ApplicationIcon> <ApplicationIcon>CarMgm_Icon.ico</ApplicationIcon>
<AssemblyTitle>Car Manager 3</AssemblyTitle>
<Version>1.2</Version>
<AssemblyVersion>1.2.0</AssemblyVersion>
<FileVersion>1.2.0</FileVersion>
<Product>Car Manager 3</Product>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Update="Forms\Components\CarCard.cs"> <Compile Update="Forms\Components\CarCard.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" /> <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" /> <PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
<PackageReference Include="System.Net.Http" Version="4.3.4" /> <PackageReference Include="System.Net.Http" Version="4.3.4" />
@@ -47,4 +57,10 @@
<ItemGroup> <ItemGroup>
<Content Include="CarMgm_Icon.ico" /> <Content Include="CarMgm_Icon.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project> </Project>

View File

@@ -64,7 +64,7 @@
tableLayoutPanel1.AutoSize = true; tableLayoutPanel1.AutoSize = true;
tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
tableLayoutPanel1.ColumnCount = 2; tableLayoutPanel1.ColumnCount = 2;
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 70F));
tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
tableLayoutPanel1.Controls.Add(pbxCarImage, 0, 0); tableLayoutPanel1.Controls.Add(pbxCarImage, 0, 0);
tableLayoutPanel1.Controls.Add(label1, 0, 1); tableLayoutPanel1.Controls.Add(label1, 0, 1);
@@ -82,18 +82,18 @@
tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 1, 3); tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 1, 3);
tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 4, 30, 4); tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 3, 26, 3);
tableLayoutPanel1.Name = "tableLayoutPanel1"; tableLayoutPanel1.Name = "tableLayoutPanel1";
tableLayoutPanel1.RowCount = 8; tableLayoutPanel1.RowCount = 8;
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 250F)); tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 188F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); tableLayoutPanel1.Size = new System.Drawing.Size(469, 422);
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F));
tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
tableLayoutPanel1.Size = new System.Drawing.Size(536, 562);
tableLayoutPanel1.TabIndex = 0; tableLayoutPanel1.TabIndex = 0;
// //
// pbxCarImage // pbxCarImage
@@ -101,10 +101,9 @@
tableLayoutPanel1.SetColumnSpan(pbxCarImage, 2); tableLayoutPanel1.SetColumnSpan(pbxCarImage, 2);
pbxCarImage.Dock = System.Windows.Forms.DockStyle.Fill; pbxCarImage.Dock = System.Windows.Forms.DockStyle.Fill;
pbxCarImage.Image = (System.Drawing.Image)resources.GetObject("pbxCarImage.Image"); pbxCarImage.Image = (System.Drawing.Image)resources.GetObject("pbxCarImage.Image");
pbxCarImage.Location = new System.Drawing.Point(3, 4); pbxCarImage.Location = new System.Drawing.Point(3, 3);
pbxCarImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
pbxCarImage.Name = "pbxCarImage"; pbxCarImage.Name = "pbxCarImage";
pbxCarImage.Size = new System.Drawing.Size(530, 242); pbxCarImage.Size = new System.Drawing.Size(463, 182);
pbxCarImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; pbxCarImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
pbxCarImage.TabIndex = 0; pbxCarImage.TabIndex = 0;
pbxCarImage.TabStop = false; pbxCarImage.TabStop = false;
@@ -113,9 +112,9 @@
// //
label1.AutoSize = true; label1.AutoSize = true;
label1.Dock = System.Windows.Forms.DockStyle.Fill; label1.Dock = System.Windows.Forms.DockStyle.Fill;
label1.Location = new System.Drawing.Point(3, 250); label1.Location = new System.Drawing.Point(3, 188);
label1.Name = "label1"; label1.Name = "label1";
label1.Size = new System.Drawing.Size(74, 38); label1.Size = new System.Drawing.Size(64, 28);
label1.TabIndex = 1; label1.TabIndex = 1;
label1.Text = "Make:"; label1.Text = "Make:";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -123,10 +122,9 @@
// tbxMake // tbxMake
// //
tbxMake.Dock = System.Windows.Forms.DockStyle.Fill; tbxMake.Dock = System.Windows.Forms.DockStyle.Fill;
tbxMake.Location = new System.Drawing.Point(83, 254); tbxMake.Location = new System.Drawing.Point(73, 191);
tbxMake.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
tbxMake.Name = "tbxMake"; tbxMake.Name = "tbxMake";
tbxMake.Size = new System.Drawing.Size(450, 27); tbxMake.Size = new System.Drawing.Size(393, 23);
tbxMake.TabIndex = 1; tbxMake.TabIndex = 1;
tbxMake.TextChanged += tbxMake_TextChanged; tbxMake.TextChanged += tbxMake_TextChanged;
tbxMake.Leave += tbxMake_Leave; tbxMake.Leave += tbxMake_Leave;
@@ -135,9 +133,9 @@
// //
label2.AutoSize = true; label2.AutoSize = true;
label2.Dock = System.Windows.Forms.DockStyle.Fill; label2.Dock = System.Windows.Forms.DockStyle.Fill;
label2.Location = new System.Drawing.Point(3, 288); label2.Location = new System.Drawing.Point(3, 216);
label2.Name = "label2"; label2.Name = "label2";
label2.Size = new System.Drawing.Size(74, 38); label2.Size = new System.Drawing.Size(64, 28);
label2.TabIndex = 3; label2.TabIndex = 3;
label2.Text = "Model:"; label2.Text = "Model:";
label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -145,10 +143,9 @@
// tbxModel // tbxModel
// //
tbxModel.Dock = System.Windows.Forms.DockStyle.Fill; tbxModel.Dock = System.Windows.Forms.DockStyle.Fill;
tbxModel.Location = new System.Drawing.Point(83, 292); tbxModel.Location = new System.Drawing.Point(73, 219);
tbxModel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
tbxModel.Name = "tbxModel"; tbxModel.Name = "tbxModel";
tbxModel.Size = new System.Drawing.Size(450, 27); tbxModel.Size = new System.Drawing.Size(393, 23);
tbxModel.TabIndex = 2; tbxModel.TabIndex = 2;
tbxModel.TextChanged += tbxModel_TextChanged; tbxModel.TextChanged += tbxModel_TextChanged;
tbxModel.Leave += tbxModel_Leave; tbxModel.Leave += tbxModel_Leave;
@@ -157,9 +154,9 @@
// //
label3.AutoSize = true; label3.AutoSize = true;
label3.Dock = System.Windows.Forms.DockStyle.Fill; label3.Dock = System.Windows.Forms.DockStyle.Fill;
label3.Location = new System.Drawing.Point(3, 326); label3.Location = new System.Drawing.Point(3, 244);
label3.Name = "label3"; label3.Name = "label3";
label3.Size = new System.Drawing.Size(74, 38); label3.Size = new System.Drawing.Size(64, 28);
label3.TabIndex = 5; label3.TabIndex = 5;
label3.Text = "Year:"; label3.Text = "Year:";
label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -168,9 +165,9 @@
// //
label4.AutoSize = true; label4.AutoSize = true;
label4.Dock = System.Windows.Forms.DockStyle.Fill; label4.Dock = System.Windows.Forms.DockStyle.Fill;
label4.Location = new System.Drawing.Point(3, 364); label4.Location = new System.Drawing.Point(3, 272);
label4.Name = "label4"; label4.Name = "label4";
label4.Size = new System.Drawing.Size(74, 38); label4.Size = new System.Drawing.Size(64, 28);
label4.TabIndex = 6; label4.TabIndex = 6;
label4.Text = "Color:"; label4.Text = "Color:";
label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -179,9 +176,9 @@
// //
label5.AutoSize = true; label5.AutoSize = true;
label5.Dock = System.Windows.Forms.DockStyle.Fill; label5.Dock = System.Windows.Forms.DockStyle.Fill;
label5.Location = new System.Drawing.Point(3, 402); label5.Location = new System.Drawing.Point(3, 300);
label5.Name = "label5"; label5.Name = "label5";
label5.Size = new System.Drawing.Size(74, 38); label5.Size = new System.Drawing.Size(64, 28);
label5.TabIndex = 7; label5.TabIndex = 7;
label5.Text = "Mileage:"; label5.Text = "Mileage:";
label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -190,9 +187,9 @@
// //
label6.AutoSize = true; label6.AutoSize = true;
label6.Dock = System.Windows.Forms.DockStyle.Fill; label6.Dock = System.Windows.Forms.DockStyle.Fill;
label6.Location = new System.Drawing.Point(3, 440); label6.Location = new System.Drawing.Point(3, 328);
label6.Name = "label6"; label6.Name = "label6";
label6.Size = new System.Drawing.Size(74, 38); label6.Size = new System.Drawing.Size(64, 28);
label6.TabIndex = 8; label6.TabIndex = 8;
label6.Text = "Price:"; label6.Text = "Price:";
label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -205,19 +202,17 @@
flowLayoutPanel1.Controls.Add(lblID); flowLayoutPanel1.Controls.Add(lblID);
flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft;
flowLayoutPanel1.Location = new System.Drawing.Point(3, 482); flowLayoutPanel1.Location = new System.Drawing.Point(3, 359);
flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
flowLayoutPanel1.Name = "flowLayoutPanel1"; flowLayoutPanel1.Name = "flowLayoutPanel1";
flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6); flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(4);
flowLayoutPanel1.Size = new System.Drawing.Size(530, 76); flowLayoutPanel1.Size = new System.Drawing.Size(463, 60);
flowLayoutPanel1.TabIndex = 9; flowLayoutPanel1.TabIndex = 9;
// //
// btnSave // btnSave
// //
btnSave.Location = new System.Drawing.Point(442, 10); btnSave.Location = new System.Drawing.Point(386, 7);
btnSave.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
btnSave.Name = "btnSave"; btnSave.Name = "btnSave";
btnSave.Size = new System.Drawing.Size(75, 29); btnSave.Size = new System.Drawing.Size(66, 22);
btnSave.TabIndex = 7; btnSave.TabIndex = 7;
btnSave.Text = "Save"; btnSave.Text = "Save";
btnSave.UseVisualStyleBackColor = true; btnSave.UseVisualStyleBackColor = true;
@@ -225,10 +220,9 @@
// //
// btnDelete // btnDelete
// //
btnDelete.Location = new System.Drawing.Point(361, 10); btnDelete.Location = new System.Drawing.Point(314, 7);
btnDelete.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
btnDelete.Name = "btnDelete"; btnDelete.Name = "btnDelete";
btnDelete.Size = new System.Drawing.Size(75, 29); btnDelete.Size = new System.Drawing.Size(66, 22);
btnDelete.TabIndex = 8; btnDelete.TabIndex = 8;
btnDelete.Text = "Delete"; btnDelete.Text = "Delete";
btnDelete.UseVisualStyleBackColor = true; btnDelete.UseVisualStyleBackColor = true;
@@ -237,30 +231,28 @@
// lblID // lblID
// //
lblID.AutoSize = true; lblID.AutoSize = true;
lblID.Location = new System.Drawing.Point(331, 6); lblID.Location = new System.Drawing.Point(290, 4);
lblID.Name = "lblID"; lblID.Name = "lblID";
lblID.Size = new System.Drawing.Size(24, 20); lblID.Size = new System.Drawing.Size(18, 15);
lblID.TabIndex = 2; lblID.TabIndex = 2;
lblID.Text = "ID"; lblID.Text = "ID";
// //
// tbxColor // tbxColor
// //
tbxColor.Dock = System.Windows.Forms.DockStyle.Fill; tbxColor.Dock = System.Windows.Forms.DockStyle.Fill;
tbxColor.Location = new System.Drawing.Point(83, 368); tbxColor.Location = new System.Drawing.Point(73, 275);
tbxColor.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
tbxColor.Name = "tbxColor"; tbxColor.Name = "tbxColor";
tbxColor.Size = new System.Drawing.Size(450, 27); tbxColor.Size = new System.Drawing.Size(393, 23);
tbxColor.TabIndex = 4; tbxColor.TabIndex = 4;
tbxColor.TextChanged += tbxColor_TextChanged; tbxColor.TextChanged += tbxColor_TextChanged;
tbxColor.Leave += tbxColor_Leave; tbxColor.Leave += tbxColor_Leave;
// //
// nudMileage // nudMileage
// //
nudMileage.Location = new System.Drawing.Point(83, 406); nudMileage.Location = new System.Drawing.Point(73, 303);
nudMileage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
nudMileage.Maximum = new decimal(new int[] { 999999, 0, 0, 0 }); nudMileage.Maximum = new decimal(new int[] { 999999, 0, 0, 0 });
nudMileage.Name = "nudMileage"; nudMileage.Name = "nudMileage";
nudMileage.Size = new System.Drawing.Size(120, 27); nudMileage.Size = new System.Drawing.Size(105, 23);
nudMileage.TabIndex = 5; nudMileage.TabIndex = 5;
nudMileage.ThousandsSeparator = true; nudMileage.ThousandsSeparator = true;
nudMileage.ValueChanged += nudMileage_ValueChanged; nudMileage.ValueChanged += nudMileage_ValueChanged;
@@ -268,11 +260,10 @@
// nudPrice // nudPrice
// //
nudPrice.DecimalPlaces = 2; nudPrice.DecimalPlaces = 2;
nudPrice.Location = new System.Drawing.Point(83, 444); nudPrice.Location = new System.Drawing.Point(73, 331);
nudPrice.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
nudPrice.Maximum = new decimal(new int[] { 999999, 0, 0, 0 }); nudPrice.Maximum = new decimal(new int[] { 999999, 0, 0, 0 });
nudPrice.Name = "nudPrice"; nudPrice.Name = "nudPrice";
nudPrice.Size = new System.Drawing.Size(120, 27); nudPrice.Size = new System.Drawing.Size(105, 23);
nudPrice.TabIndex = 6; nudPrice.TabIndex = 6;
nudPrice.ThousandsSeparator = true; nudPrice.ThousandsSeparator = true;
nudPrice.ValueChanged += nudPrice_ValueChanged; nudPrice.ValueChanged += nudPrice_ValueChanged;
@@ -287,21 +278,19 @@
tableLayoutPanel2.Controls.Add(lblAge, 1, 0); tableLayoutPanel2.Controls.Add(lblAge, 1, 0);
tableLayoutPanel2.Controls.Add(tbxAge, 2, 0); tableLayoutPanel2.Controls.Add(tbxAge, 2, 0);
tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
tableLayoutPanel2.Location = new System.Drawing.Point(83, 330); tableLayoutPanel2.Location = new System.Drawing.Point(73, 247);
tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
tableLayoutPanel2.Name = "tableLayoutPanel2"; tableLayoutPanel2.Name = "tableLayoutPanel2";
tableLayoutPanel2.RowCount = 1; tableLayoutPanel2.RowCount = 1;
tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
tableLayoutPanel2.Size = new System.Drawing.Size(450, 30); tableLayoutPanel2.Size = new System.Drawing.Size(393, 22);
tableLayoutPanel2.TabIndex = 10; tableLayoutPanel2.TabIndex = 10;
// //
// nudYear // nudYear
// //
nudYear.Location = new System.Drawing.Point(3, 4); nudYear.Location = new System.Drawing.Point(3, 3);
nudYear.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
nudYear.Maximum = new decimal(new int[] { 3000, 0, 0, 0 }); nudYear.Maximum = new decimal(new int[] { 3000, 0, 0, 0 });
nudYear.Name = "nudYear"; nudYear.Name = "nudYear";
nudYear.Size = new System.Drawing.Size(120, 27); nudYear.Size = new System.Drawing.Size(105, 23);
nudYear.TabIndex = 3; nudYear.TabIndex = 3;
nudYear.ValueChanged += nudYear_ValueChanged; nudYear.ValueChanged += nudYear_ValueChanged;
// //
@@ -309,10 +298,10 @@
// //
lblAge.AutoSize = true; lblAge.AutoSize = true;
lblAge.Dock = System.Windows.Forms.DockStyle.Fill; lblAge.Dock = System.Windows.Forms.DockStyle.Fill;
lblAge.Location = new System.Drawing.Point(153, 0); lblAge.Location = new System.Drawing.Point(134, 0);
lblAge.Name = "lblAge"; lblAge.Name = "lblAge";
lblAge.RightToLeft = System.Windows.Forms.RightToLeft.No; lblAge.RightToLeft = System.Windows.Forms.RightToLeft.No;
lblAge.Size = new System.Drawing.Size(144, 30); lblAge.Size = new System.Drawing.Size(125, 22);
lblAge.TabIndex = 4; lblAge.TabIndex = 4;
lblAge.Text = "Age"; lblAge.Text = "Age";
lblAge.TextAlign = System.Drawing.ContentAlignment.MiddleRight; lblAge.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
@@ -321,21 +310,19 @@
// //
tbxAge.Dock = System.Windows.Forms.DockStyle.Fill; tbxAge.Dock = System.Windows.Forms.DockStyle.Fill;
tbxAge.Enabled = false; tbxAge.Enabled = false;
tbxAge.Location = new System.Drawing.Point(303, 4); tbxAge.Location = new System.Drawing.Point(265, 3);
tbxAge.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
tbxAge.Name = "tbxAge"; tbxAge.Name = "tbxAge";
tbxAge.ReadOnly = true; tbxAge.ReadOnly = true;
tbxAge.Size = new System.Drawing.Size(144, 27); tbxAge.Size = new System.Drawing.Size(125, 23);
tbxAge.TabIndex = 5; tbxAge.TabIndex = 5;
// //
// CarDetailsForm // CarDetailsForm
// //
AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
ClientSize = new System.Drawing.Size(536, 562); ClientSize = new System.Drawing.Size(469, 422);
Controls.Add(tableLayoutPanel1); Controls.Add(tableLayoutPanel1);
FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
MaximizeBox = false; MaximizeBox = false;
Name = "CarDetailsForm"; Name = "CarDetailsForm";
Text = "Details"; Text = "Details";

View File

@@ -13,13 +13,18 @@ namespace CarManagerV3
List<Car> cars = new List<Car>(); List<Car> cars = new List<Car>();
string filepath = ""; string filepath = "";
public MainForm() public MainForm(string pathToOpen = "")
{ {
InitializeComponent(); InitializeComponent();
// Open the most recent file if it exists. Otherwise, use default filepath. // Open the most recent file if it exists. Otherwise, use default filepath.
List<string> recentFiles = SafeManager.GetRecentPaths(); List<string> recentFiles = SafeManager.GetRecentPaths();
if (recentFiles.Count > 0) if (!String.IsNullOrEmpty(pathToOpen))
{
filepath = pathToOpen;
SafeManager.AddRecentPath(filepath);
}
else if (recentFiles.Count > 0)
{ {
filepath = recentFiles[0]; filepath = recentFiles[0];
} }
@@ -291,7 +296,7 @@ namespace CarManagerV3
private void openToolStripMenuItem_Click(object sender, EventArgs e) private void openToolStripMenuItem_Click(object sender, EventArgs e)
{ {
OpenFileDialog dlgOpen = new OpenFileDialog(); OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*"; dlgOpen.Filter = "Compatible Files (*.csv;*.cars)|*.csv;*.cars|CSV Files (*.csv)|*.csv|Car Manager CSV (*.cars)|*.cars|All Files (*.*)|*.*";
dlgOpen.Title = "Open Car Data File"; dlgOpen.Title = "Open Car Data File";
// Default to users documents // Default to users documents
dlgOpen.InitialDirectory = SafeManager.getRecentFolder(); dlgOpen.InitialDirectory = SafeManager.getRecentFolder();
@@ -337,7 +342,7 @@ namespace CarManagerV3
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{ {
SaveFileDialog dlgSave = new SaveFileDialog(); SaveFileDialog dlgSave = new SaveFileDialog();
dlgSave.Filter = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*"; dlgSave.Filter = "Compatible Files (*.csv;*.cars)|*.csv;*.cars|CSV Files (*.csv)|*.csv|Car Manager CSV (*.cars)|*.cars|All Files (*.*)|*.*";
dlgSave.Title = "Save Car Data File As"; dlgSave.Title = "Save Car Data File As";
// Default to users documents // Default to users documents
dlgSave.InitialDirectory = SafeManager.getRecentFolder(); dlgSave.InitialDirectory = SafeManager.getRecentFolder();
@@ -370,7 +375,7 @@ namespace CarManagerV3
if (result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
OpenFileDialog dlgOpen = new OpenFileDialog(); OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*"; dlgOpen.Filter = "Compatible Files (*.csv;*.cars)|*.csv;*.cars|CSV Files (*.csv)|*.csv|Car Manager CSV (*.cars)|*.cars|All Files (*.*)|*.*";
dlgOpen.Title = "Import Car Data File"; dlgOpen.Title = "Import Car Data File";
// Default to users documents // Default to users documents
dlgOpen.InitialDirectory = SafeManager.getRecentFolder(); dlgOpen.InitialDirectory = SafeManager.getRecentFolder();
@@ -394,7 +399,7 @@ namespace CarManagerV3
if (mergeAsNewFileResult == DialogResult.Yes) if (mergeAsNewFileResult == DialogResult.Yes)
{ {
SaveFileDialog dlgSave = new SaveFileDialog(); SaveFileDialog dlgSave = new SaveFileDialog();
dlgSave.Filter = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*"; dlgSave.Filter = "Compatible Files (*.csv;*.cars)|*.csv;*.cars|CSV Files (*.csv)|*.csv|Car Manager CSV (*.cars)|*.cars|All Files (*.*)|*.*";
dlgSave.Title = "Save Merged Car Data File As"; dlgSave.Title = "Save Merged Car Data File As";
// Default to users documents // Default to users documents
dlgSave.InitialDirectory = SafeManager.getRecentFolder(); dlgSave.InitialDirectory = SafeManager.getRecentFolder();

View File

@@ -1,4 +1,5 @@
using System; using System;
using System.Diagnostics;
using System.Windows.Forms; using System.Windows.Forms;
namespace CarManagerV3 namespace CarManagerV3
@@ -9,11 +10,13 @@ namespace CarManagerV3
/// The main entry point for the application. /// The main entry point for the application.
/// </summary> /// </summary>
[STAThread] [STAThread]
static void Main() static void Main(string[] args)
{ {
string pathToOpen = null;
if (args.Length > 0) pathToOpen = args[0];
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm()); Application.Run(new MainForm(pathToOpen));
} }
} }
} }

View File

@@ -0,0 +1,7 @@
{
"profiles": {
"CarManagerV3": {
"commandName": "Project"
}
}
}

View File

@@ -1,3 +1,7 @@
![Logo](https://static.clsw.app/brands/carmgm/Logo/CarMgm_Logo@0.5.png "Logo")
# Car Manager 3 # Car Manager 3
This is a simple school project in C# - Honestly you shouldn't be looking at this if you don't know me. This is a simple school project in C# - Honestly you shouldn't be looking at this if you don't know me.