示例#1
0
        Entity GetEntityByParyId(EntityReference partyid, out string[] emailFieldsNames)
        {
            emailFieldsNames = MetadataEmails.GetEmails(_service, partyid.LogicalName);
            if (emailFieldsNames == null)
            {
                return(null);
            }
            var entityFrom = _service.Retrieve(partyid.LogicalName, partyid.Id, new ColumnSet(emailFieldsNames));

            return(entityFrom);
        }
示例#2
0
        bool GetFrom(Entity email)
        {
            var from = email.GetAttributeValue <EntityCollection>("from");

            if (from != null & from.Entities != null & from.Entities.Any())
            {
                var emailsend   = from.Entities.FirstOrDefault();
                var fromPartyId = emailsend.GetAttributeValue <EntityReference>("partyid");

                var emailFieldsNames = MetadataEmails.GetEmails(_service, fromPartyId.LogicalName);
                if (emailFieldsNames == null)
                {
                    return(true);
                }

                var entityFrom = _service.Retrieve(fromPartyId.LogicalName, fromPartyId.Id, new ColumnSet(emailFieldsNames));

                if (entityFrom == null)
                {
                    return(true);
                }
                foreach (var fieldsName in emailFieldsNames)
                {
                    var emailaddress = entityFrom.GetAttributeValue <string>(fieldsName);
                    if (!String.IsNullOrWhiteSpace(emailaddress) && emailaddress == _configemail.ReplyEmail)
                    {
                        _emailModel.message.from_name = _configemail.ReplayLabel;
                        _emailModel.message.reply_to  = emailaddress;
                        return(false);
                    }
                }
                return(true);
            }
            else
            {
                return(true);
            }
        }