public dynamic Create(MailingHistoryResult mailingHistory, List <string> listofFields)
        {
            List <string> lstOfFieldsToWorkWith = new List <string>(listofFields);

            if (!lstOfFieldsToWorkWith.Any())
            {
                return(mailingHistory);
            }
            else
            {
                ExpandoObject objectToReturn = new ExpandoObject();
                foreach (var field in lstOfFieldsToWorkWith)
                {
                    if (field == "")
                    {
                        return(mailingHistory);
                    }
                    var propertyInfo = mailingHistory.GetType()
                                       .GetProperty(field, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
                    if (propertyInfo != null)
                    {
                        var fieldValue = propertyInfo
                                         .GetValue(mailingHistory, null);


                        ((IDictionary <String, Object>)objectToReturn).Add(field, fieldValue);
                    }
                }
                return(objectToReturn);
            }
        }
Esempio n. 2
0
        public List <MailingHistoryResult> BuildMailingHistory(DataSet ds)
        {
            List <MailingHistoryResult> mailHisotryList = new List <MailingHistoryResult>();

            try
            {
                var table = ds.Tables[0];
                foreach (DataRow row in table.Rows)
                {
                    MailingHistoryResult mailing = new MailingHistoryResult();
                    mailing.MailingRef      = row["MAILING_REF"]?.ToString();
                    mailing.SelectRefNumber = row["SELECT_REF_NUMBER"]?.ToString();
                    if (row["MAILED_DATE"] == null)
                    {
                        mailing.MailedDate = null;
                    }
                    else
                    {
                        mailing.MailedDate = DateTime.Parse(row["MAILED_DATE"].ToString());
                    }

                    mailing.MailedSourceCode  = row["MAILED_SOURCE_CODE"]?.ToString();
                    mailing.LetterCode        = row["LETTER_CODE"]?.ToString();
                    mailing.Channel           = row["CHANNEL"]?.ToString();
                    mailing.CompanyCode       = row["COMPANY_CODE"]?.ToString();
                    mailing.SelectDescription = row["SELECT_DESCRIPTION"]?.ToString();
                    mailing.ProductCode       = row["PRODUCT_CODE"]?.ToString();
                    mailHisotryList.Add(mailing);
                }
            }
            catch (Exception ex)
            {
                _logger.Info("MailingHistoryRepository.BuildMailingHistory:" + "ErrorTag: " + ErrorTagProvider.ErrorTagDatabase + " -- " + ex.Message, ex);
                throw new Exception(string.Format(DatabaseMessage.DatabaseException, ErrorTagProvider.ErrorTagDatabase));
            }
            return(mailHisotryList);
        }