コード例 #1
0
        private void getGroupActivities()
        {
            var repo = new DataRepo();

            if (this.dailyGroupId > 0)
            {
                _dailyGroupActivities = repo.getAllDailyGroupData(this.dailyGroupId);
            }
            else //Manager or Admin
            {
                int centerid = int.Parse(this.ddlCenter.SelectedValue);
                int groupId  = 0;

                int.TryParse(this.ddlGroup.SelectedValue, out groupId);

                if ((centerid > 0) && (groupId > 0))
                {
                    _dailyGroupActivities = repo.getDailyGroupActivitiesByCenterIdGroupId(centerid, groupId);
                    this.dailyGroupId     = _dailyGroupActivities.DailyGroup.Id;
                }
                else
                {
                    _dailyGroupActivities = null;
                    this.dailyGroupId     = 0;
                }
            }
        }
コード例 #2
0
        protected void ddlGroup_SelectedIndexChanged(object sender, EventArgs e)
        {
            _dailyGroupActivities = null;
            this.dailyGroupId     = 0;

            this.bindData();
        }
コード例 #3
0
        protected void ddlCenter_SelectedIndexChanged(object sender, EventArgs e)
        {
            int centerId = int.Parse(this.ddlCenter.SelectedValue);

            this.ddlGroup.Enabled = (centerId > 0);

            this.populateGroupDDL(centerId);

            _dailyGroupActivities = null;
            this.dailyGroupId     = 0;

            this.bindData();
        }
コード例 #4
0
    protected override void onCorrespondenceTemplatePreMerge(ref bool bCancelMerge)
    {
        base.onCorrespondenceTemplatePreMerge(ref bCancelMerge);

        DailyGroupActivitiesDTO dailyGroupActivitiesDTO = (DailyGroupActivitiesDTO)(this.Parameters[0]);
        int childId = int.Parse(this.Parameters[1].ToString());

        var child = (from gc in dailyGroupActivitiesDTO.GroupChildren
                     where gc.Id == childId
                     select gc).FirstOrDefault();

        this.DistributionList.Add(new CorrespondenceEmailDistribution(child.Email));
    }
コード例 #5
0
    protected override void onCorrespondenceTemplateMerge(NameValueCollection colMergeFields, string szCorrespondenceTemplate, ref bool bCancelMerge)
    {
        DailyGroupActivitiesDTO dailyGroupActivitiesDTO = (DailyGroupActivitiesDTO)(this.Parameters[0]);
        int    childId        = int.Parse(this.Parameters[1].ToString());
        string centerName     = this.Parameters[2].ToString();
        string groupName      = this.Parameters[3].ToString().ToUpper();
        string websiteAddress = this.Parameters[4].ToString();

        StringBuilder sbReport = new StringBuilder();

        var child = (from gc in dailyGroupActivitiesDTO.GroupChildren
                     where gc.Id == childId
                     select gc).FirstOrDefault();

        colMergeFields.Set("[WEBSITE]", websiteAddress);
        colMergeFields.Set("[CHILD_FIRSTNAME]", child.FirstName + " " + child.LastName.Substring(0, 1) + ".");
        colMergeFields.Set("[PARENT_FIRSTNAME]", child.ParentFirstName);
        colMergeFields.Set("[CENTER]", centerName);
        colMergeFields.Set("[GROUP_NAME]", groupName);

        //Added to track and set what child email was last processed in order to check if same email as before and to AOL
        //We want to inject a wait time before sending out the email in those cases.
        colMergeFields.Set("[LAST_EMAIL]", child.Email);

        colMergeFields.Set("[TODAY]", string.Format("{0:dddd, MM/dd/yyyy}", dailyGroupActivitiesDTO.DailyGroup.ClassDate));

        sbReport.Length = 0;

        sbReport.AppendLine("<table id='tblGroupActivity' border='1' style='border-spacing: 8px 2px; padding: 6px;'>");

        sbReport.AppendLine("<tr class='HeaderGrid'>");

        StandardReport.BuildTableCell(sbReport, "Child Name", "white-space: nowrap; text-align: left; text-decoration: underline; font-weight: bold;");

        foreach (var activityName in dailyGroupActivitiesDTO.ChildActivityValues.Select(cav => cav.ActivityName).Distinct())
        {
            StandardReport.BuildTableCell(sbReport, activityName, "text-align: left; text-decoration: underline; font-weight: bold;");
        }

        sbReport.AppendLine("</tr>");

        sbReport.AppendLine("<tr class='Grid'>");

        StandardReport.BuildTableCell(sbReport, colMergeFields.Get("[CHILD_FIRSTNAME]"), "text-align: left;");

        foreach (var activityName in dailyGroupActivitiesDTO.ChildDailyGroupActivities.Select(cav => cav.ActivityName).Distinct())
        {
            var selectedItem = (from ca in dailyGroupActivitiesDTO.ChildDailyGroupActivities
                                where ca.ActivityName == activityName && ca.ChildId == childId
                                select ca.ActivityValue).FirstOrDefault();

            StandardReport.BuildTableCell(sbReport, selectedItem, "text-align: left;");
        }

        sbReport.AppendLine("</tr>");

        sbReport.AppendLine("</table>");

        colMergeFields.Set("[REPORT]", sbReport.ToString());

        base.onCorrespondenceTemplateMerge(colMergeFields, szCorrespondenceTemplate, ref bCancelMerge);
    }