Пример #1
0
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "PaymentSchedule";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_paymentscheduleid"].ToString());
                MSNFP_PaymentSchedule mSNFP_PaymentSchedule = new MSNFP_PaymentSchedule();
                mSNFP_PaymentSchedule.PaymentScheduleId = (Guid)queriedEntityRecord["msnfp_paymentscheduleid"];
                mSNFP_PaymentSchedule.Name = (queriedEntityRecord.Contains("msnfp_name") ? ((string)queriedEntityRecord["msnfp_name"]) : string.Empty);
                localContext.TracingService.Trace("Title: " + mSNFP_PaymentSchedule.Name);
                if (queriedEntityRecord.Contains("msnfp_amount_receipted") && queriedEntityRecord["msnfp_amount_receipted"] != null)
                {
                    mSNFP_PaymentSchedule.AmountReceipted = ((Money)queriedEntityRecord["msnfp_amount_receipted"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_receipted.");
                }
                else
                {
                    mSNFP_PaymentSchedule.AmountReceipted = default(decimal);
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_receipted.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount_membership") && queriedEntityRecord["msnfp_amount_membership"] != null)
                {
                    mSNFP_PaymentSchedule.AmountMembership = ((Money)queriedEntityRecord["msnfp_amount_membership"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_membership.");
                }
                else
                {
                    mSNFP_PaymentSchedule.AmountMembership = default(decimal);
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_membership.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount_nonreceiptable") && queriedEntityRecord["msnfp_amount_nonreceiptable"] != null)
                {
                    mSNFP_PaymentSchedule.AmountNonReceiptable = ((Money)queriedEntityRecord["msnfp_amount_nonreceiptable"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_nonreceiptable.");
                }
                else
                {
                    mSNFP_PaymentSchedule.AmountNonReceiptable = default(decimal);
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_nonreceiptable.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount_tax") && queriedEntityRecord["msnfp_amount_tax"] != null)
                {
                    mSNFP_PaymentSchedule.AmountTax = ((Money)queriedEntityRecord["msnfp_amount_tax"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_tax.");
                }
                else
                {
                    mSNFP_PaymentSchedule.AmountTax = default(decimal);
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_tax.");
                }
                if (queriedEntityRecord.Contains("msnfp_recurringamount") && queriedEntityRecord["msnfp_recurringamount"] != null)
                {
                    mSNFP_PaymentSchedule.RecurringAmount = ((Money)queriedEntityRecord["msnfp_recurringamount"]).Value;
                    localContext.TracingService.Trace("Got msnfp_recurringamount.");
                }
                else
                {
                    mSNFP_PaymentSchedule.RecurringAmount = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_recurringamount.");
                }
                if (queriedEntityRecord.Contains("msnfp_firstpaymentdate") && queriedEntityRecord["msnfp_firstpaymentdate"] != null)
                {
                    mSNFP_PaymentSchedule.FirstPaymentDate = (DateTime)queriedEntityRecord["msnfp_firstpaymentdate"];
                    localContext.TracingService.Trace("Got msnfp_firstpaymentdate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.FirstPaymentDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_firstpaymentdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_frequencyinterval") && queriedEntityRecord["msnfp_frequencyinterval"] != null)
                {
                    mSNFP_PaymentSchedule.FrequencyInterval = (int)queriedEntityRecord["msnfp_frequencyinterval"];
                    localContext.TracingService.Trace("Got msnfp_frequencyinterval.");
                }
                else
                {
                    mSNFP_PaymentSchedule.FrequencyInterval = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_frequencyinterval.");
                }
                if (queriedEntityRecord.Contains("msnfp_frequency") && queriedEntityRecord["msnfp_frequency"] != null)
                {
                    mSNFP_PaymentSchedule.Frequency = ((OptionSetValue)queriedEntityRecord["msnfp_frequency"]).Value;
                    localContext.TracingService.Trace("Got msnfp_frequency.");
                }
                else
                {
                    mSNFP_PaymentSchedule.Frequency = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_frequency.");
                }
                if (queriedEntityRecord.Contains("msnfp_nextpaymentdate") && queriedEntityRecord["msnfp_nextpaymentdate"] != null)
                {
                    mSNFP_PaymentSchedule.NextPaymentDate = (DateTime)queriedEntityRecord["msnfp_nextpaymentdate"];
                    localContext.TracingService.Trace("Got msnfp_nextpaymentdate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.NextPaymentDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_nextpaymentdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_frequencystartcode") && queriedEntityRecord["msnfp_frequencystartcode"] != null)
                {
                    mSNFP_PaymentSchedule.FrequencyStartCode = ((OptionSetValue)queriedEntityRecord["msnfp_frequencystartcode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_frequencystartcode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.FrequencyStartCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_frequencystartcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_cancelationcode") && queriedEntityRecord["msnfp_cancelationcode"] != null)
                {
                    mSNFP_PaymentSchedule.CancelationCode = ((OptionSetValue)queriedEntityRecord["msnfp_cancelationcode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_cancelationcode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.CancelationCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_cancelationcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_cancellationnote") && queriedEntityRecord["msnfp_cancellationnote"] != null)
                {
                    mSNFP_PaymentSchedule.CancellationNote = (string)queriedEntityRecord["msnfp_cancellationnote"];
                    localContext.TracingService.Trace("Got msnfp_cancellationnote.");
                }
                else
                {
                    mSNFP_PaymentSchedule.CancellationNote = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_cancellationnote.");
                }
                if (queriedEntityRecord.Contains("msnfp_cancelledon") && queriedEntityRecord["msnfp_cancelledon"] != null)
                {
                    mSNFP_PaymentSchedule.CancelledOn = (DateTime)queriedEntityRecord["msnfp_cancelledon"];
                    localContext.TracingService.Trace("Got msnfp_cancelledon.");
                }
                else
                {
                    mSNFP_PaymentSchedule.CancelledOn = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_cancelledon.");
                }
                if (queriedEntityRecord.Contains("msnfp_endondate") && queriedEntityRecord["msnfp_endondate"] != null)
                {
                    mSNFP_PaymentSchedule.EndonDate = (DateTime)queriedEntityRecord["msnfp_endondate"];
                    localContext.TracingService.Trace("Got msnfp_endondate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.EndonDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_endondate.");
                }
                if (queriedEntityRecord.Contains("msnfp_lastpaymentdate") && queriedEntityRecord["msnfp_lastpaymentdate"] != null)
                {
                    mSNFP_PaymentSchedule.LastPaymentDate = (DateTime)queriedEntityRecord["msnfp_lastpaymentdate"];
                    localContext.TracingService.Trace("Got msnfp_lastpaymentdate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.LastPaymentDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_lastpaymentdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_scheduletypecode") && queriedEntityRecord["msnfp_scheduletypecode"] != null)
                {
                    mSNFP_PaymentSchedule.ScheduleTypeCode = ((OptionSetValue)queriedEntityRecord["msnfp_scheduletypecode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_scheduletypecode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.ScheduleTypeCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_scheduletypecode.");
                }
                if (queriedEntityRecord.Contains("msnfp_anonymity") && queriedEntityRecord["msnfp_anonymity"] != null)
                {
                    mSNFP_PaymentSchedule.Anonymity = ((OptionSetValue)queriedEntityRecord["msnfp_anonymity"]).Value;
                    localContext.TracingService.Trace("Got msnfp_anonymity.");
                }
                else
                {
                    mSNFP_PaymentSchedule.Anonymity = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_anonymity.");
                }
                if (queriedEntityRecord.Contains("msnfp_paymentmethodid") && queriedEntityRecord["msnfp_paymentmethodid"] != null)
                {
                    mSNFP_PaymentSchedule.PaymentMethodId = ((EntityReference)queriedEntityRecord["msnfp_paymentmethodid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_paymentmethodid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.PaymentMethodId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_paymentmethodid.");
                }
                if (queriedEntityRecord.Contains("msnfp_designationid") && queriedEntityRecord["msnfp_designationid"] != null)
                {
                    mSNFP_PaymentSchedule.DesignationId = ((EntityReference)queriedEntityRecord["msnfp_designationid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_designationid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.DesignationId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_designationid.");
                }
                if (queriedEntityRecord.Contains("msnfp_appealid") && queriedEntityRecord["msnfp_appealid"] != null)
                {
                    mSNFP_PaymentSchedule.AppealId = ((EntityReference)queriedEntityRecord["msnfp_appealid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_appealid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.AppealId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_appealid.");
                }
                if (queriedEntityRecord.Contains("msnfp_appraiser") && queriedEntityRecord["msnfp_appraiser"] != null)
                {
                    mSNFP_PaymentSchedule.Appraiser = (string)queriedEntityRecord["msnfp_appraiser"];
                    localContext.TracingService.Trace("Got msnfp_appraiser.");
                }
                else
                {
                    mSNFP_PaymentSchedule.Appraiser = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_appraiser.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_city") && queriedEntityRecord["msnfp_billing_city"] != null)
                {
                    mSNFP_PaymentSchedule.BillingCity = (string)queriedEntityRecord["msnfp_billing_city"];
                    localContext.TracingService.Trace("Got msnfp_billing_city.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingCity = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_city.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_country") && queriedEntityRecord["msnfp_billing_country"] != null)
                {
                    mSNFP_PaymentSchedule.BillingCountry = (string)queriedEntityRecord["msnfp_billing_country"];
                    localContext.TracingService.Trace("Got msnfp_billing_country.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingCountry = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_country.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line1") && queriedEntityRecord["msnfp_billing_line1"] != null)
                {
                    mSNFP_PaymentSchedule.BillingLine1 = (string)queriedEntityRecord["msnfp_billing_line1"];
                    localContext.TracingService.Trace("Got msnfp_billing_line1.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingLine1 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line1.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line2") && queriedEntityRecord["msnfp_billing_line2"] != null)
                {
                    mSNFP_PaymentSchedule.BillingLine2 = (string)queriedEntityRecord["msnfp_billing_line2"];
                    localContext.TracingService.Trace("Got msnfp_billing_line2.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingLine2 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line2.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line3") && queriedEntityRecord["msnfp_billing_line3"] != null)
                {
                    mSNFP_PaymentSchedule.BillingLine3 = (string)queriedEntityRecord["msnfp_billing_line3"];
                    localContext.TracingService.Trace("Got msnfp_billing_line3.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingLine3 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line3.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_postalcode") && queriedEntityRecord["msnfp_billing_postalcode"] != null)
                {
                    mSNFP_PaymentSchedule.BillingPostalCode = (string)queriedEntityRecord["msnfp_billing_postalcode"];
                    localContext.TracingService.Trace("Got msnfp_billing_postalcode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingPostalCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_postalcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_stateorprovince") && queriedEntityRecord["msnfp_billing_stateorprovince"] != null)
                {
                    mSNFP_PaymentSchedule.BillingStateorProvince = (string)queriedEntityRecord["msnfp_billing_stateorprovince"];
                    localContext.TracingService.Trace("Got msnfp_billing_stateorprovince.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BillingStateorProvince = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_stateorprovince.");
                }
                if (queriedEntityRecord.Contains("msnfp_originatingcampaignid") && queriedEntityRecord["msnfp_originatingcampaignid"] != null)
                {
                    mSNFP_PaymentSchedule.OriginatingCampaignId = ((EntityReference)queriedEntityRecord["msnfp_originatingcampaignid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_originatingcampaignid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.OriginatingCampaignId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_originatingcampaignid.");
                }
                if (queriedEntityRecord.Contains("msnfp_ccbrandcode") && queriedEntityRecord["msnfp_ccbrandcode"] != null)
                {
                    mSNFP_PaymentSchedule.CcBrandCode = ((OptionSetValue)queriedEntityRecord["msnfp_ccbrandcode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_ccbrandcode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.CcBrandCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_ccbrandcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_chargeoncreate") && queriedEntityRecord["msnfp_chargeoncreate"] != null)
                {
                    mSNFP_PaymentSchedule.ChargeonCreate = (bool)queriedEntityRecord["msnfp_chargeoncreate"];
                    localContext.TracingService.Trace("Got msnfp_chargeoncreate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.ChargeonCreate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_chargeoncreate.");
                }
                if (queriedEntityRecord.Contains("msnfp_configurationid") && queriedEntityRecord["msnfp_configurationid"] != null)
                {
                    mSNFP_PaymentSchedule.ConfigurationId = ((EntityReference)queriedEntityRecord["msnfp_configurationid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_configurationid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.ConfigurationId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_configurationid.");
                }
                if (queriedEntityRecord.Contains("msnfp_constituentid") && queriedEntityRecord["msnfp_constituentid"] != null)
                {
                    mSNFP_PaymentSchedule.ConstituentId = ((EntityReference)queriedEntityRecord["msnfp_constituentid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_constituentid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.ConstituentId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_constituentid.");
                }
                if (queriedEntityRecord.Contains("msnfp_customerid") && queriedEntityRecord["msnfp_customerid"] != null)
                {
                    mSNFP_PaymentSchedule.CustomerId = ((EntityReference)queriedEntityRecord["msnfp_customerid"]).Id;
                    if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "contact")
                    {
                        mSNFP_PaymentSchedule.CustomerIdType = 2;
                    }
                    else if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "account")
                    {
                        mSNFP_PaymentSchedule.CustomerIdType = 1;
                    }
                    localContext.TracingService.Trace("Got msnfp_customerid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.CustomerId     = null;
                    mSNFP_PaymentSchedule.CustomerIdType = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_customerid.");
                }
                if (queriedEntityRecord.Contains("msnfp_bookdate") && queriedEntityRecord["msnfp_bookdate"] != null)
                {
                    mSNFP_PaymentSchedule.BookDate = (DateTime)queriedEntityRecord["msnfp_bookdate"];
                    localContext.TracingService.Trace("Got msnfp_bookdate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.BookDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_bookdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_paymentprocessorid") && queriedEntityRecord["msnfp_paymentprocessorid"] != null)
                {
                    mSNFP_PaymentSchedule.PaymentProcessorId = ((EntityReference)queriedEntityRecord["msnfp_paymentprocessorid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_paymentprocessorid");
                }
                else
                {
                    mSNFP_PaymentSchedule.PaymentProcessorId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_paymentprocessorid");
                }
                if (queriedEntityRecord.Contains("msnfp_ga_deliverycode") && queriedEntityRecord["msnfp_ga_deliverycode"] != null)
                {
                    mSNFP_PaymentSchedule.GaDeliveryCode = ((OptionSetValue)queriedEntityRecord["msnfp_ga_deliverycode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_ga_deliverycode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.GaDeliveryCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_ga_deliverycode.");
                }
                if (queriedEntityRecord.Contains("msnfp_depositdate") && queriedEntityRecord["msnfp_depositdate"] != null)
                {
                    mSNFP_PaymentSchedule.DepositDate = (DateTime)queriedEntityRecord["msnfp_depositdate"];
                    localContext.TracingService.Trace("Got msnfp_depositdate.");
                }
                else
                {
                    mSNFP_PaymentSchedule.DepositDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_depositdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_emailaddress1") && queriedEntityRecord["msnfp_emailaddress1"] != null)
                {
                    mSNFP_PaymentSchedule.EmailAddress1 = (string)queriedEntityRecord["msnfp_emailaddress1"];
                    localContext.TracingService.Trace("Got msnfp_emailaddress1.");
                }
                else
                {
                    mSNFP_PaymentSchedule.EmailAddress1 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_emailaddress1.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventid") && queriedEntityRecord["msnfp_eventid"] != null)
                {
                    mSNFP_PaymentSchedule.EventId = ((EntityReference)queriedEntityRecord["msnfp_eventid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.EventId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventid.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventpackageid") && queriedEntityRecord["msnfp_eventpackageid"] != null)
                {
                    mSNFP_PaymentSchedule.EventPackageId = ((EntityReference)queriedEntityRecord["msnfp_eventpackageid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventpackageid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.EventPackageId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventpackageid.");
                }
                if (queriedEntityRecord.Contains("msnfp_firstname") && queriedEntityRecord["msnfp_firstname"] != null)
                {
                    mSNFP_PaymentSchedule.FirstName = (string)queriedEntityRecord["msnfp_firstname"];
                    localContext.TracingService.Trace("Got msnfp_firstname.");
                }
                else
                {
                    mSNFP_PaymentSchedule.FirstName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_firstname.");
                }
                if (queriedEntityRecord.Contains("msnfp_giftbatchid") && queriedEntityRecord["msnfp_giftbatchid"] != null)
                {
                    mSNFP_PaymentSchedule.GiftBatchId = ((EntityReference)queriedEntityRecord["msnfp_giftbatchid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_giftbatchid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.GiftBatchId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_giftbatchid.");
                }
                if (queriedEntityRecord.Contains("msnfp_dataentrysource") && queriedEntityRecord["msnfp_dataentrysource"] != null)
                {
                    mSNFP_PaymentSchedule.DataEntrySource = ((OptionSetValue)queriedEntityRecord["msnfp_dataentrysource"]).Value;
                    localContext.TracingService.Trace("Got msnfp_dataentrysource.");
                }
                else
                {
                    mSNFP_PaymentSchedule.DataEntrySource = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_dataentrysource.");
                }
                if (queriedEntityRecord.Contains("msnfp_paymenttypecode") && queriedEntityRecord["msnfp_paymenttypecode"] != null)
                {
                    mSNFP_PaymentSchedule.PaymentTypeCode = ((OptionSetValue)queriedEntityRecord["msnfp_paymenttypecode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_paymenttypecode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.PaymentTypeCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_paymenttypecode.");
                }
                if (queriedEntityRecord.Contains("msnfp_lastname") && queriedEntityRecord["msnfp_lastname"] != null)
                {
                    mSNFP_PaymentSchedule.LastName = (string)queriedEntityRecord["msnfp_lastname"];
                    localContext.TracingService.Trace("Got msnfp_lastname.");
                }
                else
                {
                    mSNFP_PaymentSchedule.LastName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_lastname.");
                }
                if (queriedEntityRecord.Contains("msnfp_membershipcategoryid") && queriedEntityRecord["msnfp_membershipcategoryid"] != null)
                {
                    mSNFP_PaymentSchedule.MembershipCategoryId = ((EntityReference)queriedEntityRecord["msnfp_membershipcategoryid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_membershipcategoryid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.MembershipCategoryId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_membershipcategoryid.");
                }
                if (queriedEntityRecord.Contains("msnfp_membershipinstanceid") && queriedEntityRecord["msnfp_membershipinstanceid"] != null)
                {
                    mSNFP_PaymentSchedule.MembershipId = ((EntityReference)queriedEntityRecord["msnfp_membershipinstanceid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_membershipinstanceid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.MembershipId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_membershipinstanceid.");
                }
                if (queriedEntityRecord.Contains("msnfp_mobilephone") && queriedEntityRecord["msnfp_mobilephone"] != null)
                {
                    mSNFP_PaymentSchedule.MobilePhone = (string)queriedEntityRecord["msnfp_mobilephone"];
                    localContext.TracingService.Trace("Got msnfp_mobilephone.");
                }
                else
                {
                    mSNFP_PaymentSchedule.MobilePhone = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_mobilephone.");
                }
                if (queriedEntityRecord.Contains("msnfp_organizationname") && queriedEntityRecord["msnfp_organizationname"] != null)
                {
                    mSNFP_PaymentSchedule.OrganizationName = (string)queriedEntityRecord["msnfp_organizationname"];
                    localContext.TracingService.Trace("Got msnfp_organizationname.");
                }
                else
                {
                    mSNFP_PaymentSchedule.OrganizationName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_organizationname.");
                }
                if (queriedEntityRecord.Contains("msnfp_packageid") && queriedEntityRecord["msnfp_packageid"] != null)
                {
                    mSNFP_PaymentSchedule.PackageId = ((EntityReference)queriedEntityRecord["msnfp_packageid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_packageid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.PackageId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_packageid.");
                }
                if (queriedEntityRecord.Contains("msnfp_taxreceiptid") && queriedEntityRecord["msnfp_taxreceiptid"] != null)
                {
                    mSNFP_PaymentSchedule.TaxReceiptId = ((EntityReference)queriedEntityRecord["msnfp_taxreceiptid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_taxreceiptid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TaxReceiptId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_taxreceiptid.");
                }
                if (queriedEntityRecord.Contains("msnfp_receiptpreferencecode") && queriedEntityRecord["msnfp_receiptpreferencecode"] != null)
                {
                    mSNFP_PaymentSchedule.ReceiptPreferenceCode = ((OptionSetValue)queriedEntityRecord["msnfp_receiptpreferencecode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_receiptpreferencecode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.ReceiptPreferenceCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_receiptpreferencecode.");
                }
                if (queriedEntityRecord.Contains("msnfp_telephone1") && queriedEntityRecord["msnfp_telephone1"] != null)
                {
                    mSNFP_PaymentSchedule.Telephone1 = (string)queriedEntityRecord["msnfp_telephone1"];
                    localContext.TracingService.Trace("Got msnfp_telephone1.");
                }
                else
                {
                    mSNFP_PaymentSchedule.Telephone1 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_telephone1.");
                }
                if (queriedEntityRecord.Contains("msnfp_telephone2") && queriedEntityRecord["msnfp_telephone2"] != null)
                {
                    mSNFP_PaymentSchedule.Telephone2 = (string)queriedEntityRecord["msnfp_telephone2"];
                    localContext.TracingService.Trace("Got msnfp_telephone2.");
                }
                else
                {
                    mSNFP_PaymentSchedule.Telephone2 = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_telephone2.");
                }
                if (queriedEntityRecord.Contains("msnfp_dataentryreference") && queriedEntityRecord["msnfp_dataentryreference"] != null)
                {
                    mSNFP_PaymentSchedule.DataEntryReference = (string)queriedEntityRecord["msnfp_dataentryreference"];
                    localContext.TracingService.Trace("Got msnfp_dataentryreference.");
                }
                else
                {
                    mSNFP_PaymentSchedule.DataEntryReference = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_dataentryreference.");
                }
                if (queriedEntityRecord.Contains("msnfp_invoiceidentifier") && queriedEntityRecord["msnfp_invoiceidentifier"] != null)
                {
                    mSNFP_PaymentSchedule.InvoiceIdentifier = (string)queriedEntityRecord["msnfp_invoiceidentifier"];
                    localContext.TracingService.Trace("Got msnfp_invoiceidentifier.");
                }
                else
                {
                    mSNFP_PaymentSchedule.InvoiceIdentifier = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_invoiceidentifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_transactionfraudcode") && queriedEntityRecord["msnfp_transactionfraudcode"] != null)
                {
                    mSNFP_PaymentSchedule.TransactionFraudCode = (string)queriedEntityRecord["msnfp_transactionfraudcode"];
                    localContext.TracingService.Trace("Got msnfp_transactionfraudcode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TransactionFraudCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_transactionfraudcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_transactionidentifier") && queriedEntityRecord["msnfp_transactionidentifier"] != null)
                {
                    mSNFP_PaymentSchedule.TransactionIdentifier = (string)queriedEntityRecord["msnfp_transactionidentifier"];
                    localContext.TracingService.Trace("Got msnfp_transactionidentifier.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TransactionIdentifier = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_transactionidentifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_transactionresult") && queriedEntityRecord["msnfp_transactionresult"] != null)
                {
                    mSNFP_PaymentSchedule.TransactionResult = (string)queriedEntityRecord["msnfp_transactionresult"];
                    localContext.TracingService.Trace("Got msnfp_transactionresult.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TransactionResult = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_transactionresult.");
                }
                if (queriedEntityRecord.Contains("msnfp_tributecode") && queriedEntityRecord["msnfp_tributecode"] != null)
                {
                    mSNFP_PaymentSchedule.TributeCode = ((OptionSetValue)queriedEntityRecord["msnfp_tributecode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_tributecode.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TributeCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_tributecode.");
                }
                if (queriedEntityRecord.Contains("msnfp_tributeacknowledgement") && queriedEntityRecord["msnfp_tributeacknowledgement"] != null)
                {
                    mSNFP_PaymentSchedule.TributeAcknowledgement = (string)queriedEntityRecord["msnfp_tributeacknowledgement"];
                    localContext.TracingService.Trace("Got msnfp_tributeacknowledgement.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TributeAcknowledgement = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_tributeacknowledgement.");
                }
                if (queriedEntityRecord.Contains("msnfp_tributeid") && queriedEntityRecord["msnfp_tributeid"] != null)
                {
                    mSNFP_PaymentSchedule.TributeId = ((EntityReference)queriedEntityRecord["msnfp_tributeid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_tributeid.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TributeId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_tributeid.");
                }
                if (queriedEntityRecord.Contains("msnfp_tributemessage") && queriedEntityRecord["msnfp_tributemessage"] != null)
                {
                    mSNFP_PaymentSchedule.TributeMessage = (string)queriedEntityRecord["msnfp_tributemessage"];
                    localContext.TracingService.Trace("Got msnfp_tributemessage.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TributeMessage = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_tributemessage.");
                }
                if (queriedEntityRecord.Contains("msnfp_transactiondescription") && queriedEntityRecord["msnfp_transactiondescription"] != null)
                {
                    mSNFP_PaymentSchedule.TransactionDescription = (string)queriedEntityRecord["msnfp_transactiondescription"];
                    localContext.TracingService.Trace("Got msnfp_transactiondescription.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TransactionDescription = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_transactiondescription.");
                }
                if (queriedEntityRecord.Contains("transactioncurrencyid") && queriedEntityRecord["transactioncurrencyid"] != null)
                {
                    mSNFP_PaymentSchedule.TransactionCurrencyId = ((EntityReference)queriedEntityRecord["transactioncurrencyid"]).Id;
                    localContext.TracingService.Trace("Got TransactionCurrencyId.");
                }
                else
                {
                    mSNFP_PaymentSchedule.TransactionCurrencyId = null;
                    localContext.TracingService.Trace("Did NOT find TransactionCurrencyId.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_PaymentSchedule.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got StateCode");
                }
                else
                {
                    mSNFP_PaymentSchedule.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find StateCode");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_PaymentSchedule.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got StatusCode");
                }
                else
                {
                    mSNFP_PaymentSchedule.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find StatusCode");
                }
                if (messageName == "Create")
                {
                    mSNFP_PaymentSchedule.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_PaymentSchedule.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_PaymentSchedule.CreatedOn = null;
                }
                mSNFP_PaymentSchedule.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_PaymentSchedule.Deleted     = true;
                    mSNFP_PaymentSchedule.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_PaymentSchedule.Deleted     = false;
                    mSNFP_PaymentSchedule.DeletedDate = null;
                }
                mSNFP_PaymentSchedule.Receipt     = new HashSet <MSNFP_Receipt>();
                mSNFP_PaymentSchedule.Response    = new HashSet <MSNFP_Response>();
                mSNFP_PaymentSchedule.Transaction = new HashSet <MSNFP_Transaction>();
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_PaymentSchedule));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_PaymentSchedule);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string str = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + str);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "Ticket";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_ticketid"].ToString());
                MSNFP_Ticket mSNFP_Ticket = new MSNFP_Ticket();
                mSNFP_Ticket.TicketId = (Guid)queriedEntityRecord["msnfp_ticketid"];
                if (queriedEntityRecord.Contains("msnfp_amount_receipted") && queriedEntityRecord["msnfp_amount_receipted"] != null)
                {
                    mSNFP_Ticket.AmountReceipted = ((Money)queriedEntityRecord["msnfp_amount_receipted"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_receipted");
                }
                else
                {
                    mSNFP_Ticket.AmountReceipted = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_receipted.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount_nonreceiptable") && queriedEntityRecord["msnfp_amount_nonreceiptable"] != null)
                {
                    mSNFP_Ticket.AmountNonreceiptable = ((Money)queriedEntityRecord["msnfp_amount_nonreceiptable"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_nonreceiptable.");
                }
                else
                {
                    mSNFP_Ticket.AmountNonreceiptable = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_nonreceiptable.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount_tax") && queriedEntityRecord["msnfp_amount_tax"] != null)
                {
                    mSNFP_Ticket.AmountTax = ((Money)queriedEntityRecord["msnfp_amount_tax"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount_tax.");
                }
                else
                {
                    mSNFP_Ticket.AmountTax = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_amount_tax.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount") && queriedEntityRecord["msnfp_amount"] != null)
                {
                    mSNFP_Ticket.Amount = ((Money)queriedEntityRecord["msnfp_amount"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount.");
                }
                else
                {
                    mSNFP_Ticket.Amount = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_amount.");
                }
                if (queriedEntityRecord.Contains("msnfp_customerid") && queriedEntityRecord["msnfp_customerid"] != null)
                {
                    mSNFP_Ticket.CustomerId = ((EntityReference)queriedEntityRecord["msnfp_customerid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_customerid.");
                }
                else
                {
                    mSNFP_Ticket.CustomerId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_customerid.");
                }
                if (queriedEntityRecord.Contains("msnfp_groupnotes") && queriedEntityRecord["msnfp_groupnotes"] != null)
                {
                    mSNFP_Ticket.GroupNotes = (string)queriedEntityRecord["msnfp_groupnotes"];
                    localContext.TracingService.Trace("Got msnfp_groupnotes.");
                }
                else
                {
                    mSNFP_Ticket.GroupNotes = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_groupnotes.");
                }
                if (queriedEntityRecord.Contains("msnfp_date") && queriedEntityRecord["msnfp_date"] != null)
                {
                    mSNFP_Ticket.Date = (DateTime)queriedEntityRecord["msnfp_date"];
                    localContext.TracingService.Trace("Got msnfp_date.");
                }
                else
                {
                    mSNFP_Ticket.Date = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_date.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventid") && queriedEntityRecord["msnfp_eventid"] != null)
                {
                    mSNFP_Ticket.EventId = ((EntityReference)queriedEntityRecord["msnfp_eventid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventid.");
                }
                else
                {
                    mSNFP_Ticket.EventId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventid.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventpackageid") && queriedEntityRecord["msnfp_eventpackageid"] != null)
                {
                    mSNFP_Ticket.EventPackageId = ((EntityReference)queriedEntityRecord["msnfp_eventpackageid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventpackageid.");
                }
                else
                {
                    mSNFP_Ticket.EventPackageId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventpackageid.");
                }
                if (queriedEntityRecord.Contains("msnfp_registrationsperticket") && queriedEntityRecord["msnfp_registrationsperticket"] != null)
                {
                    mSNFP_Ticket.RegistrationsPerTicket = (int)queriedEntityRecord["msnfp_registrationsperticket"];
                    localContext.TracingService.Trace("Got msnfp_registrationsperticket.");
                }
                else
                {
                    mSNFP_Ticket.RegistrationsPerTicket = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_registrationsperticket.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventticketid") && queriedEntityRecord["msnfp_eventticketid"] != null)
                {
                    mSNFP_Ticket.EventTicketId = ((EntityReference)queriedEntityRecord["msnfp_eventticketid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventticketid.");
                }
                else
                {
                    mSNFP_Ticket.EventTicketId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventticketid.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_Ticket.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier.");
                }
                else
                {
                    mSNFP_Ticket.Identifier = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_name") && queriedEntityRecord["msnfp_name"] != null)
                {
                    mSNFP_Ticket.Name = (string)queriedEntityRecord["msnfp_name"];
                    localContext.TracingService.Trace("Got msnfp_name.");
                }
                else
                {
                    mSNFP_Ticket.Name = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_name.");
                }
                if (queriedEntityRecord.Contains("transactioncurrencyid") && queriedEntityRecord["transactioncurrencyid"] != null)
                {
                    mSNFP_Ticket.TransactionCurrencyId = ((EntityReference)queriedEntityRecord["transactioncurrencyid"]).Id;
                    localContext.TracingService.Trace("Got transactioncurrencyid.");
                }
                else
                {
                    mSNFP_Ticket.TransactionCurrencyId = null;
                    localContext.TracingService.Trace("Did NOT find transactioncurrencyid.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_Ticket.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_Ticket.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_Ticket.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_Ticket.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (messageName == "Create")
                {
                    mSNFP_Ticket.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_Ticket.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_Ticket.CreatedOn = null;
                }
                mSNFP_Ticket.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_Ticket.Deleted     = true;
                    mSNFP_Ticket.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_Ticket.Deleted     = false;
                    mSNFP_Ticket.DeletedDate = null;
                }
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_Ticket));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_Ticket);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string str = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + str);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting plugin.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "EventSponsor";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_eventsponsorid"].ToString());
                MSNFP_EventSponsor mSNFP_EventSponsor = new MSNFP_EventSponsor();
                mSNFP_EventSponsor.EventSponsorId = (Guid)queriedEntityRecord["msnfp_eventsponsorid"];
                if (queriedEntityRecord.Contains("msnfp_largeimage") && queriedEntityRecord["msnfp_largeimage"] != null)
                {
                    mSNFP_EventSponsor.LargeImage = (string)queriedEntityRecord["msnfp_largeimage"];
                    localContext.TracingService.Trace("Got msnfp_largeimage.");
                }
                else
                {
                    mSNFP_EventSponsor.LargeImage = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_largeimage.");
                }
                if (queriedEntityRecord.Contains("msnfp_order") && queriedEntityRecord["msnfp_order"] != null)
                {
                    mSNFP_EventSponsor.Order = (int)queriedEntityRecord["msnfp_order"];
                    localContext.TracingService.Trace("Got msnfp_order.");
                }
                else
                {
                    mSNFP_EventSponsor.Order = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_order.");
                }
                if (queriedEntityRecord.Contains("msnfp_orderdate") && queriedEntityRecord["msnfp_orderdate"] != null)
                {
                    mSNFP_EventSponsor.OrderDate = (DateTime)queriedEntityRecord["msnfp_orderdate"];
                    localContext.TracingService.Trace("Got msnfp_orderdate.");
                }
                else
                {
                    mSNFP_EventSponsor.OrderDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_orderdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_sponsortitle") && queriedEntityRecord["msnfp_sponsortitle"] != null)
                {
                    mSNFP_EventSponsor.SponsorTitle = (string)queriedEntityRecord["msnfp_sponsortitle"];
                    localContext.TracingService.Trace("Got msnfp_sponsortitle.");
                }
                else
                {
                    mSNFP_EventSponsor.SponsorTitle = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_sponsortitle.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_EventSponsor.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier.");
                }
                else
                {
                    mSNFP_EventSponsor.Identifier = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_EventSponsor.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_EventSponsor.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_EventSponsor.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_EventSponsor.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (messageName == "Create")
                {
                    mSNFP_EventSponsor.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_EventSponsor.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_EventSponsor.CreatedOn = null;
                }
                mSNFP_EventSponsor.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_EventSponsor.Deleted     = true;
                    mSNFP_EventSponsor.DeletedDate = DateTime.UtcNow;
                    localContext.TracingService.Trace("Setting Deleted Date to:" + mSNFP_EventSponsor.DeletedDate.ToString());
                }
                else
                {
                    mSNFP_EventSponsor.Deleted     = false;
                    mSNFP_EventSponsor.DeletedDate = null;
                }
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_EventSponsor));
                localContext.TracingService.Trace("Attempt to create JSON via serialization.");
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_EventSponsor);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string str = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + str);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
Пример #4
0
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "BankRunSchedule";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_bankrunid"].ToString());
                MSNFP_BankRunSchedule mSNFP_BankRunSchedule = new MSNFP_BankRunSchedule();
                mSNFP_BankRunSchedule.BankRunScheduleId = (Guid)queriedEntityRecord["msnfp_bankrunscheduleid"];
                mSNFP_BankRunSchedule.Identifier        = (queriedEntityRecord.Contains("msnfp_identifier") ? ((string)queriedEntityRecord["msnfp_identifier"]) : string.Empty);
                localContext.TracingService.Trace("Identifier: " + mSNFP_BankRunSchedule.Identifier);
                if (queriedEntityRecord.Contains("msnfp_paymentscheduleid") && queriedEntityRecord["msnfp_paymentscheduleid"] != null)
                {
                    mSNFP_BankRunSchedule.PaymentScheduleId = ((EntityReference)queriedEntityRecord["msnfp_paymentscheduleid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_paymentscheduleid");
                }
                else
                {
                    mSNFP_BankRunSchedule.PaymentScheduleId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_paymentscheduleid");
                }
                if (queriedEntityRecord.Contains("msnfp_bankrunid") && queriedEntityRecord["msnfp_bankrunid"] != null)
                {
                    mSNFP_BankRunSchedule.BankRunId = ((EntityReference)queriedEntityRecord["msnfp_bankrunid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_bankrunid");
                }
                else
                {
                    mSNFP_BankRunSchedule.BankRunId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_bankrunid");
                }
                if (messageName == "Create")
                {
                    mSNFP_BankRunSchedule.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_BankRunSchedule.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_BankRunSchedule.CreatedOn = null;
                }
                if (messageName == "Delete")
                {
                    mSNFP_BankRunSchedule.Deleted     = true;
                    mSNFP_BankRunSchedule.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_BankRunSchedule.Deleted     = false;
                    mSNFP_BankRunSchedule.DeletedDate = null;
                }
                mSNFP_BankRunSchedule.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                mSNFP_BankRunSchedule.StateCode  = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_BankRunSchedule));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_BankRunSchedule);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string text3 = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + text3);
                Utilities utilities = new Utilities();
                utilities.CheckAPIReturnJSONForErrors(text3, configurationRecord.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), localContext.TracingService);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "GiftAidDeclaration";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_giftaiddeclarationid"].ToString());
                MSNFP_GiftAidDeclaration mSNFP_GiftAidDeclaration = new MSNFP_GiftAidDeclaration();
                mSNFP_GiftAidDeclaration.GiftAidDeclarationId = (Guid)queriedEntityRecord["msnfp_giftaiddeclarationid"];
                if (queriedEntityRecord.Contains("msnfp_customerid") && queriedEntityRecord["msnfp_customerid"] != null)
                {
                    mSNFP_GiftAidDeclaration.CustomerId = ((EntityReference)queriedEntityRecord["msnfp_customerid"]).Id;
                    if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "contact")
                    {
                        mSNFP_GiftAidDeclaration.CustomerIdType = 2;
                    }
                    else if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "account")
                    {
                        mSNFP_GiftAidDeclaration.CustomerIdType = 1;
                    }
                    localContext.TracingService.Trace("Got msnfp_customerid.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.CustomerId     = null;
                    mSNFP_GiftAidDeclaration.CustomerIdType = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_customerid.");
                }
                if (queriedEntityRecord.Contains("msnfp_declarationdate") && queriedEntityRecord["msnfp_declarationdate"] != null)
                {
                    mSNFP_GiftAidDeclaration.DeclarationDate = (DateTime)queriedEntityRecord["msnfp_declarationdate"];
                    localContext.TracingService.Trace("Got msnfp_declarationdate.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.DeclarationDate = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_declarationdate.");
                }
                if (queriedEntityRecord.Contains("msnfp_declarationdelivered") && queriedEntityRecord["msnfp_declarationdelivered"] != null)
                {
                    mSNFP_GiftAidDeclaration.DeclarationDelivered = ((OptionSetValue)queriedEntityRecord["msnfp_declarationdelivered"]).Value;
                    localContext.TracingService.Trace("Got msnfp_declarationdelivered.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.DeclarationDelivered = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_declarationdelivered.");
                }
                if (queriedEntityRecord.Contains("msnfp_giftaiddeclarationhtml") && queriedEntityRecord["msnfp_giftaiddeclarationhtml"] != null)
                {
                    mSNFP_GiftAidDeclaration.GiftAidDeclarationHtml = (string)queriedEntityRecord["msnfp_giftaiddeclarationhtml"];
                    localContext.TracingService.Trace("Got msnfp_giftaiddeclarationhtml.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.GiftAidDeclarationHtml = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_giftaiddeclarationhtml.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_GiftAidDeclaration.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.Identifier = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_GiftAidDeclaration.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_GiftAidDeclaration.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_GiftAidDeclaration.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (messageName == "Create")
                {
                    mSNFP_GiftAidDeclaration.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_GiftAidDeclaration.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_GiftAidDeclaration.CreatedOn = null;
                }
                mSNFP_GiftAidDeclaration.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_GiftAidDeclaration.Deleted     = true;
                    mSNFP_GiftAidDeclaration.DeletedDate = DateTime.UtcNow;
                    localContext.TracingService.Trace("Setting Deleted Date to:" + mSNFP_GiftAidDeclaration.DeletedDate.ToString());
                }
                else
                {
                    mSNFP_GiftAidDeclaration.Deleted     = false;
                    mSNFP_GiftAidDeclaration.DeletedDate = null;
                }
                if (messageName == "Create")
                {
                    mSNFP_GiftAidDeclaration.Updated = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("msnfp_updated") && queriedEntityRecord["msnfp_updated"] != null)
                {
                    mSNFP_GiftAidDeclaration.Updated = (DateTime)queriedEntityRecord["msnfp_updated"];
                }
                else
                {
                    mSNFP_GiftAidDeclaration.Updated = null;
                }
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_GiftAidDeclaration));
                localContext.TracingService.Trace("Attempt to create JSON via serialization.");
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_GiftAidDeclaration);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string text3 = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + text3);
                Utilities utilities = new Utilities();
                utilities.CheckAPIReturnJSONForErrors(text3, configurationRecord.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), localContext.TracingService);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
        protected override void ExecuteCrmPlugin(LocalPluginContext localContext)
        {
            if (localContext == null)
            {
                throw new ArgumentNullException("localContext");
            }
            IPluginExecutionContext    pluginExecutionContext     = localContext.PluginExecutionContext;
            IOrganizationService       organizationService        = localContext.OrganizationService;
            OrganizationServiceContext organizationServiceContext = new OrganizationServiceContext(organizationService);
            Utilities utilities = new Utilities();

            localContext.TracingService.Trace("Configuration Create.");
            string messageName = pluginExecutionContext.MessageName;
            Entity entity      = null;
            string empty       = string.Empty;

            if (!pluginExecutionContext.InputParameters.Contains("Target") || (!(pluginExecutionContext.InputParameters["Target"] is Entity) && !(pluginExecutionContext.InputParameters["Target"] is EntityReference)))
            {
                return;
            }
            localContext.TracingService.Trace("Triggered By: " + messageName);
            if (messageName == "Create")
            {
                entity = (Entity)pluginExecutionContext.InputParameters["Target"];
            }
            else if (messageName == "Update" || messageName == "Delete")
            {
                entity = organizationService.Retrieve("msnfp_configuration", pluginExecutionContext.PrimaryEntityId, GetColumnSet());
                localContext.TracingService.Trace("Obtained values");
            }
            if (entity == null || (!(messageName == "Create") && !(messageName == "Update") && !(messageName == "Delete")))
            {
                return;
            }
            localContext.TracingService.Trace("Configuration is Primary entity. Plugin Called On: " + messageName);
            MSNFP_Configuration mSNFP_Configuration = new MSNFP_Configuration();

            mSNFP_Configuration.ConfigurationId = (Guid)entity["msnfp_configurationid"];
            mSNFP_Configuration.Identifier      = (entity.Contains("msnfp_identifier") ? ((string)entity["msnfp_identifier"]) : string.Empty);
            localContext.TracingService.Trace("Obtaining JSON Fields to send to API.");
            mSNFP_Configuration.AzureWebApiUrl        = (entity.Contains("msnfp_azure_webapiurl") ? ((string)entity["msnfp_azure_webapiurl"]) : string.Empty);
            mSNFP_Configuration.AddressAuth1          = (entity.Contains("msnfp_addressauth1") ? ((string)entity["msnfp_addressauth1"]) : string.Empty);
            mSNFP_Configuration.AddressAuth2          = (entity.Contains("msnfp_addressauth2") ? ((string)entity["msnfp_addressauth2"]) : string.Empty);
            mSNFP_Configuration.BankRunPregeneratedBy = ((!entity.Contains("msnfp_bankrun_pregeneratedby")) ? 1 : ((int)entity["msnfp_bankrun_pregeneratedby"]));
            mSNFP_Configuration.CharityTitle          = (entity.Contains("msnfp_charitytitle") ? ((string)entity["msnfp_charitytitle"]) : string.Empty);
            mSNFP_Configuration.ScheMaxRetries        = (entity.Contains("msnfp_sche_maxretries") ? ((int)entity["msnfp_sche_maxretries"]) : 0);
            if (entity.Contains("msnfp_sche_recurrencestart"))
            {
                mSNFP_Configuration.ScheRecurrenceStart = ((OptionSetValue)entity["msnfp_sche_recurrencestart"]).Value;
            }
            else
            {
                mSNFP_Configuration.ScheRecurrenceStart = null;
            }
            mSNFP_Configuration.ScheRetryinterval = ((!entity.Contains("msnfp_sche_retryinterval")) ? 1 : ((int)entity["msnfp_sche_retryinterval"]));
            localContext.TracingService.Trace("Get Entity References.");
            if (entity.Contains("msnfp_teamownerid") && entity["msnfp_teamownerid"] != null)
            {
                mSNFP_Configuration.TeamOwnerId = ((EntityReference)entity["msnfp_teamownerid"]).Id;
            }
            else
            {
                mSNFP_Configuration.TeamOwnerId = null;
            }
            if (entity.Contains("msnfp_paymentprocessorid") && entity["msnfp_paymentprocessorid"] != null)
            {
                mSNFP_Configuration.PaymentProcessorId = ((EntityReference)entity["msnfp_paymentprocessorid"]).Id;
            }
            else
            {
                mSNFP_Configuration.PaymentProcessorId = null;
            }
            if (entity.Contains("msnfp_defaultconfiguration") && entity["msnfp_defaultconfiguration"] != null)
            {
                mSNFP_Configuration.DefaultConfiguration = (bool)entity["msnfp_defaultconfiguration"];
                localContext.TracingService.Trace("Got Default Configuration.");
            }
            else
            {
                mSNFP_Configuration.DefaultConfiguration = null;
                localContext.TracingService.Trace("Did NOT find Default Configuration.");
            }
            if (entity.Contains("statecode") && entity["statecode"] != null)
            {
                mSNFP_Configuration.StateCode = ((OptionSetValue)entity["statecode"]).Value;
                localContext.TracingService.Trace("Got statecode.");
            }
            else
            {
                mSNFP_Configuration.StateCode = null;
                localContext.TracingService.Trace("Did NOT find statecode.");
            }
            if (entity.Contains("statuscode") && entity["statuscode"] != null)
            {
                mSNFP_Configuration.StatusCode = ((OptionSetValue)entity["statuscode"]).Value;
                localContext.TracingService.Trace("Got statuscode.");
            }
            else
            {
                mSNFP_Configuration.StatusCode = null;
                localContext.TracingService.Trace("Did NOT find statuscode.");
            }
            localContext.TracingService.Trace("Set remaining JSON fields to null as they are not used here.");
            if (messageName == "Create")
            {
                mSNFP_Configuration.CreatedOn = DateTime.UtcNow;
            }
            else if (entity.Contains("createdon") && entity["createdon"] != null)
            {
                mSNFP_Configuration.CreatedOn = (DateTime)entity["createdon"];
            }
            else
            {
                mSNFP_Configuration.CreatedOn = null;
            }
            mSNFP_Configuration.SyncDate = DateTime.UtcNow;
            if (messageName == "Delete")
            {
                mSNFP_Configuration.Deleted     = true;
                mSNFP_Configuration.DeletedDate = DateTime.UtcNow;
            }
            else
            {
                mSNFP_Configuration.Deleted     = false;
                mSNFP_Configuration.DeletedDate = null;
            }
            mSNFP_Configuration.PaymentProcessor = null;
            mSNFP_Configuration.Event            = new HashSet <MSNFP_Event>();
            mSNFP_Configuration.EventPackage     = new HashSet <MSNFP_EventPackage>();
            mSNFP_Configuration.PaymentSchedule  = new HashSet <MSNFP_PaymentSchedule>();
            mSNFP_Configuration.ReceiptStack     = new HashSet <MSNFP_ReceiptStack>();
            mSNFP_Configuration.Transaction      = new HashSet <MSNFP_Transaction>();
            localContext.TracingService.Trace("Gathered fields.");
            empty = mSNFP_Configuration.AzureWebApiUrl;
            localContext.TracingService.Trace("API URL: " + empty);
            if (empty.Length > 0)
            {
                localContext.TracingService.Trace("Syncing data to Azure.");
                if (messageName == "Update" || messageName == "Delete")
                {
                    empty += "Configuration/UpdateConfiguration";
                }
                else if (messageName == "Create")
                {
                    empty += "Configuration/CreateConfiguration";
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_Configuration));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_Configuration);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string @string = Encoding.UTF8.GetString(array, 0, array.Length);
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + empty);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                if (entity.Contains("msnfp_apipadlocktoken"))
                {
                    if ((string)entity["msnfp_apipadlocktoken"] == null)
                    {
                        return;
                    }
                    webAPIClient.Headers["Padlock"] = (string)entity["msnfp_apipadlocktoken"];
                    webAPIClient.Encoding           = Encoding.UTF8;
                    string text = webAPIClient.UploadString(empty, @string);
                    localContext.TracingService.Trace("Got response.");
                    localContext.TracingService.Trace("Response: " + text);
                    Utilities utilities2 = new Utilities();
                    utilities2.CheckAPIReturnJSONForErrors(text, entity.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), localContext.TracingService);
                    EntityCollection entityCollection = organizationService.RetrieveMultiple(new QueryExpression
                    {
                        EntityName = "transactioncurrency",
                        ColumnSet  = new ColumnSet("transactioncurrencyid")
                    });
                    foreach (Entity entity2 in entityCollection.Entities)
                    {
                        OrganizationRequest organizationRequest = new OrganizationRequest("msnfp_ActionSyncCurrency");
                        organizationRequest["Target"] = entity2.ToEntityReference();
                        organizationService.Execute(organizationRequest);
                        localContext.TracingService.Trace($"currency {entity2.Id} updated.");
                    }
                }
                else
                {
                    localContext.TracingService.Trace("No padlock found, did not send data to Azure.");
                }
            }
            else
            {
                localContext.TracingService.Trace("API URL is null or Portal Syncing is turned off. Exiting Plugin.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "Event";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_eventid"].ToString());
                MSNFP_Event mSNFP_Event = new MSNFP_Event
                {
                    EventId = (Guid)queriedEntityRecord["msnfp_eventid"]
                };
                localContext.TracingService.Trace("Got myHttpWebResponse: -1");
                if (queriedEntityRecord.Contains("msnfp_goal") && queriedEntityRecord["msnfp_goal"] != null)
                {
                    mSNFP_Event.Goal = ((Money)queriedEntityRecord["msnfp_goal"]).Value;
                    localContext.TracingService.Trace("Got msnfp_goal");
                }
                else
                {
                    mSNFP_Event.Goal = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_goal.");
                }
                if (queriedEntityRecord.Contains("msnfp_capacity") && queriedEntityRecord["msnfp_capacity"] != null)
                {
                    mSNFP_Event.Capacity = (int)queriedEntityRecord["msnfp_capacity"];
                    localContext.TracingService.Trace("Got msnfp_capacity");
                }
                else
                {
                    mSNFP_Event.Capacity = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_capacity.");
                }
                if (queriedEntityRecord.Contains("msnfp_description") && queriedEntityRecord["msnfp_description"] != null)
                {
                    mSNFP_Event.Description = (string)queriedEntityRecord["msnfp_description"];
                    localContext.TracingService.Trace("Got msnfp_description");
                }
                else
                {
                    mSNFP_Event.Description = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_description.");
                }
                if (queriedEntityRecord.Contains("msnfp_name") && queriedEntityRecord["msnfp_name"] != null)
                {
                    mSNFP_Event.Name = (string)queriedEntityRecord["msnfp_name"];
                    localContext.TracingService.Trace("Got msnfp_name");
                }
                else
                {
                    mSNFP_Event.Name = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_name.");
                }
                if (queriedEntityRecord.Contains("msnfp_amount") && queriedEntityRecord["msnfp_amount"] != null)
                {
                    mSNFP_Event.Amount = ((Money)queriedEntityRecord["msnfp_amount"]).Value;
                    localContext.TracingService.Trace("Got msnfp_amount");
                }
                else
                {
                    mSNFP_Event.Amount = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_amount.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventtypecode") && queriedEntityRecord["msnfp_eventtypecode"] != null)
                {
                    mSNFP_Event.EventTypeCode = ((OptionSetValue)queriedEntityRecord["msnfp_eventtypecode"]).Value;
                    localContext.TracingService.Trace("Got msnfp_eventtypecode");
                }
                else
                {
                    mSNFP_Event.EventTypeCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventtypecode.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_Event.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier");
                }
                else
                {
                    mSNFP_Event.Identifier = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_line1") && queriedEntityRecord["msnfp_map_line1"] != null)
                {
                    mSNFP_Event.MapLine1 = (string)queriedEntityRecord["msnfp_map_line1"];
                    localContext.TracingService.Trace("Got msnfp_map_line1");
                }
                else
                {
                    mSNFP_Event.MapLine1 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_line1.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_line2") && queriedEntityRecord["msnfp_map_line2"] != null)
                {
                    mSNFP_Event.MapLine2 = (string)queriedEntityRecord["msnfp_map_line2"];
                    localContext.TracingService.Trace("Got msnfp_map_line2");
                }
                else
                {
                    mSNFP_Event.MapLine2 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_line2.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_line3") && queriedEntityRecord["msnfp_map_line3"] != null)
                {
                    mSNFP_Event.MapLine3 = (string)queriedEntityRecord["msnfp_map_line3"];
                    localContext.TracingService.Trace("Got msnfp_map_line3");
                }
                else
                {
                    mSNFP_Event.MapLine3 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_line3.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_city") && queriedEntityRecord["msnfp_map_city"] != null)
                {
                    mSNFP_Event.MapCity = (string)queriedEntityRecord["msnfp_map_city"];
                    localContext.TracingService.Trace("Got msnfp_map_city");
                }
                else
                {
                    mSNFP_Event.MapCity = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_city.");
                }
                if (queriedEntityRecord.Contains("msnfp_stateorprovince") && queriedEntityRecord["msnfp_stateorprovince"] != null)
                {
                    mSNFP_Event.MapStateOrProvince = (string)queriedEntityRecord["msnfp_stateorprovince"];
                    localContext.TracingService.Trace("Got msnfp_stateorprovince");
                }
                else
                {
                    mSNFP_Event.MapStateOrProvince = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_stateorprovince.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_postalcode") && queriedEntityRecord["msnfp_map_postalcode"] != null)
                {
                    mSNFP_Event.MapPostalCode = (string)queriedEntityRecord["msnfp_map_postalcode"];
                    localContext.TracingService.Trace("Got msnfp_map_postalcode");
                }
                else
                {
                    mSNFP_Event.MapPostalCode = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_postalcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_map_country") && queriedEntityRecord["msnfp_map_country"] != null)
                {
                    mSNFP_Event.MapCountry = (string)queriedEntityRecord["msnfp_map_country"];
                    localContext.TracingService.Trace("Got msnfp_map_country");
                }
                else
                {
                    mSNFP_Event.MapCountry = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_map_country.");
                }
                if (queriedEntityRecord.Contains("msnfp_proposedend") && queriedEntityRecord["msnfp_proposedend"] != null)
                {
                    mSNFP_Event.ProposedEnd = (DateTime)queriedEntityRecord["msnfp_proposedend"];
                    localContext.TracingService.Trace("Got msnfp_proposedend");
                }
                else
                {
                    mSNFP_Event.ProposedEnd = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_proposedend.");
                }
                if (queriedEntityRecord.Contains("msnfp_proposedstart") && queriedEntityRecord["msnfp_proposedstart"] != null)
                {
                    mSNFP_Event.ProposedStart = (DateTime)queriedEntityRecord["msnfp_proposedstart"];
                    localContext.TracingService.Trace("Got msnfp_proposedstart");
                }
                else
                {
                    mSNFP_Event.ProposedStart = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_proposedstart.");
                }
                if (queriedEntityRecord.Contains("msnfp_campaignid") && queriedEntityRecord["msnfp_campaignid"] != null)
                {
                    mSNFP_Event.CampaignId = ((EntityReference)queriedEntityRecord["msnfp_campaignid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_campaignid");
                }
                else
                {
                    mSNFP_Event.CampaignId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_campaignid.");
                }
                if (queriedEntityRecord.Contains("msnfp_appealid") && queriedEntityRecord["msnfp_appealid"] != null)
                {
                    mSNFP_Event.AppealId = ((EntityReference)queriedEntityRecord["msnfp_appealid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_appealid");
                }
                else
                {
                    mSNFP_Event.AppealId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_appealid.");
                }
                if (queriedEntityRecord.Contains("msnfp_packageid") && queriedEntityRecord["msnfp_packageid"] != null)
                {
                    mSNFP_Event.PackageId = ((EntityReference)queriedEntityRecord["msnfp_packageid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_packageid");
                }
                else
                {
                    mSNFP_Event.PackageId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_packageid.");
                }
                if (queriedEntityRecord.Contains("msnfp_designationid") && queriedEntityRecord["msnfp_designationid"] != null)
                {
                    mSNFP_Event.DesignationId = ((EntityReference)queriedEntityRecord["msnfp_designationid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_designationid");
                }
                else
                {
                    mSNFP_Event.DesignationId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_designationid.");
                }
                if (queriedEntityRecord.Contains("msnfp_configurationid") && queriedEntityRecord["msnfp_configurationid"] != null)
                {
                    mSNFP_Event.ConfigurationId = ((EntityReference)queriedEntityRecord["msnfp_configurationid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_configurationid");
                }
                else
                {
                    mSNFP_Event.ConfigurationId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_configurationid.");
                }
                if (queriedEntityRecord.Contains("msnfp_venueid") && queriedEntityRecord["msnfp_venueid"] != null)
                {
                    mSNFP_Event.VenueId = ((EntityReference)queriedEntityRecord["msnfp_venueid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_venueid");
                }
                else
                {
                    mSNFP_Event.VenueId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_venueid.");
                }
                if (queriedEntityRecord.Contains("transactioncurrencyid") && queriedEntityRecord["transactioncurrencyid"] != null)
                {
                    mSNFP_Event.TransactionCurrencyId = ((EntityReference)queriedEntityRecord["transactioncurrencyid"]).Id;
                    localContext.TracingService.Trace("Got transactioncurrencyid.");
                }
                else
                {
                    mSNFP_Event.TransactionCurrencyId = null;
                    localContext.TracingService.Trace("Did NOT find transactioncurrencyid.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_Event.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_Event.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_Event.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_Event.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (messageName == "Create")
                {
                    mSNFP_Event.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_Event.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_Event.CreatedOn = null;
                }
                mSNFP_Event.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_Event.Deleted     = true;
                    mSNFP_Event.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_Event.Deleted     = false;
                    mSNFP_Event.DeletedDate = null;
                }
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_Event));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_Event);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string str = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + str);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting plugin.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "PaymentProcessor";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_paymentprocessorid"].ToString());
                MSNFP_PaymentProcessor mSNFP_PaymentProcessor = new MSNFP_PaymentProcessor();
                mSNFP_PaymentProcessor.PaymentProcessorId = (Guid)queriedEntityRecord["msnfp_paymentprocessorid"];
                mSNFP_PaymentProcessor.Name = (queriedEntityRecord.Contains("msnfp_name") ? ((string)queriedEntityRecord["msnfp_name"]) : string.Empty);
                localContext.TracingService.Trace("Title: " + mSNFP_PaymentProcessor.Name);
                if (queriedEntityRecord.Contains("msnfp_apikey") && queriedEntityRecord["msnfp_apikey"] != null)
                {
                    mSNFP_PaymentProcessor.MonerisApiKey = (string)queriedEntityRecord["msnfp_apikey"];
                    localContext.TracingService.Trace("Got msnfp_apikey.");
                }
                else
                {
                    mSNFP_PaymentProcessor.MonerisApiKey = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_apikey.");
                }
                if (queriedEntityRecord.Contains("msnfp_name") && queriedEntityRecord["msnfp_name"] != null)
                {
                    mSNFP_PaymentProcessor.Name = (string)queriedEntityRecord["msnfp_name"];
                    localContext.TracingService.Trace("Got msnfp_name.");
                }
                else
                {
                    mSNFP_PaymentProcessor.Name = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_name.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_PaymentProcessor.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier.");
                }
                else
                {
                    mSNFP_PaymentProcessor.Identifier = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_paymentgatewaytype") && queriedEntityRecord["msnfp_paymentgatewaytype"] != null)
                {
                    mSNFP_PaymentProcessor.PaymentGatewayType = ((OptionSetValue)queriedEntityRecord["msnfp_paymentgatewaytype"]).Value;
                    localContext.TracingService.Trace("Got msnfp_paymentgatewaytype.");
                }
                else
                {
                    mSNFP_PaymentProcessor.PaymentGatewayType = 844060000;
                    localContext.TracingService.Trace("Did NOT find msnfp_paymentgatewaytype.");
                }
                if (queriedEntityRecord.Contains("msnfp_storeid") && queriedEntityRecord["msnfp_storeid"] != null)
                {
                    mSNFP_PaymentProcessor.MonerisStoreId = (string)queriedEntityRecord["msnfp_storeid"];
                    localContext.TracingService.Trace("Got msnfp_storeid.");
                }
                else
                {
                    mSNFP_PaymentProcessor.MonerisStoreId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_storeid.");
                }
                if (queriedEntityRecord.Contains("msnfp_testmode") && queriedEntityRecord["msnfp_testmode"] != null)
                {
                    mSNFP_PaymentProcessor.MonerisTestMode = (bool)queriedEntityRecord["msnfp_testmode"];
                    localContext.TracingService.Trace("Got msnfp_testmode.");
                }
                else
                {
                    mSNFP_PaymentProcessor.MonerisTestMode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_testmode.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_PaymentProcessor.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_PaymentProcessor.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_PaymentProcessor.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_PaymentProcessor.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (queriedEntityRecord.Contains("msnfp_bankrunfileformat") && queriedEntityRecord["msnfp_bankrunfileformat"] != null)
                {
                    mSNFP_PaymentProcessor.BankRunFileFormat = ((OptionSetValue)queriedEntityRecord["msnfp_bankrunfileformat"]).Value;
                    localContext.TracingService.Trace("Got msnfp_bankrunfileformat.");
                }
                else
                {
                    mSNFP_PaymentProcessor.BankRunFileFormat = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_bankrunfileformat.");
                }
                if (queriedEntityRecord.Contains("msnfp_scotiabankcustomernumber") && queriedEntityRecord["msnfp_scotiabankcustomernumber"] != null)
                {
                    mSNFP_PaymentProcessor.ScotiabankCustomerNumber = (string)queriedEntityRecord["msnfp_scotiabankcustomernumber"];
                    localContext.TracingService.Trace("Got msnfp_scotiabankcustomernumber.");
                }
                else
                {
                    mSNFP_PaymentProcessor.ScotiabankCustomerNumber = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_scotiabankcustomernumber.");
                }
                if (queriedEntityRecord.Contains("msnfp_originatorshortname") && queriedEntityRecord["msnfp_originatorshortname"] != null)
                {
                    mSNFP_PaymentProcessor.OriginatorShortName = (string)queriedEntityRecord["msnfp_originatorshortname"];
                    localContext.TracingService.Trace("Got msnfp_originatorshortname.");
                }
                else
                {
                    mSNFP_PaymentProcessor.OriginatorShortName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_originatorshortname.");
                }
                if (queriedEntityRecord.Contains("msnfp_originatorlongname") && queriedEntityRecord["msnfp_originatorlongname"] != null)
                {
                    mSNFP_PaymentProcessor.OriginatorLongName = (string)queriedEntityRecord["msnfp_originatorlongname"];
                    localContext.TracingService.Trace("Got msnfp_originatorlongname.");
                }
                else
                {
                    mSNFP_PaymentProcessor.OriginatorLongName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_originatorlongname.");
                }
                if (queriedEntityRecord.Contains("msnfp_bmooriginatorid") && queriedEntityRecord["msnfp_bmooriginatorid"] != null)
                {
                    mSNFP_PaymentProcessor.BmoOriginatorId = (string)queriedEntityRecord["msnfp_bmooriginatorid"];
                    localContext.TracingService.Trace("Got msnfp_bmooriginatorid.");
                }
                else
                {
                    mSNFP_PaymentProcessor.BmoOriginatorId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_bmooriginatorid.");
                }
                if (queriedEntityRecord.Contains("msnfp_abaremittername") && queriedEntityRecord["msnfp_abaremittername"] != null)
                {
                    mSNFP_PaymentProcessor.AbaRemitterName = (string)queriedEntityRecord["msnfp_abaremittername"];
                    localContext.TracingService.Trace("Got msnfp_abaremittername.");
                }
                else
                {
                    mSNFP_PaymentProcessor.AbaRemitterName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_bmooriginatorid.");
                }
                if (queriedEntityRecord.Contains("msnfp_abausername") && queriedEntityRecord["msnfp_abausername"] != null)
                {
                    mSNFP_PaymentProcessor.AbaUserName = (string)queriedEntityRecord["msnfp_abausername"];
                    localContext.TracingService.Trace("Got msnfp_abausername.");
                }
                else
                {
                    mSNFP_PaymentProcessor.AbaUserName = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_abausername.");
                }
                if (queriedEntityRecord.Contains("msnfp_abausernumber") && queriedEntityRecord["msnfp_abausernumber"] != null)
                {
                    mSNFP_PaymentProcessor.AbaUserNumber = (string)queriedEntityRecord["msnfp_abausernumber"];
                    localContext.TracingService.Trace("Got msnfp_abausernumber.");
                }
                else
                {
                    mSNFP_PaymentProcessor.AbaUserNumber = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_abausernumber.");
                }
                if (queriedEntityRecord.Contains("msnfp_iatsagentcode") && queriedEntityRecord["msnfp_iatsagentcode"] != null)
                {
                    mSNFP_PaymentProcessor.IatsAgentCode = (string)queriedEntityRecord["msnfp_iatsagentcode"];
                    localContext.TracingService.Trace("Got msnfp_iatsagentcode.");
                }
                else
                {
                    mSNFP_PaymentProcessor.IatsAgentCode = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_iatsagentcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_iatspassword") && queriedEntityRecord["msnfp_iatspassword"] != null)
                {
                    mSNFP_PaymentProcessor.IatsPassword = (string)queriedEntityRecord["msnfp_iatspassword"];
                    localContext.TracingService.Trace("Got msnfp_iatspassword.");
                }
                else
                {
                    mSNFP_PaymentProcessor.IatsPassword = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_iatspassword.");
                }
                if (messageName == "Create")
                {
                    mSNFP_PaymentProcessor.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_PaymentProcessor.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_PaymentProcessor.CreatedOn = null;
                }
                mSNFP_PaymentProcessor.Updated  = null;
                mSNFP_PaymentProcessor.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_PaymentProcessor.Deleted     = true;
                    mSNFP_PaymentProcessor.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_PaymentProcessor.Deleted     = false;
                    mSNFP_PaymentProcessor.DeletedDate = null;
                }
                mSNFP_PaymentProcessor.Configuration = new HashSet <MSNFP_Configuration>();
                mSNFP_PaymentProcessor.PaymentMethod = new HashSet <MSNFP_PaymentMethod>();
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_PaymentProcessor));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_PaymentProcessor);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string text3 = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + text3);
                Utilities utilities = new Utilities();
                utilities.CheckAPIReturnJSONForErrors(text3, configurationRecord.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), localContext.TracingService);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "TransactionCurrency";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["transactioncurrencyid"].ToString());
                TransactionCurrency transactionCurrency = new TransactionCurrency();
                transactionCurrency.TransactionCurrencyId = (Guid)queriedEntityRecord["transactioncurrencyid"];
                transactionCurrency.CurrencyName          = (queriedEntityRecord.Contains("currencyname") ? ((string)queriedEntityRecord["currencyname"]) : string.Empty);
                localContext.TracingService.Trace("Title: " + transactionCurrency.CurrencyName);
                if (queriedEntityRecord.Contains("currencysymbol") && queriedEntityRecord["currencysymbol"] != null)
                {
                    transactionCurrency.CurrencySymbol = (string)queriedEntityRecord["currencysymbol"];
                    localContext.TracingService.Trace("Got currencysymbol.");
                }
                else
                {
                    transactionCurrency.CurrencySymbol = null;
                    localContext.TracingService.Trace("Did NOT find currencysymbol.");
                }
                if (queriedEntityRecord.Contains("isocurrencycode") && queriedEntityRecord["isocurrencycode"] != null)
                {
                    transactionCurrency.IsoCurrencyCode = (string)queriedEntityRecord["isocurrencycode"];
                    localContext.TracingService.Trace("Got currenisocurrencycodecysymbol.");
                }
                else
                {
                    transactionCurrency.IsoCurrencyCode = null;
                    localContext.TracingService.Trace("Did NOT find isocurrencycode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    transactionCurrency.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    transactionCurrency.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    transactionCurrency.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    transactionCurrency.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("exchangerate") && queriedEntityRecord["exchangerate"] != null)
                {
                    transactionCurrency.ExchangeRate = (decimal)queriedEntityRecord["exchangerate"];
                    localContext.TracingService.Trace("Got exchangerate.");
                }
                else
                {
                    transactionCurrency.ExchangeRate = null;
                    localContext.TracingService.Trace("Did NOT find exchangerate.");
                }
                if (queriedEntityRecord.Contains("organizationid") && queriedEntityRecord["organizationid"] != null)
                {
                    localContext.TracingService.Trace("Querying for base currency = " + ((EntityReference)queriedEntityRecord["organizationid"]).Id.ToString());
                    ColumnSet columnSet = new ColumnSet("basecurrencyid");
                    Entity    entity    = service.Retrieve("organization", ((EntityReference)queriedEntityRecord["organizationid"]).Id, columnSet);
                    Guid      id        = ((EntityReference)entity["basecurrencyid"]).Id;
                    localContext.TracingService.Trace("CurrencyId = " + id.ToString());
                    if (id == (Guid)queriedEntityRecord["transactioncurrencyid"])
                    {
                        transactionCurrency.IsBase = true;
                    }
                    else
                    {
                        transactionCurrency.IsBase = false;
                    }
                    ITracingService tracingService = localContext.TracingService;
                    Guid            guid           = id;
                    tracingService.Trace("Got base currency = " + guid.ToString());
                    localContext.TracingService.Trace("jsonDataObj.IsBase = " + transactionCurrency.IsBase);
                }
                else
                {
                    transactionCurrency.IsBase = null;
                    localContext.TracingService.Trace("Did NOT find isbase.");
                }
                if (messageName == "Create")
                {
                    transactionCurrency.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    transactionCurrency.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    transactionCurrency.CreatedOn = null;
                }
                transactionCurrency.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    transactionCurrency.Deleted     = true;
                    transactionCurrency.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    transactionCurrency.Deleted     = false;
                    transactionCurrency.DeletedDate = null;
                }
                localContext.TracingService.Trace("JSON object created");
                int num;
                switch (messageName)
                {
                case "Create":
                    text2 = text2 + text + "/Create" + text;
                    break;

                default:
                    num = ((messageName == "msnfp_ActionSyncCurrency") ? 1 : 0);
                    goto IL_06e9;

                case "Update":
                case "Delete":
                {
                    num = 1;
                    goto IL_06e9;
                }
IL_06e9:
                    if (num != 0)
                    {
                        text2 = text2 + text + "/Update" + text;
                    }
                    break;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(TransactionCurrency));
                dataContractJsonSerializer.WriteObject(memoryStream, transactionCurrency);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string text3 = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + text3);
                Utilities utilities = new Utilities();
                utilities.CheckAPIReturnJSONForErrors(text3, configurationRecord.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), localContext.TracingService);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }
Пример #10
0
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, LocalPluginContext localContext, IOrganizationService service, IPluginExecutionContext context)
        {
            localContext.TracingService.Trace("---------Send the Record to Azure---------");
            string messageName = context.MessageName;
            string text        = "Registration";
            string text2       = Utilities.GetAzureWebAPIURL(service, context);

            localContext.TracingService.Trace("Got API URL: " + text2);
            if (text2 != string.Empty)
            {
                localContext.TracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord["msnfp_registrationid"].ToString());
                MSNFP_Registration mSNFP_Registration = new MSNFP_Registration();
                mSNFP_Registration.RegistrationId = (Guid)queriedEntityRecord["msnfp_registrationid"];
                if (queriedEntityRecord.Contains("msnfp_firstname") && queriedEntityRecord["msnfp_firstname"] != null)
                {
                    mSNFP_Registration.FirstName = (string)queriedEntityRecord["msnfp_firstname"];
                    localContext.TracingService.Trace("Got msnfp_firstname.");
                }
                else
                {
                    mSNFP_Registration.FirstName = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_firstname.");
                }
                if (queriedEntityRecord.Contains("msnfp_lastname") && queriedEntityRecord["msnfp_lastname"] != null)
                {
                    mSNFP_Registration.LastName = (string)queriedEntityRecord["msnfp_lastname"];
                    localContext.TracingService.Trace("Got msnfp_lastname.");
                }
                else
                {
                    mSNFP_Registration.LastName = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_lastname.");
                }
                if (queriedEntityRecord.Contains("msnfp_email") && queriedEntityRecord["msnfp_email"] != null)
                {
                    mSNFP_Registration.Email = (string)queriedEntityRecord["msnfp_email"];
                    localContext.TracingService.Trace("Got msnfp_email.");
                }
                else
                {
                    mSNFP_Registration.Email = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_email.");
                }
                if (queriedEntityRecord.Contains("msnfp_telephone") && queriedEntityRecord["msnfp_telephone"] != null)
                {
                    mSNFP_Registration.Telephone = (string)queriedEntityRecord["msnfp_telephone"];
                    localContext.TracingService.Trace("Got msnfp_telephone.");
                }
                else
                {
                    mSNFP_Registration.Telephone = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_telephone.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_line1") && queriedEntityRecord["msnfp_address_line1"] != null)
                {
                    mSNFP_Registration.Address_Line1 = (string)queriedEntityRecord["msnfp_address_line1"];
                    localContext.TracingService.Trace("Got msnfp_address_line1.");
                }
                else
                {
                    mSNFP_Registration.Address_Line1 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_line1.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_line2") && queriedEntityRecord["msnfp_address_line2"] != null)
                {
                    mSNFP_Registration.Address_Line2 = (string)queriedEntityRecord["msnfp_address_line2"];
                    localContext.TracingService.Trace("Got msnfp_address_line2.");
                }
                else
                {
                    mSNFP_Registration.Address_Line2 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_line2.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_city") && queriedEntityRecord["msnfp_address_city"] != null)
                {
                    mSNFP_Registration.Address_City = (string)queriedEntityRecord["msnfp_address_city"];
                    localContext.TracingService.Trace("Got msnfp_address_city.");
                }
                else
                {
                    mSNFP_Registration.Address_City = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_city.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_province") && queriedEntityRecord["msnfp_address_province"] != null)
                {
                    mSNFP_Registration.Address_Province = (string)queriedEntityRecord["msnfp_address_province"];
                    localContext.TracingService.Trace("Got msnfp_address_province.");
                }
                else
                {
                    mSNFP_Registration.Address_Province = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_province.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_postalcode") && queriedEntityRecord["msnfp_address_postalcode"] != null)
                {
                    mSNFP_Registration.Address_PostalCode = (string)queriedEntityRecord["msnfp_address_postalcode"];
                    localContext.TracingService.Trace("Got msnfp_address_postalcode.");
                }
                else
                {
                    mSNFP_Registration.Address_PostalCode = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_postalcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_address_country") && queriedEntityRecord["msnfp_address_country"] != null)
                {
                    mSNFP_Registration.Address_Country = (string)queriedEntityRecord["msnfp_address_country"];
                    localContext.TracingService.Trace("Got msnfp_address_country.");
                }
                else
                {
                    mSNFP_Registration.Address_Country = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_address_country.");
                }
                if (queriedEntityRecord.Contains("msnfp_tableid") && queriedEntityRecord["msnfp_tableid"] != null)
                {
                    mSNFP_Registration.TableId = ((EntityReference)queriedEntityRecord["msnfp_tableid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_tableid");
                }
                else
                {
                    mSNFP_Registration.TableId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_tableid.");
                }
                if (queriedEntityRecord.Contains("msnfp_team") && queriedEntityRecord["msnfp_team"] != null)
                {
                    mSNFP_Registration.Team = (string)queriedEntityRecord["msnfp_team"];
                    localContext.TracingService.Trace("Got msnfp_team.");
                }
                else
                {
                    mSNFP_Registration.Team = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_team.");
                }
                if (queriedEntityRecord.Contains("msnfp_customerid") && queriedEntityRecord["msnfp_customerid"] != null)
                {
                    mSNFP_Registration.CustomerId = ((EntityReference)queriedEntityRecord["msnfp_customerid"]).Id;
                    if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "contact")
                    {
                        mSNFP_Registration.CustomerIdType = 2;
                    }
                    else if (((EntityReference)queriedEntityRecord["msnfp_customerid"]).LogicalName.ToLower() == "account")
                    {
                        mSNFP_Registration.CustomerIdType = 1;
                    }
                    localContext.TracingService.Trace("Got msnfp_customerid");
                }
                else
                {
                    mSNFP_Registration.CustomerId     = null;
                    mSNFP_Registration.CustomerIdType = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_customerid.");
                }
                if (queriedEntityRecord.Contains("msnfp_date") && queriedEntityRecord["msnfp_date"] != null)
                {
                    mSNFP_Registration.Date = (DateTime)queriedEntityRecord["msnfp_date"];
                    localContext.TracingService.Trace("Got msnfp_date.");
                }
                else
                {
                    mSNFP_Registration.Date = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_date.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventid") && queriedEntityRecord["msnfp_eventid"] != null)
                {
                    mSNFP_Registration.EventId = ((EntityReference)queriedEntityRecord["msnfp_eventid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventid .");
                }
                else
                {
                    mSNFP_Registration.EventId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventid.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventpackageid") && queriedEntityRecord["msnfp_eventpackageid"] != null)
                {
                    mSNFP_Registration.EventPackageId = ((EntityReference)queriedEntityRecord["msnfp_eventpackageid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventpackageid.");
                }
                else
                {
                    mSNFP_Registration.EventPackageId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventpackageid.");
                }
                if (queriedEntityRecord.Contains("msnfp_ticketid") && queriedEntityRecord["msnfp_ticketid"] != null)
                {
                    mSNFP_Registration.TicketId = ((EntityReference)queriedEntityRecord["msnfp_ticketid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_ticketid.");
                }
                else
                {
                    mSNFP_Registration.TicketId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_ticketid.");
                }
                if (queriedEntityRecord.Contains("msnfp_groupnotes") && queriedEntityRecord["msnfp_groupnotes"] != null)
                {
                    mSNFP_Registration.GroupNotes = (string)queriedEntityRecord["msnfp_groupnotes"];
                    localContext.TracingService.Trace("Got msnfp_groupnotes.");
                }
                else
                {
                    mSNFP_Registration.GroupNotes = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_groupnotes.");
                }
                if (queriedEntityRecord.Contains("msnfp_eventticketid") && queriedEntityRecord["msnfp_eventticketid"] != null)
                {
                    mSNFP_Registration.EventTicketId = ((EntityReference)queriedEntityRecord["msnfp_eventticketid"]).Id;
                    localContext.TracingService.Trace("Got msnfp_eventticketid.");
                }
                else
                {
                    mSNFP_Registration.EventTicketId = null;
                    localContext.TracingService.Trace("Did NOT find msnfp_eventticketid.");
                }
                if (queriedEntityRecord.Contains("msnfp_identifier") && queriedEntityRecord["msnfp_identifier"] != null)
                {
                    mSNFP_Registration.Identifier = (string)queriedEntityRecord["msnfp_identifier"];
                    localContext.TracingService.Trace("Got msnfp_identifier.");
                }
                else
                {
                    mSNFP_Registration.Identifier = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_identifier.");
                }
                if (queriedEntityRecord.Contains("msnfp_emailaddress1") && queriedEntityRecord["msnfp_emailaddress1"] != null)
                {
                    mSNFP_Registration.msnfp_Emailaddress1 = (string)queriedEntityRecord["msnfp_emailaddress1"];
                    localContext.TracingService.Trace("Got msnfp_emailaddress1.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Emailaddress1 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_emailaddress1.");
                }
                if (queriedEntityRecord.Contains("msnfp_telephone1") && queriedEntityRecord["msnfp_telephone1"] != null)
                {
                    mSNFP_Registration.msnfp_Telephone1 = (string)queriedEntityRecord["msnfp_telephone1"];
                    localContext.TracingService.Trace("Got msnfp_telephone1.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Telephone1 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_telephone1.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_city") && queriedEntityRecord["msnfp_billing_city"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_City = (string)queriedEntityRecord["msnfp_billing_city"];
                    localContext.TracingService.Trace("Got msnfp_billing_city.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_City = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_city.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_country") && queriedEntityRecord["msnfp_billing_country"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_Country = (string)queriedEntityRecord["msnfp_billing_country"];
                    localContext.TracingService.Trace("Got msnfp_billing_country.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_Country = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_country.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line1") && queriedEntityRecord["msnfp_billing_line1"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_Line1 = (string)queriedEntityRecord["msnfp_billing_line1"];
                    localContext.TracingService.Trace("Got msnfp_billing_line1.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_Line1 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line1.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line2") && queriedEntityRecord["msnfp_billing_line2"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_Line2 = (string)queriedEntityRecord["msnfp_billing_line2"];
                    localContext.TracingService.Trace("Got msnfp_billing_line2.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_Line2 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line2.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_line3") && queriedEntityRecord["msnfp_billing_line3"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_Line3 = (string)queriedEntityRecord["msnfp_billing_line3"];
                    localContext.TracingService.Trace("Got msnfp_billing_line3.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_Line3 = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_line3.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_postalcode") && queriedEntityRecord["msnfp_billing_postalcode"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_Postalcode = (string)queriedEntityRecord["msnfp_billing_postalcode"];
                    localContext.TracingService.Trace("Got msnfp_billing_postalcode.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_Postalcode = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_postalcode.");
                }
                if (queriedEntityRecord.Contains("msnfp_billing_stateorprovince") && queriedEntityRecord["msnfp_billing_stateorprovince"] != null)
                {
                    mSNFP_Registration.msnfp_Billing_StateorProvince = (string)queriedEntityRecord["msnfp_billing_stateorprovince"];
                    localContext.TracingService.Trace("Got msnfp_billing_stateorprovince.");
                }
                else
                {
                    mSNFP_Registration.msnfp_Billing_StateorProvince = string.Empty;
                    localContext.TracingService.Trace("Did NOT find msnfp_billing_stateorprovince.");
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_Registration.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    localContext.TracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_Registration.StateCode = null;
                    localContext.TracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_Registration.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    localContext.TracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_Registration.StatusCode = null;
                    localContext.TracingService.Trace("Did NOT find statuscode.");
                }
                if (messageName == "Create")
                {
                    mSNFP_Registration.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_Registration.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                else
                {
                    mSNFP_Registration.CreatedOn = null;
                }
                mSNFP_Registration.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_Registration.Deleted     = true;
                    mSNFP_Registration.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_Registration.Deleted     = false;
                    mSNFP_Registration.DeletedDate = null;
                }
                localContext.TracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_Registration));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_Registration);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                localContext.TracingService.Trace("---------Preparing JSON---------");
                localContext.TracingService.Trace("Converted to json API URL : " + text2);
                localContext.TracingService.Trace("JSON: " + @string);
                localContext.TracingService.Trace("---------End of Preparing JSON---------");
                localContext.TracingService.Trace("Sending data to Azure.");
                string str = webAPIClient.UploadString(text2, @string);
                localContext.TracingService.Trace("Got response.");
                localContext.TracingService.Trace("Response: " + str);
            }
            else
            {
                localContext.TracingService.Trace("No API URL or Enable Portal Pages. Exiting plugin.");
            }
        }
Пример #11
0
        private void AddOrUpdateThisRecordWithAzure(Entity queriedEntityRecord, Entity configurationRecord, string messageName)
        {
            tracingService.Trace("---------Send the Record to Azure---------");
            string text  = "DonorCommitment";
            string text2 = configurationRecord.GetAttributeValue <string>("msnfp_azure_webapiurl");

            tracingService.Trace("Got API URL: " + text2);
            if (!string.IsNullOrEmpty(text2))
            {
                tracingService.Trace("Getting Latest Info for Record: " + queriedEntityRecord.Id.ToString());
                MSNFP_DonorCommitment mSNFP_DonorCommitment = new MSNFP_DonorCommitment();
                mSNFP_DonorCommitment.DonorCommitmentId = queriedEntityRecord.Id;
                if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_appealid") != null)
                {
                    mSNFP_DonorCommitment.AppealId = queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_appealid").Id;
                    tracingService.Trace("Got msnfp_appealid.");
                }
                else
                {
                    mSNFP_DonorCommitment.AppealId = null;
                    tracingService.Trace("Did NOT find msnfp_appealid.");
                }
                if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_packageid") != null)
                {
                    mSNFP_DonorCommitment.PackageId = queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_packageid").Id;
                    tracingService.Trace("Got msnfp_packageid.");
                }
                else
                {
                    mSNFP_DonorCommitment.PackageId = null;
                    tracingService.Trace("Did NOT find msnfp_packageid.");
                }
                if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_commitment_campaignid") != null)
                {
                    mSNFP_DonorCommitment.CampaignId = queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_commitment_campaignid").Id;
                    tracingService.Trace("Got msnfp_commitment_campaignid.");
                }
                else
                {
                    mSNFP_DonorCommitment.CampaignId = null;
                    tracingService.Trace("Did NOT find msnfp_commitment_campaignid.");
                }
                if (queriedEntityRecord.GetAttributeValue <Money>("msnfp_totalamount") != null)
                {
                    mSNFP_DonorCommitment.TotalAmount = queriedEntityRecord.GetAttributeValue <Money>("msnfp_totalamount").Value;
                    tracingService.Trace("Got msnfp_totalamount.");
                }
                else
                {
                    mSNFP_DonorCommitment.TotalAmount = null;
                    tracingService.Trace("Did NOT find msnfp_totalamount.");
                }
                if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_customerid") != null)
                {
                    mSNFP_DonorCommitment.CustomerId = queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_customerid").Id;
                    if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_customerid").LogicalName == "contact")
                    {
                        mSNFP_DonorCommitment.CustomerIdType = 2;
                    }
                    else if (queriedEntityRecord.GetAttributeValue <EntityReference>("msnfp_customerid").LogicalName == "account")
                    {
                        mSNFP_DonorCommitment.CustomerIdType = 1;
                    }
                    tracingService.Trace("Got msnfp_customerid.");
                }
                else
                {
                    mSNFP_DonorCommitment.CustomerId     = null;
                    mSNFP_DonorCommitment.CustomerIdType = null;
                    tracingService.Trace("Did NOT find msnfp_customerid.");
                }
                if (queriedEntityRecord.GetAttributeValue <DateTime?>("msnfp_bookdate").HasValue)
                {
                    mSNFP_DonorCommitment.BookDate = queriedEntityRecord.GetAttributeValue <DateTime>("msnfp_bookdate");
                    tracingService.Trace("Got msnfp_bookdate.");
                }
                else
                {
                    mSNFP_DonorCommitment.BookDate = null;
                    tracingService.Trace("Did NOT find msnfp_bookdate.");
                }
                if (queriedEntityRecord.GetAttributeValue <Money>("msnfp_totalamount_balance") != null)
                {
                    mSNFP_DonorCommitment.TotalAmountBalance = queriedEntityRecord.GetAttributeValue <Money>("msnfp_totalamount_balance").Value;
                    tracingService.Trace("Got msnfp_totalamount_balance.");
                }
                else
                {
                    mSNFP_DonorCommitment.TotalAmountBalance = null;
                    tracingService.Trace("Did NOT find msnfp_totalamount_balance.");
                }
                if (messageName == "Create")
                {
                    mSNFP_DonorCommitment.CreatedOn = DateTime.UtcNow;
                }
                else if (queriedEntityRecord.Contains("createdon") && queriedEntityRecord["createdon"] != null)
                {
                    mSNFP_DonorCommitment.CreatedOn = (DateTime)queriedEntityRecord["createdon"];
                }
                mSNFP_DonorCommitment.SyncDate = DateTime.UtcNow;
                if (messageName == "Delete")
                {
                    mSNFP_DonorCommitment.Deleted     = true;
                    mSNFP_DonorCommitment.DeletedDate = DateTime.UtcNow;
                }
                else
                {
                    mSNFP_DonorCommitment.Deleted     = false;
                    mSNFP_DonorCommitment.DeletedDate = null;
                }
                if (queriedEntityRecord.Contains("statecode") && queriedEntityRecord["statecode"] != null)
                {
                    mSNFP_DonorCommitment.StateCode = ((OptionSetValue)queriedEntityRecord["statecode"]).Value;
                    tracingService.Trace("Got statecode.");
                }
                else
                {
                    mSNFP_DonorCommitment.StateCode = null;
                    tracingService.Trace("Did NOT find statecode.");
                }
                if (queriedEntityRecord.Contains("statuscode") && queriedEntityRecord["statuscode"] != null)
                {
                    mSNFP_DonorCommitment.StatusCode = ((OptionSetValue)queriedEntityRecord["statuscode"]).Value;
                    tracingService.Trace("Got statuscode.");
                }
                else
                {
                    mSNFP_DonorCommitment.StatusCode = null;
                    tracingService.Trace("Did NOT find statuscode.");
                }
                tracingService.Trace("JSON object created");
                if (messageName == "Create")
                {
                    text2 = text2 + text + "/Create" + text;
                }
                else if (messageName == "Update" || messageName == "Delete")
                {
                    text2 = text2 + text + "/Update" + text;
                }
                MemoryStream memoryStream = new MemoryStream();
                DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MSNFP_DonorCommitment));
                dataContractJsonSerializer.WriteObject(memoryStream, mSNFP_DonorCommitment);
                byte[] array = memoryStream.ToArray();
                memoryStream.Close();
                string       @string      = Encoding.UTF8.GetString(array, 0, array.Length);
                WebAPIClient webAPIClient = new WebAPIClient();
                webAPIClient.Headers[HttpRequestHeader.ContentType] = "application/json";
                webAPIClient.Headers["Padlock"] = (string)configurationRecord["msnfp_apipadlocktoken"];
                webAPIClient.Encoding           = Encoding.UTF8;
                tracingService.Trace("---------Preparing JSON---------");
                tracingService.Trace("Converted to json API URL : " + text2);
                tracingService.Trace("JSON: " + @string);
                tracingService.Trace("---------End of Preparing JSON---------");
                tracingService.Trace("Sending data to Azure.");
                string text3 = webAPIClient.UploadString(text2, @string);
                tracingService.Trace("Got response.");
                tracingService.Trace("Response: " + text3);
                Plugins.PaymentProcesses.Utilities utilities = new Plugins.PaymentProcesses.Utilities();
                utilities.CheckAPIReturnJSONForErrors(text3, configurationRecord.GetAttributeValue <OptionSetValue>("msnfp_showapierrorresponses"), tracingService);
            }
            else
            {
                tracingService.Trace("No API URL or Enable Portal Pages. Exiting workflow.");
            }
        }