Exemple #1
0
        public static void SendReminders(this IReadService <vwSLA> service, IService <EmailTemplate> templateService, IEmailService emailService)
        {
            var query = new ListQuery <vwSLA>();
            var list  = service.GetByQuery(query);

            System.Web.UI.WebControls.GridView gd  = new System.Web.UI.WebControls.GridView();
            System.Web.UI.WebControls.GridView gd1 = new System.Web.UI.WebControls.GridView();
            var distinctMails1 = list.Items.Select(x => x.Email).Distinct();

            var distinctMails = list.Items.Where(p => p.id > 0).Select(g => g.Email).Distinct();

            foreach (var email in distinctMails)
            {
                if (email != null)
                {
                    var testlist = list.Items.Where(it => it.Email == email && it.PendingDays > 2).Select(p => new { p.MilestoneTitle, p.InitiativeTitle, p.EndDate, p.PendingDays });
                    gd.DataSource = testlist;
                    gd.DataBind();

                    var testlist1 = list.Items.Where(it => it.Email == email && it.PendingDays == -2).Select(p => new { p.MilestoneTitle, p.InitiativeTitle, p.EndDate });
                    gd1.DataSource = testlist1;
                    gd1.DataBind();

                    var RA1E = list.Items.Where(it => it.Email == email).Select(p => p.RA1Email).ToList();
                    var RA2E = list.Items.Where(it => it.Email == email).Select(p => p.RA2Email).ToList();

                    var sb  = new System.Text.StringBuilder();
                    var tw  = new System.IO.StringWriter(sb);
                    var htw = new System.Web.UI.HtmlTextWriter(tw);
                    gd.RenderControl(htw);

                    var sb1  = new System.Text.StringBuilder();
                    var tw1  = new System.IO.StringWriter(sb1);
                    var htw1 = new System.Web.UI.HtmlTextWriter(tw1);
                    gd1.RenderControl(htw1);

                    var tmplt1 = templateService.GetReminderTemplateforSLA(sb.ToString(), sb1.ToString());
                    emailService.SendEmail(tmplt1, "*****@*****.**", email, (RA1E[0].ToString() + ";" + RA2E[0].ToString()), tmplt1.TemplateBody.ToString());
                    //emailService.SendEmail(tmplt1, "*****@*****.**", "*****@*****.**","", tmplt1.TemplateBody.ToString());
                }
            }

            //var query = new ListQuery<MilestoneReport>();
            //var list = service.GetByQuery(query);
            //var result = new ListQueryResult<MilestoneReport>();
            //var listTemp1 = new List<MilestoneReport>();
            //var listTemp2 = new List<MilestoneReport>();
            //foreach (var item in list.Items)
            //{
            //    foreach (var Res in item.ResponsiblePerson)
            //    {
            //        if (Res.Status.StatusDesc != "Completed")
            //        {
            //            DateTime dt1 = Convert.ToDateTime(Res.EndDate);
            //            DateTime dt2 = DateTime.Now;
            //            var days = dt2.Subtract(dt1).TotalDays;
            //            if (days >= 2)
            //            {
            //                Res.message = "over due";

            //                listTemp1.Add(item);
            //            }
            //            else if (days <= -2)
            //            {
            //                Res.message = "Due in Next Two Days";
            //                listTemp2.Add(item);
            //            }
            //        }

            //    }
            //}
            //System.Web.UI.WebControls.GridView gd1 = new System.Web.UI.WebControls.GridView();
            //gd1.DataSource = listTemp1;
            //gd1.DataBind();

            //System.Web.UI.WebControls.GridView gd2 = new System.Web.UI.WebControls.GridView();
            //gd2.DataSource = listTemp2;
            //gd2.DataBind();

            //var sb = new System.Text.StringBuilder();
            //var tw = new System.IO.StringWriter(sb);
            //var htw = new System.Web.UI.HtmlTextWriter(tw);
            //gd1.RenderControl(htw);

            //var sb1 = new System.Text.StringBuilder();
            //var tw1 = new System.IO.StringWriter(sb1);

            //var htw1 = new System.Web.UI.HtmlTextWriter(tw1);
            //gd2.RenderControl(htw1);

            //var tmplt1 = templateService.GetReminderTemplateforSLA(sb.ToString(),sb1.ToString());
            //emailService.SendEmail(tmplt1, "*****@*****.**", '*****@*****.**', (RA1E[0].ToString() + ";" + RA2E[0].ToString()), sb.ToString());
        }