Exemple #1
0
        /// <summary>
        /// The convert.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        /// <returns>
        /// The <see cref="Entrant"/>.
        /// </returns>
        public Entrant Convert(ResolutionContext context)
        {
            var item           = (PostEnterCompetition)context.SourceValue;
            var contactDetails =
                EntrantContactFactory.GetInstance(
                    (EntrantContactType)Enum.Parse(typeof(EntrantContactType), item.ContactType));

            contactDetails.Contact = item.Contact;

            var entrant = new Entrant()
            {
                Answer  = (CompetitionAnswer)Enum.Parse(typeof(CompetitionAnswer), item.Answer),
                Contact = contactDetails,
                Source  = (EntrantSource)Enum.Parse(typeof(EntrantSource), item.Source)
            };

            return(entrant);
        }
        /// <summary>
        /// Maps the entrant.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <returns>
        /// An entrant item.
        /// </returns>
        private static Entrant MapEntrant(dynamic item)
        {
            if ((object)item != null)
            {
                IEntrantContact contact = EntrantContactFactory.GetInstance((EntrantContactType)item.ContactType);
                contact.Contact = item.ContactDetail;

                var entrant = new Entrant()
                {
                    ID        = item.ID,
                    Answer    = (CompetitionAnswer)item.AnswerKey,
                    EntryDate = item.EntryDate,
                    Source    = (EntrantSource)item.Source,
                    Contact   = contact
                };

                return(entrant);
            }

            return(null);
        }