protected void iBtnDownload_Click(object sender, ImageClickEventArgs e) { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, false, hidOrderBy.Value, hidOrderDirection.Value); request.Keywords = txtKeyword.Text; request.CurrentPage = anpTimesheet.CurrentPageIndex; request.PageCount = anpTimesheet.PageSize; request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = int.Parse(ddlUsers.SelectedValue); request.StartDate = StartDate; request.EndDate = EndDate; if (ddlProject.SelectedIndex != 0) { request.OrderExpression = "ticketcode, sheetdate"; request.OrderDirection = "asc"; } SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); UserApplication userApp = new UserApplication(); UsersEntity model = userApp.GetUser(int.Parse(ddlUsers.SelectedValue)); ExcelReport report = new ExcelReport(); report.Generate(response.TimeSheetsList, model, ddlProject.SelectedItem.Text, DateTime.Now); }
public bool SendDailyMail(DateTime date, string office) { UserApplication userApp = new UserApplication(); // sunneters List <UsersEntity> allUsers = userApp.GetActiveUserList().FindAll(u => u.Role != RolesEnum.CLIENT && u.IsNotice); List <UsersEntity> currentUsers = allUsers.FindAll(u => u.Office.ToUpper() == office.ToUpper()); List <UsersEntity> noSubmittedUsers = new List <UsersEntity>(); TimeSheetApplication tsApp = new TimeSheetApplication(); SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.EmailNotice, false, "ModifiedOn", "ASC"); request.Office = office; request.SearchDate = date; SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); if (response.IsError) { WebLogAgent.Write("SunNet.PMNew.Web.Codes.EmailExecuter.SendDailyMail:136,GetDataError"); return(false); } StringBuilder ticketHtml = new StringBuilder(); StringBuilder usersTickets = new StringBuilder(); if (response.TimeSheetsList.Count == 0) { // no timesheet,clear htmlTemplate nodes string emptyTmeplate = UserFirstRowSection; emptyTmeplate = UserContentSection; } foreach (UsersEntity user in currentUsers) { List <TimeSheetTicket> userTickets = response.TimeSheetsList.FindAll(tts => tts.UserID == user.ID); if (userTickets == null || userTickets.Count == 0) { noSubmittedUsers.Add(user); continue; } else { usersTickets.Append(GetUserTicketsHtml(user, userTickets)); } } ticketHtml.Append(GetDateSectionHtml(date, response.TimeSheetsList.Count + noSubmittedUsers.Count + 1)); ticketHtml.Append(usersTickets); ticketHtml.Append(GetUserNoTicketsHtml(noSubmittedUsers)); // 不需要没有写的汇总了,因为另一封已经包含了。 //SendNoSubmitEmail(noSubmittedUsers, date); foreach (UsersEntity user in noSubmittedUsers) { SendNoticeToUser(user, date); } SendSubmittedEmail(ticketHtml.ToString(), date); return(true); }
protected void iBtnDownload_Click(object sender, EventArgs e) { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, false, OrderBy, OrderDirection); request.Keywords = txtKeyword.Text; request.CurrentPage = CurrentPageIndex; request.PageCount = ReportPage.PageSize; request.CompanyID = int.Parse(ddlCompanies.SelectedValue); request.Accounting = int.Parse(dpAccounting.SelectedValue); request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = int.Parse(ddlUsers.SelectedValue); request.StartDate = StartDate; request.EndDate = EndDate; if (ddlProject.SelectedValue.ToString() != "0") { request.OrderExpression = "ticketcode, sheetdate"; request.OrderDirection = "asc"; } SearchTimeSheetsResponse response = tsApp.QueryTimesheetsWithTickets(request); UserApplication userApp = new UserApplication(); UsersEntity model = userApp.GetUser(int.Parse(ddlUsers.SelectedValue)); ExcelReport report = new ExcelReport(); report.Generate(response.TimeSheetsList, response.TicketProjectsList, model, ddlProject.SelectedItem.Text, DateTime.Now); }
private void InitControl() { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, true, OrderBy, OrderDirection); request.Keywords = txtKeyword.Text; request.CurrentPage = CurrentPageIndex; request.PageCount = ReportPage.PageSize; request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = int.Parse(ddlUsers.SelectedValue); request.StartDate = StartDate; request.Accounting = int.Parse(dpAccounting.SelectedItem.Value); request.CompanyID = int.Parse(ddlCompanies.SelectedValue); request.EndDate = EndDate; int proposalTrackerId = QS("WID", 0); if (proposalTrackerId > 0) { request.WID = proposalTrackerId; } SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); rptReportList.DataSource = response.TimeSheetsList; rptReportList.DataBind(); ReportPage.RecordCount = response.ResultCount; }
public SearchTimeSheetsResponse QueryTimesheetsWithTickets(SearchTimeSheetsRequest request) { this.ClearBrokenRuleMessages(); SearchTimeSheetsResponse response = mgr.QueryTimesheetsWithTickets(request); this.AddBrokenRuleMessages(mgr.BrokenRuleMessages); return(response); }
public SearchTimeSheetsResponse QueryTimesheetsWithTickets(SearchTimeSheetsRequest request) { this.ClearBrokenRuleMessages(); SearchTimeSheetsResponse response = tsRepo.QueryTimesheetsWithTickets(request); if (response.IsError == true) { this.AddBrokenRuleMessage(); } return(response); }
private void InitControl() { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, true, OrderBy, OrderDirection); request.CurrentPage = CurrentPageIndex; request.PageCount = ReportPage.PageSize; request.ProjectID = QS("project", 0); request.TicketID = QS("ticket", 0);; request.StartDate = QS("startdate", DateTime.MinValue); request.EndDate = QS("enddate", DateTime.MinValue); request.UserID = QS("user", 0); SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); rptReportList.DataSource = response.TimeSheetsList; rptReportList.DataBind(); ReportPage.RecordCount = response.ResultCount; }
protected void iBtnDownload_Click(object sender, EventArgs e) { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, false, OrderBy, OrderDirection); request.Keywords = txtKeyword.Text; request.CurrentPage = CurrentPageIndex; request.PageCount = ReportPage.PageSize; request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = UserInfo.ID; request.StartDate = StartDate; request.EndDate = EndDate; SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); ExcelReport report = new ExcelReport(); report.Generate(response.TimeSheetsList, null, UserInfo, ddlProject.SelectedItem.Text, DateTime.Now); }
private void InitControl() { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, true, OrderBy, OrderDirection); request.Keywords = txtKeyword.Text; request.CurrentPage = CurrentPageIndex; request.PageCount = ReportPage.PageSize; request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = UserInfo.ID; request.StartDate = StartDate; request.EndDate = EndDate; SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); rptReportList.DataSource = response.TimeSheetsList; rptReportList.DataBind(); ReportPage.RecordCount = response.ResultCount; }
private void InitControl() { SearchTimeSheetsRequest request = new SearchTimeSheetsRequest(SearchType.QueryReport, true, hidOrderBy.Value, hidOrderDirection.Value); request.Keywords = txtKeyword.Text; request.CurrentPage = anpTimesheet.CurrentPageIndex; request.PageCount = anpTimesheet.PageSize; request.ProjectID = int.Parse(ddlProject.SelectedValue); request.TicketID = int.Parse(ddlTickets.SelectedValue); request.UserID = int.Parse(ddlUsers.SelectedValue); request.StartDate = StartDate; request.EndDate = EndDate; int workRequestId = QS("WID", 0); if (workRequestId > 0) { request.WID = workRequestId; } SearchTimeSheetsResponse response = tsApp.QueryTimesheet(request); //int workRequestId = QS("WID", 0); //if (workRequestId > 0) //{ // List<int> lstTicketIDs = new List<int>(); // List<string> lstStr = wrApp.GetAllRelationStringByWorkRequest(workRequestId); // foreach (string str in lstStr) // { // lstTicketIDs.Add(Convert.ToInt32(str)); // } // response.TimeSheetsList = response.TimeSheetsList.FindAll(x =>lstTicketIDs.Contains(x.TicketID)); //} rptTimesheet.DataSource = response.TimeSheetsList; rptTimesheet.DataBind(); anpTimesheet.RecordCount = response.ResultCount; }