Exemplo n.º 1
0
        /// <summary>
        /// Builds a <see cref="IOfferSettings"/> given an <see cref="OfferSettingsDto"/>
        /// </summary>
        /// <param name="dto">
        /// The dto.
        /// </param>
        /// <returns>
        /// The <see cref="IOfferSettings"/>.
        /// </returns>
        public IOfferSettings BuildEntity(OfferSettingsDto dto)
        {
            var configurations = JsonConvert.DeserializeObject <IEnumerable <OfferComponentConfiguration> >(dto.ConfigurationData);

            var definitionCollection = new OfferComponentDefinitionCollection();

            foreach (var config in configurations)
            {
                definitionCollection.Add(new OfferComponentDefinition(config));
            }

            var settings = new OfferSettings(dto.Name, dto.OfferCode, dto.OfferProviderKey, definitionCollection)
            {
                Key             = dto.Key,
                Active          = dto.Active,
                OfferStartsDate = dto.OfferStartsDate.ConvertDateTimeNullToMinValue(),
                OfferEndsDate   = dto.OfferEndsDate.ConvertDateTimeNullToMaxValue(),
                CreateDate      = dto.CreateDate,
                UpdateDate      = dto.UpdateDate
            };

            settings.ResetDirtyProperties();

            return(settings);
        }
        /// <summary>
        /// Creates an <see cref="OfferComponentDefinitionCollection"/> from a collection of <see cref="OfferComponentDefinitionDisplay"/>.
        /// </summary>
        /// <param name="definitions">
        /// The definitions.
        /// </param>
        /// <returns>
        /// The <see cref="OfferComponentDefinitionCollection"/>.
        /// </returns>
        public static OfferComponentDefinitionCollection AsOfferComponentDefinitionCollection(this IEnumerable <OfferComponentDefinitionDisplay> definitions)
        {
            var collection = new OfferComponentDefinitionCollection();

            foreach (var d in definitions.Where(x => x != null))
            {
                collection.Add(d.ToOfferComponentDefinition());
            }
            return(collection);
        }
 /// <summary>
 /// Creates an <see cref="OfferComponentDefinitionCollection"/> from a collection of <see cref="OfferComponentDefinitionDisplay"/>.
 /// </summary>
 /// <param name="definitions">
 /// The definitions.
 /// </param>
 /// <returns>
 /// The <see cref="OfferComponentDefinitionCollection"/>.
 /// </returns>
 public static OfferComponentDefinitionCollection AsOfferComponentDefinitionCollection(this IEnumerable<OfferComponentDefinitionDisplay> definitions)
 {
     var collection = new OfferComponentDefinitionCollection();
     foreach (var d in definitions.Where(x => x != null))
     {
         collection.Add(d.ToOfferComponentDefinition());
     }
     return collection;
 }