예제 #1
0
        public void getPaymentRecords()
        {
            convictsforacauseWS.CatalystCRMWebservice CFACWS = new convictsforacauseWS.CatalystCRMWebservice();

            PaymentRecord lastRecord = paymentsHelper.getLastPayment();
            DateTime time = DateTime.Now.AddDays(-5); //Get payments for last 30 days as default.
            List<PaymentRecord> allPayments = paymentsHelper.getAllPayments();
            if (lastRecord != null)
            {
                time = lastRecord.CreateDate;
            }

            int recordstart = 0;
            bool moreRecords = false;
            convictsforacauseWS.OrderDetails[] orderDetails  = null;

            try
            {
                orderDetails = CFACWS.OrderList_Retrieve("*****@*****.**", "convicts2011", 223280, time, ref  recordstart, ref moreRecords);
            }
            catch (Exception)
            {

            }

            if (orderDetails == null)
                return;

            // Handle registrations, donations and cash donations
            foreach (var orderDetail in orderDetails)
            {
                if ((orderDetail.payments[0].transactionNumber != null
                    && orderDetail.entityId != 12394407) || orderDetail.orderName == "Cash Donation")
                {

                    var entity = CFACWS.Contact_RetrieveByEntityID("*****@*****.**", "convicts2011", 223280, orderDetail.entityId);
                    if (orderDetail.crmForms == null)
                    {
                        continue;
                    }
                    var message = orderDetail.crmForms[0].crmFormFields[0].fieldValue;
                    var donationTo = orderDetail.crmForms[0].crmFormFields[1].fieldValue;
                    var anonymous_value = orderDetail.crmForms[0].crmFormFields[2].fieldValue.ToString();
                    Boolean anonymous = anonymous_value.Equals("1");
                    var paymentType = orderDetail.crmForms[0].crmFormFields[3].fieldValue;
                    var paymentDate = orderDetail.createDate;
                    var transactionID = orderDetail.entityId;
                    var invoiceID = orderDetail.invoiceNumber;

                    if (CheckExistingPaymentRecord(allPayments, orderDetail))
                    {
                        continue;  //Do not add if record already exists
                    }

                    paymentsHelper.AddPayment(entity.phoneNos[0].phoneNo, donationTo, orderDetail.payments[0].amount, message, paymentType, anonymous, paymentDate, transactionID,invoiceID);

                }
            }

            //Handle Ticket Bookings
            foreach (var orderDetail in orderDetails)
            {
                if (orderDetail.orderName.Contains("Buy Event Tickets"))
                {

                    var entity = CFACWS.Contact_RetrieveByEntityID("*****@*****.**", "convicts2011", 223280, orderDetail.entityId);

                    var message = "";
                    var donationTo = "";
                    Boolean anonymous = true;
                    var paymentType = "event ticket";
                    var paymentDate = orderDetail.createDate;
                    var transactionID = orderDetail.entityId;
                    var invoiceID = orderDetail.invoiceNumber;

                    if (CheckExistingPaymentRecord(allPayments, orderDetail))
                    {
                        continue;  //Do not add if record already exists
                    }

                    paymentsHelper.AddPayment(entity.phoneNos[0].phoneNo, donationTo, orderDetail.payments[0].amount, message, paymentType, anonymous, paymentDate, transactionID, invoiceID);

                }
            }
        }
예제 #2
0
        /// <summary>
        /// Checks for null entries and puts 
        /// </summary>
        public void getDonorNames()
        {
            // populates donor names
            ConvictsContext db = new ConvictsContext();
            List<PaymentRecord> found = (from payments in db.Payments
                                         where payments.DonorName == null
                                   select payments).ToList();

            foreach (var payment in found)
            {
                try
                {
                    convictsforacauseWS.CatalystCRMWebservice CFACWS = new convictsforacauseWS.CatalystCRMWebservice();
                    convictsforacauseWS.ContactRecord CR = CFACWS.Contact_RetrieveByEmailAddress("*****@*****.**", "convicts2011", 223280, payment.PayerEmail);

                    payment.DonorName = CR.fullName;
                    db.Entry(payment).CurrentValues.SetValues(payment);

                }
                catch (Exception)
                {

                }

            }
            try
            {
                  db.SaveChanges();
            }
            catch (Exception)
            {
            }
        }