Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }