Nov 14, 2017
Nov 30, 2017
Core
Closed, Fixed and tested
Steps to reproduce
Expected: Can delete category.
Actual: Delete fails with below error in stack trace:
[DBConcurrencyException: Concurrency violation: the DeleteCommand affected 0 of the expected 1 records.]
System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) +1661056
System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) +53
System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) +2415
System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows) +254
Mediachase.Data.Provider.<>c_DisplayClass14_0.<SaveRows>b_0() in C:\source\commerce\ECF\Mediachase.SqlDataProvider\SqlDataProvider.cs:237
EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute(Func`1 method) +65
Mediachase.Data.Provider.SqlDataProvider.WithRetry(Func`1 action) in C:\source\commerce\ECF\Mediachase.SqlDataProvider\SqlDataProvider.cs:124
Mediachase.Data.Provider.SqlDataProvider.SaveRows(DataCommand command) in C:\source\commerce\ECF\Mediachase.SqlDataProvider\SqlDataProvider.cs:234
Mediachase.Data.Provider.SqlDataProvider.Save(DataCommand command) in C:\source\commerce\ECF\Mediachase.SqlDataProvider\SqlDataProvider.cs:113
Mediachase.Data.Provider.DataService.Save(DataCommand command) in C:\source\commerce\ECF\Mediachase.DataProvider\DataService.cs:136
Mediachase.Commerce.Storage.DataHelper.SaveTableSimpleWorker(DataCommand cmd, DataTable table, DataViewRowState state) in C:\source\commerce\ECF\Mediachase.Commerce\Storage\DataHelper.cs:230
Mediachase.Commerce.Storage.DataHelper.SaveDataSetSimple(DataCommand cmd, DataSet set, String[] tables) in C:\source\commerce\ECF\Mediachase.Commerce\Storage\DataHelper.cs:66
Mediachase.Commerce.Catalog.Data.CatalogAssociationAdmin.Save() in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Data\CatalogAssociationAdmin.cs:124
Mediachase.Commerce.Catalog.Managers.CatalogAssociationManager.SaveCatalogAssociation(CatalogAssociationDto dataset) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Managers\CatalogAssociationManager.cs:147
Mediachase.Commerce.Catalog.Managers.CatalogAssociationManager.DeleteCatalogEntryAssociations(List`1 deletedEntries) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Managers\CatalogAssociationManager.cs:226
Mediachase.Commerce.Catalog.Managers.CatalogEntryManager.DeleteCatalogEntries(IInventoryService inventoryService, IEnumerable`1 catalogEntryIds) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Managers\CatalogEntryManager.cs:463
Mediachase.Commerce.Catalog.Managers.CatalogNodeManager.DeleteCatalogNodeAndEntries(IInventoryService inventoryService, Int32 catalogNodeId, Int32 catalogId) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Managers\CatalogNodeManager.cs:474
Mediachase.Commerce.Catalog.Managers.CatalogNodeManager.DeleteCatalogNodeAndEntries(IInventoryService inventoryService, Int32 catalogNodeId) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Managers\CatalogNodeManager.cs:419
Mediachase.Commerce.Catalog.Impl.CatalogContextImpl.DeleteCatalogNodeAndEntries(Int32 catalogNodeId) in C:\source\commerce\ECF\Mediachase.Commerce\Catalog\Impl\CatalogContextImpl.cs:415
EPiServer.Commerce.Catalog.Provider.Persistence.NodeContentCommitter.Delete(ContentReference contentLink) in C:\source\commerce\EPiServer.Business.Commerce\Catalog\Provider\Persistence\NodeContentCommitter.cs:204
EPiServer.Commerce.Catalog.Provider.CatalogContentCommitterHandler.Delete(ContentReference contentLink) in C:\source\commerce\EPiServer.Business.Commerce\Catalog\Provider\CatalogContentCommitterHandler.cs:103
EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.Delete(ContentReference contentLink, Boolean forceDelete) in C:\source\commerce\EPiServer.Business.Commerce\Catalog\Provider\CatalogContentProvider.cs:936
EPiServer.Core.Internal.DefaultContentRepository.Delete(ContentReference contentLink, Boolean forceDelete, AccessLevel access) +908
EPiServer.Commerce.Shell.Controllers.DeleteController.Delete(IEnumerable`1 contentReferences) in C:\source\commerce\EPiServer.Commerce.Shell\Controllers\DeleteController.cs:67
lambda_method(Closure , ControllerBase , Object[] ) +119
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
System.Web.Mvc.<>c_DisplayClass15.<InvokeActionMethodWithFilters>b_12() +80
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +452
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +452
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +452
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +981
System.Web.Mvc.Controller.ExecuteCore() +128
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +235
EPiServer.Shell.Web.Mvc.ModuleMvcHandler.ProcessController(IController controller) +49
EPiServer.Shell.Web.Mvc.ModuleMvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +28
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +1028
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134