From 66db28483b935914ca6514390cba4334b63569a9 Mon Sep 17 00:00:00 2001 From: Bill Wagner Date: Thu, 23 Mar 2017 11:50:09 -0400 Subject: [PATCH] UI is in place for insert. --- .../Catalog.WebForms/Default.aspx | 11 +++- .../Catalog.WebForms/EditCatalogItem.aspx | 50 +++++++++++++++++++ .../Catalog.WebForms/EditCatalogItem.aspx.cs | 23 ++++++--- 3 files changed, 75 insertions(+), 9 deletions(-) diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/Default.aspx b/src/Web/Catalog.WebForms/Catalog.WebForms/Default.aspx index 7ff40d5c0..dc6c7bc21 100644 --- a/src/Web/Catalog.WebForms/Catalog.WebForms/Default.aspx +++ b/src/Web/Catalog.WebForms/Catalog.WebForms/Default.aspx @@ -4,7 +4,9 @@ + ItemType="eShopOnContainers.Core.Models.Catalog.CatalogItem" + SelectMethod="GetCatalogDataAsync" + DeleteMethod="DeleteCatalogItemAsync">
There's nothing in the catalog to display at this time. @@ -44,4 +46,11 @@
+
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx b/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx index 1cbbbc206..d827e1a56 100644 --- a/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx +++ b/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx @@ -57,5 +57,55 @@ + +
+
+ + +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
diff --git a/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx.cs b/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx.cs index cac49819a..45fcd69d3 100644 --- a/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx.cs +++ b/src/Web/Catalog.WebForms/Catalog.WebForms/EditCatalogItem.aspx.cs @@ -32,17 +32,24 @@ namespace eShopOnContainers.Catalog.WebForms // The id parameter should match the DataKeyNames value set on the control // or be decorated with a value provider attribute, e.g. [QueryString]int id - public async Task GetCatalogItemAsync([QueryString]int id) + public async Task GetCatalogItemAsync([QueryString]int? id) { - // TODO: If null, go into insert mode. - var itemToEdit = await catalog?.GetCatalogItemAsync(id.ToString()); - return itemToEdit; + if (id.HasValue) + { + var itemToEdit = await catalog?.GetCatalogItemAsync(id.ToString()); + return itemToEdit; + } + else + { + EditCatalogItemForm.ChangeMode(FormViewMode.Insert); + return new CatalogItem(); + } } // The id parameter name should match the DataKeyNames value set on the control public void UpdateCatalogItemAsync(int id) { - eShopOnContainers.Core.Models.Catalog.CatalogItem item = null; + CatalogItem item = null; // Load the item here, e.g. item = MyDataLayer.Find(id); if (item == null) { @@ -50,11 +57,11 @@ namespace eShopOnContainers.Catalog.WebForms ModelState.AddModelError("", String.Format("Item with id {0} was not found", id)); return; } - TryUpdateModel(item); - if (ModelState.IsValid) + + if (TryUpdateModel(item) && (ModelState.IsValid)) { // Save changes here, e.g. MyDataLayer.SaveChanges(); - + // Send the item to the Catalog Service. } }