private void GetJiraData() { contentHolder.Controls.Clear(); var jiraData = new JiraDataModel(); if (drpPersons.SelectedValue != "-1") { jiraData.Assignee = drpPersons.SelectedValue; } if (drpPriority.SelectedValue != "-1") { jiraData.Priority = drpPriority.SelectedValue; } if (drpProject.SelectedValue != "-1") { jiraData.Project = drpProject.SelectedValue; } if (drpStatus.SelectedValue != "-1") { jiraData.Status = drpStatus.SelectedValue; } jiraData.FromUpdatedDate = oDateRange.FromDate; jiraData.ToUpdatedDate = oDateRange.ToDate; //var jiraList = new List<JiraDataModel>(); var jiraList = JiraDataManager.GetSelectiveJiras(jiraData); var distinctPersons = (from row in jiraList select row.Assignee) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); var distinctProjects = (from row in jiraList select row.Project.Trim()) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); gridViewJira.DataSource = jiraList; gridViewJira.DataBind(); gridViewJira.AutoGenerateColumns = true; }
private void GetJiraData() { contentHolder.Controls.Clear(); var jiraData = new JiraDataModel(); if (drpPersons.SelectedValue != "-1") { jiraData.Assignee = drpPersons.SelectedValue; } jiraData.FromUpdatedDate = oDateRange.FromDate; jiraData.ToUpdatedDate = oDateRange.ToDate; var jiraList = JiraDataManager.GetResolvedJiras(jiraData); var distinctPersons = (from row in jiraList select row.Assignee) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); var distinctProjects = (from row in jiraList select row.Project.Trim()) .Distinct(StringComparer.CurrentCultureIgnoreCase).ToList(); if (jiraList.Count > 0) { ResultTimePeriod = string.Empty; if (oDateRange.FromDate != null) { ResultTimePeriod = " From " + oDateRange.FromDate.Value.ToString(SessionVariables.UserDateFormat); } else { ResultTimePeriod = " From " + jiraList.OrderBy(x => x.UpdatedDate).First().UpdatedDate.Value.ToString(SessionVariables.UserDateFormat); } if (oDateRange.ToDate != null) { ResultTimePeriod += " Upto " + oDateRange.ToDate.Value.ToString(SessionVariables.UserDateFormat); } else { ResultTimePeriod += " Upto " + jiraList.OrderBy(x => x.UpdatedDate).Last().UpdatedDate.Value.ToString(SessionVariables.UserDateFormat); } } var tableElement = new HtmlGenericControl("table"); tableElement.Attributes["class"] = "table table-bordered"; ResolvedJiraHtmlTable = new StringBuilder(); // prepare html string ResolvedJiraHtmlTable.AppendLine("<table class='table table-bordered'>"); AddHeaderRow(distinctPersons, tableElement); foreach (var project in distinctProjects) { AddDetailRow(project, distinctPersons, jiraList, tableElement); } AddAggeregateRow(distinctPersons, jiraList, tableElement); ResolvedJiraHtmlTable.AppendLine("</table>"); contentHolder.Controls.Add(tableElement); }
public void FormatMail(DataTable dt1, string mailFormat, string toEmailAddress, string ccEmailAddress, string fromEmailAddress, bool isPreview, RequestProfile requestProfile) { var mailTemplate = mailFormat; decimal totalhrs = 0; var stringBuilder = new StringBuilder(); var strSubject = new StringBuilder(); var scheduleDetailData = (from m in dt1.AsEnumerable() select new { InTime = m["InTime"], OutTime = m["OutTime"], Message = m["Message"].ToString(), ScheduleDetailActivityCategory = m["ScheduleDetailActivityCategory"].ToString(), ScheduleDetailActivityCategoryId = m["ScheduleDetailActivityCategoryId"], WorkDate = m["WorkDate"], DateDiffHrs = m["DateDiffHrs"], Person = m["Person"], PersonId = m["PersonId"], EmailAddress = m["EmailAddress"], ScheduleId = m["ScheduleId"], WorkTicket = m["WorkTicket"] }).OrderBy(m => m.InTime).ToList(); var workDate_distinct = (from c in dt1.AsEnumerable() select new { WorkDate = c["WorkDate"].ToString(), Person = c["Person"], ScheduleId = c["ScheduleId"] }).Distinct(); if (!string.IsNullOrEmpty(mailTemplate)) { foreach (var c in workDate_distinct) { mailTemplate = mailTemplate.Replace("##PersonName##", c.Person.ToString()); mailTemplate = mailTemplate.Replace("##WorkDate##", Convert.ToDateTime(c.WorkDate).ToString("MMMM dd, yyyy")); } foreach (var item in scheduleDetailData) { if (item.DateDiffHrs != null) { totalhrs = totalhrs + Convert.ToDecimal(item.DateDiffHrs); } } mailTemplate = mailTemplate.Replace("##StartTime##", Convert.ToDateTime(scheduleDetailData.Select(grp => grp.InTime).First()).ToShortTimeString()); mailTemplate = mailTemplate.Replace("##EndTime##", Convert.ToDateTime(scheduleDetailData.Select(grp => grp.OutTime).Last()).ToShortTimeString()); mailTemplate = mailTemplate.Replace("##TotalHrs##", totalhrs.ToString("0.00")); var bColor = "#d9edf7"; var i = 0; foreach (var item in scheduleDetailData) { var jiraIssue = JiraDataManager.GetDetails(item.WorkTicket.ToString()); var jiraDescription = "N/A"; var jiraPriority = "N/A"; var jiraWorkHours = GetJiraWorkHours(item.WorkTicket.ToString(), Convert.ToDateTime(item.WorkDate), Convert.ToInt32(item.PersonId)); personId = Convert.ToInt32(item.PersonId); var minsDuration = ScheduleDataManager.GetMinutes(Convert.ToDouble(item.DateDiffHrs)); var jiraURL = "http://*****:*****@indusvalleyresearch.com"; } var nMail = new MailMessage(fromEmailAddress, strToEmail); //string strFromEmail = "*****@*****.**"; if (ccEmailAddress != string.Empty) { MailAddress copy = new MailAddress(ccEmailAddress); nMail.CC.Add(copy); } foreach (var item in scheduleDetailData) { string bccMail = item.EmailAddress.ToString(); if (bccMail != string.Empty) { nMail.Bcc.Add(new MailAddress(bccMail)); } } foreach (var c in workDate_distinct) { strSubject.Append("EOD Daily Summary Email for " + Convert.ToDateTime(c.WorkDate).ToString("MMMM dd, yyyy") + "(" + totalhrs.ToString("0.00") + " hrs" + ")"); strSubject.Append(" - Sent on behalf of " + c.Person); } nMail.Subject = strSubject.ToString(); nMail.Body = mailTemplate; nMail.IsBodyHtml = true; var a = new SmtpClient(); a.Send(nMail); } }