private void DeliveryMethodSaveNamesAndDescriptions(DeliveryMethodCarrier newCarrier, DeliveryMethodCarrier delivery) { var displayNames = delivery.Translations.ToDictionary(x => x.LanguageID, x => x.DisplayName); foreach (var item in displayNames) { var translationCarrier = delivery.Translations.FirstOrDefault(x => x.LanguageID == item.Key); if (translationCarrier == null) { translationCarrier = new DeliveryMethodTranslationCarrier(newCarrier.ID, item.Key, null, null); newCarrier.Translations.Add(translationCarrier); } translationCarrier.DisplayName = item.Value; newCarrier.Translations.Add(translationCarrier); } }
private void CreateDeliveryMethod(DeliveryMethodCarrier delivery, StructureInfo structureInfo) { var delMethod = ModuleECommerce.Instance.DeliveryMethods.Get(delivery.ID, _securityToken); if (delMethod == null) { var carrier = new DeliveryMethodCarrier(); carrier.Name = delivery.Name; carrier.DeliveryProviderID = delivery.DeliveryProviderID; carrier.ImageID = Guid.Empty; carrier.ID = delivery.ID; DeliveryMethodSaveNamesAndDescriptions(carrier, delivery); carrier.Costs = UpdateDeliveryCurrency(delivery.Costs, structureInfo); carrier.Translations = UpdateLanguageId(delivery.Translations, structureInfo); ModuleECommerce.Instance.DeliveryMethods.Create(carrier, _securityToken); } }
public void GetDisplayNameBasedOnChannelsLanguage() { var methodId = Guid.NewGuid(); using (Solution.Instance.SystemToken.Use()) { var language = IoC.Resolve <LanguageService>().Get("en-US"); var method = ModuleECommerce.Instance.DeliveryMethods.Get("Standard", Solution.Instance.SystemToken)?.GetAsCarrier(); if (method == null) { method = new DeliveryMethodCarrier(); method.ID = methodId; method.Name = "Standard"; method.Translations.Add(new DeliveryMethodTranslationCarrier { LanguageID = language.SystemId, DisplayName = "DisplayName" }); ModuleECommerce.Instance.DeliveryMethods.Create(method, Solution.Instance.SystemToken); } var channelFieldTemplate = IoC.Resolve <FieldTemplateService>().Get <ChannelFieldTemplate>("Default"); if (channelFieldTemplate == null) { channelFieldTemplate = new ChannelFieldTemplate("Default"); IoC.Resolve <FieldTemplateService>().Create(channelFieldTemplate); } var channel = IoC.Resolve <ChannelService>().Get("Default"); if (channel == null) { channel = new Channel(channelFieldTemplate.SystemId); channel.Id = "Default"; channel.WebsiteLanguageSystemId = language.SystemId; IoC.Resolve <ChannelService>().Create(channel); } var sut = IoC.Resolve <IDeliveryMethodService>(); var result = sut.GetPaymentInfoDescription(methodId, channel.SystemId); Assert.Equal("DisplayName", result); } }