protected virtual string GetRecurringOrderFrequencyDisplayName(RecurringOrderProgram program, LineItem lineItem, CultureInfo cultureInfo) { if (RecurringOrderCartHelper.IsRecurringOrderLineItemValid(lineItem)) { if (program != null) { var frequency = program.Frequencies.FirstOrDefault(f => string.Equals(f.RecurringOrderFrequencyName, lineItem.RecurringOrderFrequencyName, StringComparison.OrdinalIgnoreCase)); if (frequency != null) { var localization = frequency.Localizations.FirstOrDefault(l => string.Equals(l.CultureIso, cultureInfo.Name, StringComparison.OrdinalIgnoreCase)); if (localization != null) { return(localization.DisplayName); } else { return(frequency.RecurringOrderFrequencyName); } } } } return(string.Empty); }
public virtual RecurringOrderProgramViewModel CreateRecurringOrderProgramViewModel(RecurringOrderProgram program, CultureInfo culture) { if (program == null) { throw new ArgumentNullException(nameof(program)); } if (culture == null) { throw new ArgumentNullException(nameof(culture)); } var vm = ViewModelMapper.MapTo <RecurringOrderProgramViewModel>(program, culture); if (vm == null) { return(null); } var programLocalized = program.Localizations?.Find(l => string.Equals(l.CultureIso, culture.Name, StringComparison.OrdinalIgnoreCase)); if (programLocalized != null) { vm.DisplayName = programLocalized.DisplayName; if (program.Frequencies != null && program.Frequencies.Any()) { var dictionary = new Dictionary <string, RecurringOrderProgramFrequencyViewModel>(StringComparer.OrdinalIgnoreCase); foreach (var vmFrequency in vm.Frequencies) { if (dictionary.ContainsKey(vmFrequency.RecurringOrderFrequencyName)) { continue; } dictionary.Add(vmFrequency.RecurringOrderFrequencyName, vmFrequency); } foreach (var frequency in program.Frequencies) { dictionary.TryGetValue(frequency.RecurringOrderFrequencyName, out RecurringOrderProgramFrequencyViewModel vmFrequency); if (vmFrequency != null) { var localizlocalizedFrequency = frequency.Localizations.Find(l => string.Equals(l.CultureIso, culture.Name, StringComparison.OrdinalIgnoreCase)); vmFrequency.DisplayName = localizlocalizedFrequency != null ? localizlocalizedFrequency.DisplayName : vmFrequency.RecurringOrderFrequencyName; } } } } vm.Frequencies = vm.Frequencies.OrderBy(f => f.SequenceNumber).ToList(); return(vm); }
public virtual RecurringOrderProgramViewModel CreateRecurringOrderProgramViewModel(RecurringOrderProgram program, CultureInfo culture) { if (program == null) { throw new ArgumentNullException(nameof(program)); } if (culture == null) { throw new ArgumentNullException(nameof(culture)); } var vm = ViewModelMapper.MapTo <RecurringOrderProgramViewModel>(program, culture); if (vm == null) { return(null); } var programLocalized = program.Localizations?.FirstOrDefault(l => string.Equals(l.CultureIso, culture.Name, StringComparison.OrdinalIgnoreCase)); if (programLocalized != null) { vm.DisplayName = programLocalized.DisplayName; foreach (var frequency in program.Frequencies ?? Enumerable.Empty <RecurringOrderFrequency>()) { var vmFrequency = vm.Frequencies.FirstOrDefault(f => string.Equals(f.RecurringOrderFrequencyName, frequency.RecurringOrderFrequencyName, StringComparison.OrdinalIgnoreCase)); if (vmFrequency != null) { var localizlocalizedFrequency = frequency.Localizations.FirstOrDefault(l => string.Equals(l.CultureIso, culture.Name, StringComparison.OrdinalIgnoreCase)); if (localizlocalizedFrequency != null) { vmFrequency.DisplayName = localizlocalizedFrequency.DisplayName; } else { vmFrequency.DisplayName = vmFrequency.RecurringOrderFrequencyName; } } } } vm.Frequencies = vm.Frequencies.OrderBy(f => f.SequenceNumber).ToList(); return(vm); }