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); } } }
/// <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) { } }