Ejemplo n.º 1
0
        public void SetDefaults()
        {
            // Load Pastors
            ddlPastor.Items.Add(new ListItem("[All]", "0"));
            AreaOutreachCoordinatorCollection pastors = new AreaOutreachCoordinatorCollection();

            pastors.LoadByRole(1623);
            foreach (AreaOutreachCoordinator pastor in pastors)
            {
                if (ddlPastor.Items.FindByValue(pastor.PersonId.ToString()) == null)
                {
                    Person person = new Person(pastor.PersonId);
                    ddlPastor.Items.Add(new ListItem(person.FullName, person.PersonID.ToString()));
                }
            }

            if (CurrentPerson != null)
            {
                string date = CurrentPerson.Settings["eraLoss_FromDate"] ?? string.Empty;
                tbFilterFrom.Text = date != "1/1/1900" ? date : string.Empty;

                date            = CurrentPerson.Settings["eraLoss_ToDate"] ?? string.Empty;
                tbFilterTo.Text = date != "1/1/1900" ? date : string.Empty;

                ListItem li = ddlPastor.Items.FindByValue(CurrentPerson.Settings["eraLoss_Pastor"] ?? string.Empty);
                if (li != null)
                {
                    li.Selected = true;
                }

                cbProcessed.Checked = Boolean.Parse(CurrentPerson.Settings["eraLoss_Processed"] ?? "false");
            }
        }
Ejemplo n.º 2
0
        public AreaOutreachCoordinatorCollection FilterCoordinatorsByRole(AreaOutreachCoordinatorCollection coordinators, int roleId)
        {
            AreaOutreachCoordinatorCollection filtered = new AreaOutreachCoordinatorCollection();

            for (int i = 0; i < coordinators.Count; i++)
            {
                if (coordinators[i].AreaRoleId == roleId)
                {
                    filtered.Add(coordinators[i]);
                }
            }
            return(filtered);
        }
Ejemplo n.º 3
0
        public WorkerResultStatus SendEmail(out string message, out int state)
        {
            WorkerResultStatus workerResultStatus = WorkerResultStatus.Ok;

            message = string.Empty;
            state   = STATE_OK;

            try
            {
                AreaOutreachCoordinatorCollection pastors = new AreaOutreachCoordinatorCollection();
                pastors.LoadByRole(1623);

                Arena.DataLayer.Organization.OrganizationData oData = new Arena.DataLayer.Organization.OrganizationData();

                string        query = "SELECT * FROM cust_ccv_era_losses WHERE processed = 1 AND send_email = 1 AND sent = 0";
                SqlDataReader rdr   = oData.ExecuteReader(query);
                while (rdr.Read())
                {
                    Family       family     = new Family((int)rdr["family_id"]);
                    FamilyMember familyHead = family.FamilyHead;

                    if (familyHead != null && familyHead.Emails.Count > 0)
                    {
                        Area area = familyHead.Area;
                        if (area != null)
                        {
                            Person pastor = null;
                            foreach (AreaOutreachCoordinator coord in pastors)
                            {
                                if (coord.AreaId == area.AreaID)
                                {
                                    pastor = new Person(coord.PersonId);
                                    break;
                                }
                            }

                            if (pastor != null)
                            {
                                Arena.Custom.CCV.Core.Communications.PotentialLossNotification lossNotification = new Arena.Custom.CCV.Core.Communications.PotentialLossNotification();
                                Dictionary <string, string> fields = new Dictionary <string, string>();
                                fields.Add("##RecipientFirstName##", familyHead.NickName);
                                fields.Add("##RecipientLastName##", familyHead.LastName);
                                fields.Add("##RecipientEmail##", familyHead.Emails.FirstActive);
                                fields.Add("##PastorName##", pastor.FullName);
                                fields.Add("##PastorEmail##", pastor.Emails.FirstActive);

                                PersonPhone bPhone = pastor.Phones.FindByType(SystemLookup.PhoneType_Business);
                                fields.Add("##PastorBusinessPhone##", bPhone != null ? bPhone.Number : string.Empty);
                                PersonPhone cPhone = pastor.Phones.FindByType(SystemLookup.PhoneType_Cell);
                                fields.Add("##PastorCellPhone##", cPhone != null ? cPhone.Number : string.Empty);

                                if (lossNotification.Send(familyHead.Emails.FirstActive, fields, familyHead.PersonID))
                                {
                                    string updateQuery = string.Format("UPDATE cust_ccv_era_losses SET sent = 1 WHERE family_id = {0}",
                                                                       family.FamilyID.ToString());
                                    oData.ExecuteNonQuery(updateQuery);
                                }
                            }
                        }
                    }
                }
                rdr.Close();
            }
            catch (Exception ex)
            {
                workerResultStatus = WorkerResultStatus.Exception;
                message            = "An error occured while processing ERA Loss Notifications.\n\nMessage\n------------------------\n" + ex.Message + "\n\nStack Trace\n------------------------\n" + ex.StackTrace;
            }

            return(workerResultStatus);
        }