public override void Process(SubmitContactArgs args)
        {
            if (!this.IsValidContext(args))
              {
            return;
              }

              var user = this.GetUser(args.Contact.Identifiers.Identifier);
              if (user == null)
              {
            return;
              }

              var contact = user.SalesforceContact;
              ISalesforceDataFacet facet = args.Contact.GetFacet<ISalesforceDataFacet>(this.SalesforceFacet);

              facet.WriteSalesforceData(contact);
        }
        public override void Process(SubmitContactArgs args)
        {
            if (!this.IsValidContext(args))
            {
                return;
            }

            var user = this.GetUser(args.Contact.Identifiers.Identifier);

            if (user == null)
            {
                return;
            }

            var contact = user.SalesforceContact;
            ISalesforceDataFacet facet = args.Contact.GetFacet <ISalesforceDataFacet>(this.SalesforceFacet);

            facet.WriteSalesforceData(contact);
        }
        protected virtual bool IsValidContext(SubmitContactArgs args)
        {
            if (args.Contact == null)
              {
            return false;
              }

              string identifier = args.Contact.Identifiers.Identifier;
              if (string.IsNullOrEmpty(identifier))
              {
            return false;
              }

              if (this.Domains.Count > 0 && !this.Domains.Contains(Domain.ExtractDomainName(identifier)))
              {
            return false;
              }

              return true;
        }
        protected virtual bool IsValidContext(SubmitContactArgs args)
        {
            if (args.Contact == null)
            {
                return(false);
            }

            string identifier = args.Contact.Identifiers.Identifier;

            if (string.IsNullOrEmpty(identifier))
            {
                return(false);
            }

            if (this.Domains.Count > 0 && !this.Domains.Contains(Domain.ExtractDomainName(identifier)))
            {
                return(false);
            }

            return(true);
        }