private void CreateMetricDetails(IOrganizationService service, find_metric metric, EntityReference memberReference)
        {
            find_metricdetails metricDetails = new find_metricdetails(Guid.NewGuid());

            metricDetails.find_LookUpMetric = metric.ToEntityReference();
            metricDetails.find_NumberClick  = 0;
            metricDetails.find_NumberOpens  = 0;
            metricDetails.find_name         = "metricDetail " + memberReference.Id;

            switch (memberReference.LogicalName)
            {
            case "account":
                metricDetails.find_LookUpAccount = memberReference;
                break;

            case "contact":
                metricDetails.find_LookUpContact = memberReference;
                break;

            case "lead":
                metricDetails.find_LookUpLead = memberReference;
                break;
            }

            service.Create(metricDetails);
        }
Beispiel #2
0
        private void UpdateOpensAndClicksMetricDetails(IOrganizationService service, find_metricdetails metricDetails, int numOpens, int numClicks)
        {
            metricDetails.find_NumberOpens += numOpens;
            metricDetails.find_NumberClick += numClicks;

            service.Update(metricDetails);
        }
Beispiel #3
0
        private DateTime?GetLastUpdateByMetricDetail(IOrganizationService service, find_metricdetails metricdetails)
        {
            QueryExpression QEfind_emailactivity = new QueryExpression("find_emailactivity");

            QEfind_emailactivity.ColumnSet.AddColumns("find_timestamp");
            QEfind_emailactivity.AddOrder("find_timestamp", OrderType.Descending);
            QEfind_emailactivity.Criteria.AddCondition("find_metricdetails", "find_metricdetailsid", ConditionOperator.Equal, metricdetails.Id);
            QEfind_emailactivity.AddLink("find_metricdetails", "find_lookupemailactivitytometricdetails", "find_metricdetailsid");

            return(service.RetrieveMultiple(QEfind_emailactivity).Entities.Count != 0 ? service.RetrieveMultiple(QEfind_emailactivity).Entities[0].ToEntity <find_emailactivity>().find_TimeStamp : null);
        }
Beispiel #4
0
 private void ProcessAtivities(IOrganizationService service, find_metricdetails metricDetails, int numOpens, int numClicks, List <Class.Reports.Activity> activitiesList, ITracingService tracing)
 {
     foreach (Class.Reports.Activity activity in activitiesList)
     {
         if (activity.Action.Equals("open"))
         {
             numOpens++;
         }
         else if (activity.Action.Equals("click"))
         {
             numClicks++;
         }
         CreateActivities(service, activity, metricDetails);
     }
 }
Beispiel #5
0
 private string GetMailFromMember(IOrganizationService service, find_metricdetails metricdetails)
 {
     if (metricdetails.find_LookUpAccount != null)
     {
         return(service.Retrieve(metricdetails.find_LookUpAccount.LogicalName, metricdetails.find_LookUpAccount.Id, new ColumnSet("emailaddress1")).ToEntity <Account>().EMailAddress1);
     }
     else if (metricdetails.find_LookUpContact != null)
     {
         return(service.Retrieve(metricdetails.find_LookUpContact.LogicalName, metricdetails.find_LookUpContact.Id, new ColumnSet("emailaddress1")).ToEntity <Contact>().EMailAddress1);
     }
     else if (metricdetails.find_LookUpLead != null)
     {
         return(service.Retrieve(metricdetails.find_LookUpLead.LogicalName, metricdetails.find_LookUpLead.Id, new ColumnSet("emailaddress1")).ToEntity <Lead>().EMailAddress1);
     }
     else
     {
         throw new Exception();
     }
 }
Beispiel #6
0
        private void CreateActivities(IOrganizationService service, Class.Reports.Activity activity, find_metricdetails metricDetails)
        {
            find_emailactivity emailActivity = new find_emailactivity(Guid.NewGuid());

            emailActivity.find_Action = activity.Action;
            emailActivity.find_LookUpEmailActivityToMetricDetails = metricDetails.ToEntityReference();
            emailActivity.find_name      = activity.Action + " " + activity.TimeStamp.ToString();
            emailActivity.find_Type      = activity.Type;
            emailActivity.find_Url       = activity.Url;
            emailActivity.find_TimeStamp = activity.TimeStamp;

            service.Create(emailActivity);
        }