Hi,
Commerce tab is not visible in CMS.I verified the roles of "Commerceadmins",everything looks fine. Could you please help out on this.
Thanks,
Nymisha
Hi,
Commerce tab is not visible in CMS.I verified the roles of "Commerceadmins",everything looks fine. Could you please help out on this.
Thanks,
Nymisha
Hi,
When I run BusinessManager.List without any filters, BusinessManager.List("Contact", new FilterElement[] {}) commerce manager magically uses top 1000 in the background. So if you have more than 1000 contacts you will not be able to search for them without appying a filter.
Is there any way to get alla to contacts anyway without applying a filter? I want BusinessManager.List("Contact", new FilterElement[] {}) to give me all, not to do a freakin' top 1000 without me saying so.
Hi Team,
I am facing issues in fetching the catalog sku's.
Please find the code below
private static IContentLoader contentLoader = ServiceLocator.Current.GetInstance<IContentLoader>();
var catalogRoot = contentLoader.Get<IContent>(Guid.Parse(catalogReference.CatalogContentReferenceId));
var currencySKUs = contentLoader.GetChildren<Currency>(catalogRoot );
The above code is returning the sku's.
But if I remove any sku relation from the catalog, then its is not reflected in the results until I recycle my apppool.
Can you let me if I need to do any configurtaion for this.
CMS version - 7.11
Commerce 7.5
Thanks in advance.
Thanks & Regards,
Manjeera T
Hi Team,
I am facing the below error while browsing my local episerver site.Could you please help me out in resolving this.
Stack Trace:
[ArgumentNullException: Value cannot be null. Parameter name: key] System.Collections.Generic.Dictionary`2.FindEntry(TKey key) +14132144 System.Collections.Generic.Dictionary`2.ContainsKey(TKey key) +10 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.ProcessValueFromDb(Type targetType, Object value, String name, ProviderCallContext context, Type targetParentType) +137 EPiServer.Data.Dynamic.Providers.SqlServerDataStoreProvider.ProcessValueFromDb(Type targetType, Object value, String name, ProviderCallContext context, Type targetParentType) +513 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadInlineProperties(ProviderCallContext ctx) +580 EPiServer.Data.Dynamic.Providers.<>c__DisplayClassa.<Load>b__9() +21 EPiServer.Data.Dynamic.Providers.<>c__DisplayClass1`1.<Execute>b__0() +141 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.InternalExecute(Func`1 method) +40 EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +649 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context) +284 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx) +1151 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadObject(ProviderCallContext context) +145 EPiServer.Data.Dynamic.Providers.<>c__DisplayClass1`1.<Execute>b__0() +141 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.InternalExecute(Func`1 method) +40 EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +649 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadSubObject(Identity id, Type type, String storeName, ProviderCallContext context) +284 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferenceMarkers(IList list, ProviderCallContext context) +109 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadCollection(ProviderCallContext context, CollectionPropertyMap collectionProperty) +1785 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadReferencesAndCollections(ProviderCallContext ctx) +1321 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.LoadObject(ProviderCallContext context) +145 EPiServer.Data.Dynamic.Providers.<>c__DisplayClass1`1.<Execute>b__0() +141 EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.InternalExecute(Func`1 method) +40 EPiServer.Data.Dynamic.DynamicDataStore.InternalLoad(Identity id, Type type, LoadAsObjectType loadAs, ProviderCallContext parentContext) +649 EPiServer.Data.Dynamic.EPiServerDynamicDataStore.Load(Identity id) +74 EPiServer.Data.Dynamic.DynamicDataCollectionEnumerator.get_Current() +323 |
Thanks,
Neha
Hello.
I have 2 promotions:
1) Entry level which gives 50% off on specified variant (placed price 13$);
2) Order level which gives 1$ off if cart subtotal greater than 10$;
Before applying promotions my cart total is 18$ (subtotal 13$ + handlingtotal 5$).
When I apply entry level promotion I got updated subtotal 6.5$ and total 11.5$. Then I apply the second promotion and I expect that it will not be applied (because condition >10$), but as I see the second promotion is still applied.
I changed the condition to "running total greater than 10$" and now its working as expected but can someone explain whats wrong with conditions built with subtotal/total? And in which cases what conditions better to use? For example, how to change the second promotion to check cart's total (including handling totals and etc)?
Thanks.
P.S. Episerver Commerce 9.19.1
Hi,
When deploying to our production environment we noticed a significant performance decrease in searching for articles in commerce manager. From time to time (seems like first time, and then after 1 or so minutes) searching for articles takes 90 seconds.
After decompiling and adding stopwatches here and there, we have noticed that it is this line that takes 90 seconds.
ISearchResults searchResults = new SearchManager(Mediachase.Commerce.Core.AppContext.Current.ApplicationName).Search((ISearchCriteria)entrySearchCriteria);
It is located in the CatalogEntrySearchDialog.cs. Any ideas on why it takes so long time in production?
//Tommy
I'm running 9.20.0
I can't login with users created in the cms admin. It's been working before and somwhere along the way, this problem arised. It works on my local dev against my local database, but not against the database on azure. I've also tried to run my local application against the database on azure with the same result.
The user is created and appears in the cms, but when I try to login with the user I get a NullReferenceException with following StackTrace:
[NullReferenceException: Object reference not set to an instance of an object.] at Mediachase.BusinessFoundation.Data.BaseFieldValidator.GetValue() at Mediachase.BusinessFoundation.Data.StringFieldValidator.EvaluateIsValid() at Mediachase.BusinessFoundation.Data.BaseFieldValidator.Validate() at Mediachase.BusinessFoundation.Data.Meta.MetaObject.Validate() at Mediachase.BusinessFoundation.Data.Meta.MetaObject.OnSaving() at Mediachase.BusinessFoundation.Data.Meta.MetaObject.Save(Boolean forceSave) at Mediachase.BusinessFoundation.Data.Meta.MetaObject.Save() at Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Create(BusinessContext context) at Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Execute(BusinessContext context) at Mediachase.BusinessFoundation.Data.Business.BaseRequestHandler.Mediachase.BusinessFoundation.Data.Business.IRequestHandler.Execute(BusinessContext context) at Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipeline(Request request, IRequestHandler handler) at Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipelineInTransaction(Request request, IRequestHandler handler) at Mediachase.BusinessFoundation.Data.Business.BusinessManager.Execute(Request request) at Mediachase.BusinessFoundation.Data.Business.BusinessManager.Create(EntityObject target) at Mediachase.Commerce.Customers.CustomerContact.SaveChanges() at Mediachase.Commerce.Security.PrincipalExtensions.GetCustomerContact(IPrincipal principal) at Mediachase.Commerce.Security.PrincipalExtensions.GetContactId(IPrincipal principal) at Mediachase.Commerce.Core.Modules.BusinessFoundationInitializeModule.context_AuthorizeRequest(Object sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Update: It seems to always happen when a CustomerContact is created. When I try to create a new Contact inside Commerce Manager I get exception at the same place with the following StackTrace:
[NullReferenceException: Object reference not set to an instance of an object.] Mediachase.BusinessFoundation.Data.BaseFieldValidator.GetValue() +273 Mediachase.BusinessFoundation.Data.StringFieldValidator.EvaluateIsValid() +73 Mediachase.BusinessFoundation.Data.BaseFieldValidator.Validate() +66 Mediachase.BusinessFoundation.Data.Meta.MetaObject.Validate() +166 Mediachase.BusinessFoundation.Data.Meta.MetaObject.OnSaving() +118 Mediachase.BusinessFoundation.Data.Meta.MetaObject.Save(Boolean forceSave) +76 Mediachase.BusinessFoundation.Data.Meta.MetaObject.Save() +54 Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Create(BusinessContext context) +976 Mediachase.BusinessFoundation.Data.Business.EntityObjectDefaultRequestHandler.Execute(BusinessContext context) +720 Mediachase.BusinessFoundation.Data.Business.BaseRequestHandler.Mediachase.BusinessFoundation.Data.Business.IRequestHandler.Execute(BusinessContext context) +60 Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipeline(Request request, IRequestHandler handler) +151 Mediachase.BusinessFoundation.Data.Business.BusinessManager.ExecutePipelineInTransaction(Request request, IRequestHandler handler) +117 Mediachase.BusinessFoundation.Data.Business.BusinessManager.Execute(Request request) +768 Mediachase.BusinessFoundation.Data.Business.BusinessManager.Create(EntityObject target) +106 Mediachase.Commerce.Manager.Apps.MetaUIEntity.Tabs.EntityEditTab.SaveChanges(IDictionary context) +940 Mediachase.Commerce.Manager.Core.Controls.EditViewControl.SaveChanges(IDictionary context) +290 Mediachase.Commerce.Manager.Core.SaveControl.OnSaveChanges(Object sender, EventArgs e) +60 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +11762636 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +149 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6015
Hi,
I recently upgraded a site to update 126 (CMS 9.12.1.0, Commerce 9.22, ServiceApi 2.0.10) and at the same time enabled remote events (world.episerver.com/documentation/Items/Developers-Guide/Episerver-CMS/9/Event-management/WCF-event-management/).
Everything is working as expected - the admin/edit UI, uploading media files, updating a page on the edit server sends an update to the front end server and so forth.
Calling "simple" methods in the ServiceApi returns data as expected, but when posting a file to "/episerverapi/commerce/import/catalog" I get a log message as follows:
2016-09-06 20:46:13,632 [281] ERROR EPiServer.ServiceApi.Extensions.HttpRequestMessageExtensions: File is not uploaded, please check permission on your app data folder in episerverframework.config file. System.IO.IOException: Error reading MIME multipart body part. ---> System.InvalidOperationException: Unable to read the entity body in Bufferless mode. The request stream has already been buffered. at System.Web.Http.WebHost.HttpControllerHandler.<>c__DisplayClass13.b__10() at System.Web.Http.WebHost.HttpControllerHandler.LazyStreamContent.get_StreamContent() at System.Web.Http.WebHost.HttpControllerHandler.LazyStreamContent.CreateContentReadStreamAsync() at System.Net.Http.HttpContent.ReadAsStreamAsync() at System.Net.Http.HttpContentMultipartExtensions.d__0`1.MoveNext() --- End of inner exception stack trace --- at System.Net.Http.HttpContentMultipartExtensions.d__0`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at EPiServer.ServiceApi.Extensions.HttpRequestMessageExtensions.d__0.MoveNext() System.IO.IOException: Error reading MIME multipart body part. ---> System.InvalidOperationException: Unable to read the entity body in Bufferless mode. The request stream has already been buffered. at System.Web.Http.WebHost.HttpControllerHandler.<>c__DisplayClass13.b__10() at System.Web.Http.WebHost.HttpControllerHandler.LazyStreamContent.get_StreamContent() at System.Web.Http.WebHost.HttpControllerHandler.LazyStreamContent.CreateContentReadStreamAsync() at System.Net.Http.HttpContent.ReadAsStreamAsync() at System.Net.Http.HttpContentMultipartExtensions.d__0`1.MoveNext() --- End of inner exception stack trace --- at System.Net.Http.HttpContentMultipartExtensions.d__0`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at EPiServer.ServiceApi.Extensions.HttpRequestMessageExtensions.d__0.MoveNext()
The API itself returns an exception:
{Message:An error has occurred.,ExceptionMessage:Object reference not set to an instance of an object.,ExceptionType:System.NullReferenceException,StackTrace: at EPiServer.ServiceApi.Commerce.Controllers.Catalog.CatalogImportExportController.d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.AuthenticationFilterResult.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext()}
I've triple checked the configurations and settings on the IIS etc but the error persists.
The same setup is running in a test environment where the issue does not appear, the only difference is that the production environment is on two separate servers where as the test environment is running on one server. But the remote events is setup as per instance, so it should basically be the same thing in theory.
A list of things that have been tested:
Is there anybody who has encountered this before or has any suggestions on other options to test in order to get the catalog import working?
Thanks!
Hi Episerver developers,
i get this exception that i can't wrap my head around and hopefully you can give me some ideas.
My product listing works and and shows the articles when i click on them until i add inventory to the item.
Then it breaks when trying to go to the productdetail view from the list.
I get this exception and the breakpoint doesn't hit the productdetail controller.
Im running commerce 9.19.1
Any ideas would be much appritiated?!
[NullReferenceException: Object reference not set to an instance of an object.]
EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.AddStockPlacementPropertyValues(VariationRow variationRow, IContent content) +569
EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadStaticContentProperties(CatalogEntryRow entryRow, CatalogItemSeoRow seoRow, VariationRow variationRow, EntryContentBase content) +155
EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadProperties(CatalogEntryRow entryRow, CatalogItemSeoRow seoRow, VariationRow variationRow, EntryContentBase content, MetaObjectAccessor metaObjectAccessor) +141
EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.ConstructEntries(CatalogEntryDto entryDto, IDictionary`2 versionsForUnpublishedContent, IList`1 entryNodeRelations, String language) +708
EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.Create(IList`1 contentLinks, String language) +638
EPiServer.Commerce.Catalog.Provider.<>c__DisplayClass13_0.<LoadSpecificContentInstances>b__0(ICatalogContentBuilder builder, IList`1 links) +16
EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.ConstructContent(IList`1 contentLinks, Func`3 createContentFunc) +339
EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.LoadSpecificContentInstances(IList`1 contentLinks, String language) +453
EPiServer.Commerce.Catalog.Provider.<>c__DisplayClass28_0.<LoadContents>b__0(IList`1 refs) +44
EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.BatchLoad(IList`1 contentLinks, Func`2 dbLoader) +141
EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.LoadContents(IList`1 contentReferences, ILanguageSelector selector) +425
EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.LoadContent(ContentReference contentLink, ILanguageSelector languageSelector) +138
EPiServer.Core.<>c__DisplayClass115_0.<LoadContentFromCacheOrRepository>b__0() +93
EPiServer.Core.OptimisticCache`1.Read(String cacheKey, ReadAndCacheObject`1 readAndCacheObject) +563
EPiServer.Core.ContentProvider.LoadContentFromCacheOrRepository(ContentReference contentreference, ILanguageSelector selector) +728
EPiServer.Core.DefaultContentLoader.GetBySegmentInternal(ContentProvider provider, ContentReference parentLink, String urlSegment, LoaderOptions loaderOptions) +352
EPiServer.Core.DefaultContentLoader.GetBySegment(ContentReference parentLink, String urlSegment, LoaderOptions selector) +56
EPiServer.Core.DefaultContentLoader.GetBySegment(ContentReference parentLink, String urlSegment, CultureInfo language) +99
EPiServer.Commerce.Routing.HierarchicalCatalogPartialRouter.FindNextContentInSegmentPair(CatalogContentBase catalogContent, SegmentPair segmentPair, SegmentContext segmentContext, CultureInfo cultureInfo) +304
EPiServer.Commerce.Routing.HierarchicalCatalogPartialRouter.GetCatalogContentRecursive(CatalogContentBase catalogContent, SegmentPair segmentPair, SegmentContext segmentContext, CultureInfo cultureInfo) +149
EPiServer.Commerce.Routing.HierarchicalCatalogPartialRouter.GetCatalogContentRecursive(CatalogContentBase catalogContent, SegmentPair segmentPair, SegmentContext segmentContext, CultureInfo cultureInfo) +371
EPiServer.Commerce.Routing.HierarchicalCatalogPartialRouter.GetCatalogContentRecursive(CatalogContentBase catalogContent, SegmentPair segmentPair, SegmentContext segmentContext, CultureInfo cultureInfo) +371
EPiServer.Commerce.Routing.HierarchicalCatalogPartialRouter.RoutePartial(PageData content, SegmentContext segmentContext) +307
EPiServer.Web.Routing.PartialRouter`2.RoutePartial(IContent content, SegmentContext segementContext) +119
EPiServer.Web.Routing.Segments.PartialSegment.RouteDataMatch(SegmentContext context) +272
EPiServer.Web.Routing.<>c__DisplayClass44_0.<MatchSegments>b__0(ISegment s) +15
System.Linq.Enumerable.All(IEnumerable`1 source, Func`2 predicate) +146
Hi!
How can I unpublish a product without deleting it? Should I set it's status? And what SaveAction should I use?
Hello,
We have the requirement to allow only certain editors to manage the catalog(s) for a certain language (e.g. french team manages the french version of the catalog), in CMS this is possible via the "Manage Website Languages" page and permissions can then be applied there but it appears this doesnt affect Commerce, is this possible? or is this a feature yet to come to Commerce?
Regards
Ben
I can see in the SDK that there are events available that get tied to Catalog items, but is there any available Event system for when a Commerce manager deletes a user from the Contacts section?
Or would this involve extending the Commerce Manager screen itself and accessing the controls that way round? (i'm hoping there is an event that can be used)
I'm working with a Globalised e-commerce site and our customer is requesting a property they only want to appear for one culture. Since the site is consisting on many languages it will be an disadvantage to have the property for all cultures. Is there a way to hide/remove the property for the rest of the cultures? The Culturespecific attribute is only making the values unique for each culture so that won't help me in this case.
//J
Hi All,
I am facing a strange issue with my pruchase orders .
Placed price is becmong zero for one of the line items in Purchase orders .
Any suggestion to get ride of this issue will be appreciated.
Hi,
We're have a custo Business Foundation entity type, and trying to add functionality to the Commerce back-end to allow users to add/edit/delete list items.
We've implemented the list view which is is working fine - and now trying to add a custom handler to delete items. I've implemented the following delete handler:
public class ExcludedPostcodeDeleteHandler : EcfListViewSelectionHandlerBase { protected override void ProcessSelectedItems(string[] items) { for (int index = 0; index < items.Length; ++index) { string[] keyIdStringItems = EcfListView.GetPrimaryKeyIdStringItems(items[index]); if (keyIdStringItems != null && keyIdStringItems.Any()) { int id; if (int.TryParse(keyIdStringItems.First(), out id)) ExcludedPostcodeManager.Current.DeletePostcode(id); } } } }
With the command defined in the xml:
<Command id="cmdExcludePostcodeDelete"><ConfirmationText>{CommerceManager:DeleteSelectedItemsConfirmation}</ConfirmationText><CommandType>ServerAction</CommandType><Handler type="App.CommerceManager.Apps.Catalog.ExcludedPostcodeDeleteHandler, App.CommerceManager" /><UpdatePanelIds>panelMainListView</UpdatePanelIds><EnableHandler type="Mediachase.Commerce.Manager.Apps.Catalog.CommandHandlers.CatalogPermissionEnableHandler, Mediachase.ConsoleManager" /></Command>
And the command mapped in the following column definition:
<Column width="50" dataField="ExcludedPostcodeId" headingText="" columnType="Action"><Item imageUrl="~/Apps/Shell/styles/Images/edit.gif" commandName="cmdExcludePostcodeEdit" commandParameters="ExcludedPostcodeId" toolTip="Edit" permissions="catalog:admin:taxcategories:mng:edit" /><Item imageUrl="~/Apps/Shell/styles/Images/toolbar/delete.gif" commandName="cmdExcludePostcodeDelete" commandParameters="ExcludedPostcodeId" toolTip="Delete" permissions="catalog:admin:taxcategories:mng:delete" /></Column>
However the ID of the selected item is not making it through to the command handler - I get a single item in the array containing an empty string.
Any idea why that might be?
Thanks
Hi,
We are using EPiServer.Commerce v9.14.1 and we have encoutnered an issue with our products search page.
Suddenly, the page was throwing below error:
System.NullReferenceException: Object reference not set to an instance of an object.
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.AddStaticAttributePropertyValues(CatalogEntryRow entryRow, EntryContentBase content)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadStaticContentProperties(CatalogEntryRow entryRow, CatalogItemSeoRow seoRow, VariationRow variationRow, EntryContentBase content)
at EPiServer.Commerce.Catalog.Provider.Construction.CatalogPropertyLoader.LoadProperties(CatalogEntryRow entryRow, CatalogItemSeoRow seoRow, VariationRow variationRow, EntryContentBase content, MetaObjectAccessor metaObjectAccessor)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.ConstructEntries(CatalogEntryDto entryDto, IDictionary`2 versionsForUnpublishedContent, IList`1 entryNodeRelations, String language)
at EPiServer.Commerce.Catalog.Provider.Construction.EntryBuilder.Create(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.ConstructContent(IList`1 contentLinks, Func`3 createContentFunc)
at EPiServer.Commerce.Catalog.Provider.CatalogContentLoader.LoadSpecificContentInstances(IList`1 contentLinks, String language)
at EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.BatchLoad(IList`1 contentLinks, Func`2 dbLoader)
at EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.LoadContents(IList`1 contentReferences, ILanguageSelector selector)
at EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.LoadContent(ContentReference contentLink, ILanguageSelector languageSelector)
at EPiServer.Core.ContentProvider.<>c__DisplayClass114_0.<LoadContentFromCacheOrRepository>b__0()
at EPiServer.Core.OptimisticCache`1.Read(String cacheKey, ReadAndCacheObject`1 readAndCacheObject)
at EPiServer.Core.ContentProvider.LoadContentFromCacheOrRepository(ContentReference contentreference, ILanguageSelector selector)
at EPiServer.Core.ProviderPipelineImplementation.GetItem(ContentProvider provider, ContentReference contentLink, LoaderOptions loaderOptions)
at EPiServer.Core.DefaultContentLoader.TryGet[T](ContentReference contentLink, LoaderOptions loaderOptions, T& content)
at EPiServer.Web.Routing.DefaultUrlResolver.GetVirtualPathInternal(ContentReference contentLink, String language, VirtualPathArguments arguments)
at EPiServer.Commerce.Routing.RequestCacheUrlResolver.GetVirtualPathInternal(ContentReference contentLink, String language, VirtualPathArguments arguments)
at EPiServer.Web.Routing.UrlResolver.GetUrl(ContentReference contentLink, String language)
at EPiServer.Web.Mvc.Html.UrlExtensions.ContentUrl(UrlHelper urlHelper, ContentReference contentLink)
at ASP._Page_Views_Shared_Products_Details_cshtml.Execute() in ~\Views\Shared\Products\Details.cshtml:line 88
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Recycling app pool fixed the issue.
Any idea what might have caused this error?
Thanks!
Hi!
If I list a products variants they are always displayed in the default language. If I change the view language to another language the variant list and product lists are always displayed in the master language. I can see that the Name property is not culture specific so it is probably the Name property that is used in all the lists. Is there any way to configure Commerce to use DisplayName, if it exists, instead in all lists?
We are using Commer 9.17.0
Thanks!
/Kristoffer
Hi.
The purchase order can be one of next statuses: InProgress, Cancelled, Completed etc
How can I add a new status to this list? Maybe does Epi not support it?
Commerce Version 9.14.1
Best regards
Hello,
About a month ago we upgraded from 7.19 (or the latest version of 7) of Commerce all the way to 9.19.
Since then we've noticed that catalog/product information changes are not reflected until the app pools are recycled on IIS. Typically this would take 15-20 minutes on 7.15.
My gut tells me it's something with our Caching configuration, we use the standard out of the box caching on episerver. Is there anything other than ecf.catalog.config that is used to govern caching now?
Any information would be helpful, this is a strange one.
our ecf.catalog.config (everything is set to 15 minutes)
<?xml version="1.0"?><Catalog autoConfigure="true"><Connection connectionStringName="EcfSqlConnection" /><Cache enabled="true" collectionTimeout="0:15:0" entryTimeout="0:15:0" nodeTimeout="0:15:0" schemaTimeout="0:15:0" /><Encoding imageQualityPercentage="80" defaultFormat="jPeg" /><Roles /><Events></Events></Catalog>
Hello,
I am running into a weird issue with oder form caluclations. The site I am working on has a lot of products that are free, but, they need to be shipped, so, there is a charge for the shipment. I came across an issue today with a test case involving an order-level discount. The coupon was for 1.00 off the total order cost. With a free product where this coupon is applied, the subtotal on the order form is -1.00. What is then happening is that it is calculating tax on the -1.00. The interesting thing is that it subtracts that negative tax amount from the order total, so this is what I am ending up with for the order form totals:
Coupon Discount: $1.00
SubTotal: -$1.00 (Product is Free)
Shiping: $7.25
Tax: -$0.06 (This is based on Illinois sales tax rate of 6.25%)
Total: $6.19 (should be $6.25)
We are using customized workflows on this project, but, I confirmed that the same thing happens with the default Commerce workflows. On this checkout page. I am running CartPrepare before the page loads. It seems to me that if the order total is <= 0.00, it shouldn't be applying any sales tax. Am I missing something? Any insight into this issue would be greatly appreciated.
Here are the versions of Commerce and CMS I am running:
<package id="EPiServer.CMS" version="9.12.1" targetFramework="net452" /><package id="EPiServer.CMS.Core" version="9.12.1" targetFramework="net452" /><package id="EPiServer.CMS.UI" version="9.9.1" targetFramework="net452" /><package id="EPiServer.CMS.UI.Core" version="9.9.1" targetFramework="net452" /><package id="EPiServer.Commerce" version="9.22.0" targetFramework="net452" /><package id="EPiServer.Commerce.Core" version="9.22.0" targetFramework="net452" /><package id="EPiServer.Commerce.FindSearchProvider" version="8.13.2" targetFramework="net452" /><package id="EPiServer.Commerce.UI" version="9.22.0" targetFramework="net452" /><package id="EPiServer.Commerce.UI.ManagerIntegration" version="9.22.0" targetFramework="net452" />
Thanks!
John