X\choro 2 сар өмнө
parent
commit
dd1a00750d
31 өөрчлөгдсөн 338 нэмэгдсэн , 156 устгасан
  1. 4 1
      .gitignore
  2. BIN
      .vs/goods/DesignTimeBuild/.dtbcache.v2
  3. BIN
      .vs/goods/copilot-chat/d1c88368/sessions/5819918a-2622-411d-a933-e0c8f9331b37
  4. BIN
      .vs/goods/v17/.futdcache.v2
  5. BIN
      .vs/goods/v17/.suo
  6. 139 2
      .vs/goods/v17/DocumentLayout.backup.json
  7. 139 2
      .vs/goods/v17/DocumentLayout.json
  8. 37 19
      Models/CoupangModel.cs
  9. 10 9
      Models/Response/Product.cs
  10. 9 9
      Models/Response/Search.cs
  11. BIN
      bin/Debug/net8.0/goods.dll
  12. BIN
      bin/Debug/net8.0/goods.exe
  13. BIN
      bin/Debug/net8.0/goods.pdb
  14. 0 0
      bin/Debug/net8.0/goods.staticwebassets.endpoints.json
  15. 0 0
      bin/Debug/net8.0/goods.staticwebassets.runtime.json
  16. BIN
      obj/Debug/net8.0/apphost.exe
  17. 0 24
      obj/Debug/net8.0/goods.AssemblyInfo.cs
  18. 0 1
      obj/Debug/net8.0/goods.AssemblyInfoInputs.cache
  19. BIN
      obj/Debug/net8.0/goods.dll
  20. BIN
      obj/Debug/net8.0/goods.pdb
  21. BIN
      obj/Debug/net8.0/ref/goods.dll
  22. BIN
      obj/Debug/net8.0/refint/goods.dll
  23. 0 0
      obj/Debug/net8.0/rjimswa.dswa.cache.json
  24. 0 0
      obj/Debug/net8.0/rjsmcshtml.dswa.cache.json
  25. 0 0
      obj/Debug/net8.0/rjsmrazor.dswa.cache.json
  26. 0 0
      obj/Debug/net8.0/rpswa.dswa.cache.json
  27. 0 0
      obj/Debug/net8.0/staticwebassets.build.endpoints.json
  28. 0 0
      obj/Debug/net8.0/staticwebassets.build.json
  29. 0 1
      obj/Debug/net8.0/staticwebassets.build.json.cache
  30. 0 0
      obj/Debug/net8.0/staticwebassets.development.json
  31. 0 88
      obj/Debug/net8.0/staticwebassets.upToDateCheck.txt

+ 4 - 1
.gitignore

@@ -1,2 +1,5 @@
 ./node_modules
-.vs/
+.vs/
+obj/Debug
+obj/Container
+bin/

BIN
.vs/goods/DesignTimeBuild/.dtbcache.v2


BIN
.vs/goods/copilot-chat/d1c88368/sessions/5819918a-2622-411d-a933-e0c8f9331b37


BIN
.vs/goods/v17/.futdcache.v2


BIN
.vs/goods/v17/.suo


+ 139 - 2
.vs/goods/v17/DocumentLayout.backup.json

@@ -1,7 +1,40 @@
 {
   "Version": 1,
   "WorkspaceRootPath": "E:\\workspace\\goods\\",
-  "Documents": [],
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\clients.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\clients.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\response\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\response\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\coupangmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\coupangmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\request.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\request.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\compilerconfig.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:compilerconfig.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    }
+  ],
   "DocumentGroupContainers": [
     {
       "Orientation": 0,
@@ -9,7 +42,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": -1,
+          "SelectedChildIndex": 14,
           "Children": [
             {
               "$type": "Bookmark",
@@ -38,6 +71,110 @@
             {
               "$type": "Bookmark",
               "Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "Product.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Response\\Product.cs",
+              "RelativeDocumentMoniker": "Models\\Response\\Product.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Response\\Product.cs",
+              "RelativeToolTip": "Models\\Response\\Product.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:47:25.354Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "Clients.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Clients.cs",
+              "RelativeDocumentMoniker": "Models\\Clients.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Clients.cs",
+              "RelativeToolTip": "Models\\Clients.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:51.648Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Request.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Request.cs",
+              "RelativeDocumentMoniker": "Models\\Request.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Request.cs",
+              "RelativeToolTip": "Models\\Request.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:31.383Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "DBContext.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\DBContext.cs",
+              "RelativeDocumentMoniker": "Models\\DBContext.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\DBContext.cs",
+              "RelativeToolTip": "Models\\DBContext.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:27.715Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "compilerconfig.json",
+              "DocumentMoniker": "E:\\workspace\\goods\\compilerconfig.json",
+              "RelativeDocumentMoniker": "compilerconfig.json",
+              "ToolTip": "E:\\workspace\\goods\\compilerconfig.json",
+              "RelativeToolTip": "compilerconfig.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-02T19:37:21.691Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\workspace\\goods\\appsettings.json",
+              "RelativeDocumentMoniker": "appsettings.json",
+              "ToolTip": "E:\\workspace\\goods\\appsettings.json",
+              "RelativeToolTip": "appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-02T19:37:03.696Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "CoupangModel.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\CoupangModel.cs",
+              "RelativeDocumentMoniker": "Models\\CoupangModel.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\CoupangModel.cs",
+              "RelativeToolTip": "Models\\CoupangModel.cs",
+              "ViewState": "AgIAAFgAAAAAAAAAAAD4v3sAAABOAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:36:59.303Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "HomeController.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Controllers\\HomeController.cs",
+              "RelativeDocumentMoniker": "Controllers\\HomeController.cs",
+              "ToolTip": "E:\\workspace\\goods\\Controllers\\HomeController.cs",
+              "RelativeToolTip": "Controllers\\HomeController.cs",
+              "ViewState": "AgIAADYAAAAAAAAAAAAAAEgAAABPAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:36:08.16Z",
+              "EditorCaption": ""
             }
           ]
         }

+ 139 - 2
.vs/goods/v17/DocumentLayout.json

@@ -1,7 +1,40 @@
 {
   "Version": 1,
   "WorkspaceRootPath": "E:\\workspace\\goods\\",
-  "Documents": [],
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\coupangmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\coupangmodel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:controllers\\homecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\compilerconfig.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:compilerconfig.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\clients.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\clients.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\response\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\response\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\request.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\request.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\models\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:models\\dbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|e:\\workspace\\goods\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{2DA0899A-B4C4-4C65-8886-C57DDAF557CA}|goods.csproj|solutionrelative:appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    }
+  ],
   "DocumentGroupContainers": [
     {
       "Orientation": 0,
@@ -9,7 +42,7 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": -1,
+          "SelectedChildIndex": 13,
           "Children": [
             {
               "$type": "Bookmark",
@@ -38,6 +71,110 @@
             {
               "$type": "Bookmark",
               "Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}"
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Product.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Response\\Product.cs",
+              "RelativeDocumentMoniker": "Models\\Response\\Product.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Response\\Product.cs",
+              "RelativeToolTip": "Models\\Response\\Product.cs",
+              "ViewState": "AgIAAAMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:47:25.354Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "Clients.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Clients.cs",
+              "RelativeDocumentMoniker": "Models\\Clients.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Clients.cs",
+              "RelativeToolTip": "Models\\Clients.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:51.648Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "Request.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\Request.cs",
+              "RelativeDocumentMoniker": "Models\\Request.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\Request.cs",
+              "RelativeToolTip": "Models\\Request.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAAeAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:31.383Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "DBContext.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\DBContext.cs",
+              "RelativeDocumentMoniker": "Models\\DBContext.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\DBContext.cs",
+              "RelativeToolTip": "Models\\DBContext.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:37:27.715Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "compilerconfig.json",
+              "DocumentMoniker": "E:\\workspace\\goods\\compilerconfig.json",
+              "RelativeDocumentMoniker": "compilerconfig.json",
+              "ToolTip": "E:\\workspace\\goods\\compilerconfig.json",
+              "RelativeToolTip": "compilerconfig.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-02T19:37:21.691Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\workspace\\goods\\appsettings.json",
+              "RelativeDocumentMoniker": "appsettings.json",
+              "ToolTip": "E:\\workspace\\goods\\appsettings.json",
+              "RelativeToolTip": "appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-02T19:37:03.696Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "CoupangModel.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Models\\CoupangModel.cs",
+              "RelativeDocumentMoniker": "Models\\CoupangModel.cs",
+              "ToolTip": "E:\\workspace\\goods\\Models\\CoupangModel.cs",
+              "RelativeToolTip": "Models\\CoupangModel.cs",
+              "ViewState": "AgIAAJkAAAAAAAAAAAD4v+cAAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:36:59.303Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "HomeController.cs",
+              "DocumentMoniker": "E:\\workspace\\goods\\Controllers\\HomeController.cs",
+              "RelativeDocumentMoniker": "Controllers\\HomeController.cs",
+              "ToolTip": "E:\\workspace\\goods\\Controllers\\HomeController.cs",
+              "RelativeToolTip": "Controllers\\HomeController.cs",
+              "ViewState": "AgIAAE4AAAAAAAAAAAAAAG4AAABHAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-02T19:36:08.16Z",
+              "EditorCaption": ""
             }
           ]
         }

+ 37 - 19
Models/CoupangModel.cs

@@ -1,10 +1,6 @@
 using System.Security.Cryptography;
 using System.Text;
 using System.Text.Json;
-using goods.Models;
-using static Microsoft.Extensions.Logging.EventSource.LoggingEventSource;
-using Product = goods.Models.Coupang.Product;
-using Search = goods.Models.Coupang.Search;
 
 namespace goods.Models.Coupang
 {
@@ -115,16 +111,24 @@ namespace goods.Models.Coupang
                 // Step 4: HTTP 요청 보내기
                 var response = await _coupangPartners.httpClient.SendAsync(request);
 
+                var content = await response.Content.ReadAsStringAsync() ?? string.Empty;
+
                 if (response.IsSuccessStatusCode)
                 {
-                    var jsonString = await response.Content.ReadAsStringAsync();
-                    parseData = JsonSerializer.Deserialize<Product.Response>(jsonString);
-
-                    if (parseData is null)
+                    if (!string.IsNullOrWhiteSpace(content))
                     {
-                        return new Product.Response();
+                        var temp = JsonSerializer.Deserialize<Product.Response?>(content);
+
+                        if (temp != null)
+                        {
+                            parseData = temp;
+                        }
                     }
                 }
+                else
+                {
+                    Console.WriteLine($"Coupang API error ({response.StatusCode}): {content}");
+                }
 
                 response.EnsureSuccessStatusCode();
             }
@@ -163,16 +167,23 @@ namespace goods.Models.Coupang
                 // Step 4: HTTP 요청 보내기
                 var response = await _coupangPartners.httpClient.SendAsync(request);
 
+                var content = await response.Content.ReadAsStringAsync() ?? string.Empty;
+
                 if (response.IsSuccessStatusCode)
                 {
-                    var jsonString = await response.Content.ReadAsStringAsync();
-                    parseData = JsonSerializer.Deserialize<Product.Response>(jsonString);
-
-                    if (parseData is null)
+                    if (!string.IsNullOrWhiteSpace(content))
                     {
-                        return new Product.Response();
+                        var temp = JsonSerializer.Deserialize<Product.Response?>(content);
+                        if (temp != null)
+                        {
+                            parseData = temp;
+                        }
                     }
                 }
+                else
+                {
+                    Console.WriteLine($"Coupang API error ({response.StatusCode}): {content}");
+                }
 
                 response.EnsureSuccessStatusCode();
             }
@@ -215,16 +226,23 @@ namespace goods.Models.Coupang
                 // Step 4: HTTP 요청 보내기
                 var response = await _coupangPartners.httpClient.SendAsync(request);
 
+                var content = await response.Content.ReadAsStringAsync() ?? string.Empty;
+
                 if (response.IsSuccessStatusCode)
                 {
-                    var jsonString = await response.Content.ReadAsStringAsync();
-                    parseData = JsonSerializer.Deserialize<Search.Response>(jsonString);
-
-                    if (parseData is null)
+                    if (!string.IsNullOrWhiteSpace(content))
                     {
-                        return new Search.Response();
+                        var temp = JsonSerializer.Deserialize<Search.Response?>(content);
+                        if (temp != null)
+                        {
+                            parseData = temp;
+                        }
                     }
                 }
+                else
+                {
+                    Console.WriteLine($"Coupang API error ({response.StatusCode}): {content}");
+                }
 
                 response.EnsureSuccessStatusCode();
             }

+ 10 - 9
Models/Response/Product.cs

@@ -5,22 +5,22 @@ namespace goods.Models.Coupang.Product
     public class Response
     {
         [JsonPropertyName("rCode")]
-        public string RCode { get; set; }
+        public string RCode { get; set; } = null!;
 
         [JsonPropertyName("rMessage")]
-        public string RMessage { get; set; }
+        public string RMessage { get; set; } = null!;
 
         [JsonPropertyName("data")]
-        public List<Data> Data { get; set; }
+        public List<Data> Data { get; set; } = [];
     }
 
     public class Data
     {
         [JsonPropertyName("categoryName")]
-        public string CategoryName { get; set; }
+        public string CategoryName { get; set; } = null!;
 
         [JsonPropertyName("keyword")]
-        public string Keyword { get; set; }
+        public string Keyword { get; set; } = null!;
 
         [JsonPropertyName("rank")]
         public int Rank { get; set; }
@@ -35,15 +35,16 @@ namespace goods.Models.Coupang.Product
         public long ProductId { get; set; }
 
         [JsonPropertyName("productImage")]
-        public string ProductImage { get; set; }
+        public string ProductImage { get; set; } = null!;
 
         [JsonPropertyName("productName")]
-        public string ProductName { get; set; }
+        public string ProductName { get; set; } = null!;
 
         [JsonPropertyName("productPrice")]
-        public int ProductPrice { get; set; }
+        [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString)]
+        public decimal ProductPrice { get; set; }
 
         [JsonPropertyName("productUrl")]
-        public string ProductUrl { get; set; }
+        public string ProductUrl { get; set; } = null!;
     }
 }

+ 9 - 9
Models/Response/Search.cs

@@ -5,28 +5,28 @@ namespace goods.Models.Coupang.Search
     public class Response
     {
         [JsonPropertyName("rCode")]
-        public string RCode { get; set; }
+        public string RCode { get; set; } = null!;
 
         [JsonPropertyName("rMessage")]
-        public string RMessage { get; set; }
+        public string RMessage { get; set; } = null!;
 
         [JsonPropertyName("data")]
-        public DataContainer Data { get; set; } // data를 별도 객체로 매핑
+        public DataContainer? Data { get; set; } // data를 별도 객체로 매핑
     }
 
     public class DataContainer
     {
         [JsonPropertyName("landingUrl")]
-        public string LandingUrl { get; set; }
+        public string? LandingUrl { get; set; }
 
         [JsonPropertyName("productData")]
-        public List<Data> ProductData { get; set; } // productData를 List로 매핑
+        public List<Data>? ProductData { get; set; } // productData를 List로 매핑
     }
 
     public class Data
     {
         [JsonPropertyName("keyword")]
-        public string Keyword { get; set; }
+        public string Keyword { get; set; } = null!;
 
         [JsonPropertyName("rank")]
         public int Rank { get; set; }
@@ -41,15 +41,15 @@ namespace goods.Models.Coupang.Search
         public long ProductId { get; set; }
 
         [JsonPropertyName("productImage")]
-        public string ProductImage { get; set; }
+        public string ProductImage { get; set; } = null!;
 
         [JsonPropertyName("productName")]
-        public string ProductName { get; set; }
+        public string ProductName { get; set; } = null!;
 
         [JsonPropertyName("productPrice")]
         public int ProductPrice { get; set; }
 
         [JsonPropertyName("productUrl")]
-        public string ProductUrl { get; set; }
+        public string ProductUrl { get; set; } = null!;
     }
 }

BIN
bin/Debug/net8.0/goods.dll


BIN
bin/Debug/net8.0/goods.exe


BIN
bin/Debug/net8.0/goods.pdb


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
bin/Debug/net8.0/goods.staticwebassets.endpoints.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
bin/Debug/net8.0/goods.staticwebassets.runtime.json


BIN
obj/Debug/net8.0/apphost.exe


+ 0 - 24
obj/Debug/net8.0/goods.AssemblyInfo.cs

@@ -1,24 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     이 코드는 도구를 사용하여 생성되었습니다.
-//     런타임 버전:4.0.30319.42000
-//
-//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
-//     이러한 변경 내용이 손실됩니다.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: Microsoft.Extensions.Configuration.UserSecrets.UserSecretsIdAttribute("75150fce-710a-47df-8c66-f2fb213914ac")]
-[assembly: System.Reflection.AssemblyCompanyAttribute("goods")]
-[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
-[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c2ba12f3cf1198df1c5c92a7effaee9ce3312d5c")]
-[assembly: System.Reflection.AssemblyProductAttribute("goods")]
-[assembly: System.Reflection.AssemblyTitleAttribute("goods")]
-[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
-
-// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
-

+ 0 - 1
obj/Debug/net8.0/goods.AssemblyInfoInputs.cache

@@ -1 +0,0 @@
-f9e631634b786ede896a2c25cd9a0b9ee1756ea053c13a6fe95fec808b63b07c

BIN
obj/Debug/net8.0/goods.dll


BIN
obj/Debug/net8.0/goods.pdb


BIN
obj/Debug/net8.0/ref/goods.dll


BIN
obj/Debug/net8.0/refint/goods.dll


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/rjimswa.dswa.cache.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/rjsmcshtml.dswa.cache.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/rjsmrazor.dswa.cache.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/rpswa.dswa.cache.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/staticwebassets.build.endpoints.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/staticwebassets.build.json


+ 0 - 1
obj/Debug/net8.0/staticwebassets.build.json.cache

@@ -1 +0,0 @@
-rwNcMByvjqe6EsiJUC5DOp4lGkp245s9DADqui6ZzgE=

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
obj/Debug/net8.0/staticwebassets.development.json


+ 0 - 88
obj/Debug/net8.0/staticwebassets.upToDateCheck.txt

@@ -1,88 +0,0 @@
-wwwroot\css\site.css
-wwwroot\css\site.min.css
-wwwroot\css\tailwind.css
-wwwroot\css\tailwind.output.css
-wwwroot\favicon.ico
-wwwroot\image\1.png
-wwwroot\image\10.png
-wwwroot\image\11.png
-wwwroot\image\12.png
-wwwroot\image\13.png
-wwwroot\image\14.png
-wwwroot\image\15.png
-wwwroot\image\16.png
-wwwroot\image\17.png
-wwwroot\image\18.png
-wwwroot\image\19.png
-wwwroot\image\2.png
-wwwroot\image\20.png
-wwwroot\image\3.png
-wwwroot\image\4.png
-wwwroot\image\5.png
-wwwroot\image\6.png
-wwwroot\image\7.png
-wwwroot\image\8.png
-wwwroot\image\9.png
-wwwroot\image\btn-cancel.svg
-wwwroot\image\btn-menu.svg
-wwwroot\image\rocket-logo.png
-wwwroot\js\site.js
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.rtl.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.rtl.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.rtl.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-grid.rtl.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.rtl.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.rtl.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.rtl.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.rtl.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.rtl.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.rtl.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.rtl.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap-utilities.rtl.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap.css
-wwwroot\lib\bootstrap\dist\css\bootstrap.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap.min.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap.rtl.css
-wwwroot\lib\bootstrap\dist\css\bootstrap.rtl.css.map
-wwwroot\lib\bootstrap\dist\css\bootstrap.rtl.min.css
-wwwroot\lib\bootstrap\dist\css\bootstrap.rtl.min.css.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.esm.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.esm.js.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.esm.min.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.esm.min.js.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.js.map
-wwwroot\lib\bootstrap\dist\js\bootstrap.min.js
-wwwroot\lib\bootstrap\dist\js\bootstrap.min.js.map
-wwwroot\lib\bootstrap\LICENSE
-wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.js
-wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.min.js
-wwwroot\lib\jquery-validation-unobtrusive\LICENSE.txt
-wwwroot\lib\jquery-validation\dist\additional-methods.js
-wwwroot\lib\jquery-validation\dist\additional-methods.min.js
-wwwroot\lib\jquery-validation\dist\jquery.validate.js
-wwwroot\lib\jquery-validation\dist\jquery.validate.min.js
-wwwroot\lib\jquery-validation\LICENSE.md
-wwwroot\lib\jquery\dist\jquery.js
-wwwroot\lib\jquery\dist\jquery.min.js
-wwwroot\lib\jquery\dist\jquery.min.map
-wwwroot\lib\jquery\LICENSE.txt
-wwwroot\robots.txt
-wwwroot\sitemap.xml

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно