using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using MetLife.RMDashboard.BLL;
using MetLife.RMDashboard.BLL.Entity;
using MetLife.RMDashboard.Common;
namespace MetLife.RMDashboard.Web
{
public partial class Trend : BasePageResourceManagement
{
#region page event handler
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnView.Attributes.Add("onclick", "javascript:CheckDataValue('" + txtDateFrom.ClientID + "','" + txtDateTo.ClientID + "')");
DateTime endDate = DateTime.Now;
DateTime startDate = endDate.AddMonths(-5);
txtDateFrom.Text = startDate.ToShortDateString();
txtDateTo.Text = endDate.ToShortDateString();
buildTrendModel(startDate.ToString(), endDate.ToString());
}
string reportType = ApplicationHelper.GetReportType(this.Page);
Session[Constants.QUERY_STRING_REPORT_TYPE] = reportType;
string calscript = "$(function(){$('#" + txtDateFrom.ClientID + "').datepicker({yearRange: '1900:2099',showOn: 'both', buttonImage: 'Image/calendar.gif', buttonImageOnly: true,showButtonPanel: true});});";
Page.ClientScript.RegisterStartupScript(this.GetType(), txtDateFrom.ClientID, calscript, true);
string calscript2 = "$(function(){$('#" + txtDateTo.ClientID + "').datepicker({yearRange: '1900:2099',showOn: 'both', buttonImage: 'Image/calendar.gif', buttonImageOnly: true,showButtonPanel: true});});";
Page.ClientScript.RegisterStartupScript(this.GetType(), txtDateTo.ClientID, calscript2, true);
}
protected void btnView_Click(object sender, EventArgs e)
{
string startDate = txtDateFrom.Text;
string endDate = txtDateTo.Text;
buildTrendModel(startDate,endDate);
}
#endregion
#region page private method
protected void buildTrendModel(string startDate, string endDate)
{
string trendSessionIdentify = startDate + endDate+Session[Constants.QUERY_STRING_REPORT_TYPE].ToString();
List<TrendModel> utlOfTrend = null;
try
{
if (Session[trendSessionIdentify] != null)
{
utlOfTrend = Session[trendSessionIdentify] as List<TrendModel>;
BindToChart(utlOfTrend);
BindToGridView(utlOfTrend);
}
else
{
if (Session[Constants.QUERY_STRING_REPORT_TYPE] != null)
{
if (Session[Constants.QUERY_STRING_REPORT_TYPE].ToString() == Constants.QUERY_STRING_REPORT_TYPE_VALUE_ACTUAL)
{
utlOfTrend = BizTrend.GetActualTrendList(startDate, endDate);
}
else
{
utlOfTrend = BizTrend.GetPredictionTrendList(startDate, endDate);
}
}
else
{
utlOfTrend = BizTrend.GetActualTrendList(startDate, endDate);
}
Session[trendSessionIdentify] = utlOfTrend;
int count = utlOfTrend.Count;
if (count == 0)
{
Chart1.Visible = false;
}
BindToChart(utlOfTrend);
BindToGridView(utlOfTrend);
}
}
catch (Exception ex)
{
ExceptionProcesser.HandleExceptionWithRedirection(ex, Constants.LOAD_DATA_ERROR_MESSAGE);
}
}
protected void BindToChart(List<TrendModel> utlOfTrend)
{
Chart1.Series["Series1"].Points.DataBind(utlOfTrend, "DateFormat", "Utlization", "Label=UtilizationPercent,ToolTip=UtilizationPercent");
//Chart1.Series["Series1"].IsValueShownAsLabel = true;
//DataBindXY(utlOfTrend, "DateString", utlOfTrend, "Utlization");
}
protected void BindToGridView(List<TrendModel> utlOfTrend)
{
gvTrendOfMetLife.AutoGenerateColumns = false;
gvTrendOfMetLife.DataSource = utlOfTrend;
gvTrendOfMetLife.DataBind();
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MetLife.RMDashboard.BLL.Entity
{
public class TrendModel
{
public DateTime? Date { get; set; }
public string DateString
{
get
{
return Date.Value.Year.ToString()+ "-" + Date.Value.Month.ToString();
}
}
public double? SumBilledHrs { get; set; }
public double? SumAvailableHrs { get; set; }
public string Utlization
{
get
{
return double.Parse((SumBilledHrs / SumAvailableHrs * 100).ToString()).ToString("F2");
}
}
public string UtilizationPercent
{
get
{
return double.Parse((SumBilledHrs / SumAvailableHrs * 100).ToString()).ToString("F2") + "%";
}
}
public string DateFormat
{
get
{
int month = Date.Value.Month;
int year = Date.Value.Year;
EnglishShortMonth englishMonth = (EnglishShortMonth)month;
return englishMonth.ToString() + "-" + year.ToString();
}
}
public enum EnglishShortMonth
{
Jan = 1, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
}
}
}
分享到:
相关推荐
NoteExpress是一款广受欢迎的文献管理软件,主要用于科研工作者、学者和学生进行文献检索、阅读、整理和引用。这款软件能够帮助用户高效地管理和组织大量的学术文献,提高研究工作的效率。 在"NoteExpress.rar...
### 将EndNote格式输出样式转成NoteExpress #### 一、输出样式的概念 输出样式是文献管理软件中的一项重要功能,它定义了参考文献的格式化规则,包括参考文献在文档中的显示方式以及其具体格式。例如,不同的学术...
NoteExpress参考文献管理软件简要教程 一.什么是NoteExpress 参考文献管理软件 二.NoteExpress软件安装 三.建立自己第一个NoteExpress 数据库 四.以参考文献为中心的个人知识管理 五. 研究时心得的记录---笔记...
NoteExpress2.7北京大学是一款专为学术研究设计的文献管理软件,由北京大学推荐使用,它在科研人员和学生群体中广受欢迎。这款软件的核心功能在于帮助用户高效地收集、整理、引用和管理大量的学术文献资料,极大地...
华为Note10手机原厂维修图纸 原理图 电路图 元件图 手机故障维修图 华为Note10 位置图 位号图 元件图.exe 华为Note10 原理图 电路图.exe 华为Note10 注释图 故障标注 主板元器件位置图.exe 华为Note10 原厂图 维修...
标题中的“红米Note7|lineage18.1| 安卓11.0|红米Note7.zip”表明这是一个针对红米Note7手机的系统固件更新,基于LineageOS 18.1定制,适配Android 11操作系统。LineageOS是一款开源的Android定制系统,它提供了许多...
### NoteExpress文献管理:高效检索、管理与撰写 在学术研究和论文撰写过程中,文献管理是不可或缺的一环,它不仅关系到研究的深度与广度,还直接影响着论文的质量和学术诚信。NoteExpress,作为国内领先的文献检索...
【标题】"cloudnote云笔记基础资料含sql"揭示了这个压缩包主要包含与CloudNote相关的云笔记系统的基础信息,并且涉及到SQL数据库方面的内容。CloudNote可能是一个基于Java开发的云存储和笔记管理应用程序,允许用户...
《魅蓝note6解BL卡刷补丁详解与应用指南》 魅蓝note6作为一款深受用户喜爱的智能手机,其安全性和系统稳定性是用户关注的重点。然而,对于追求个性化和高级功能的用户来说,解锁Bootloader(BL)并进行Root操作成为...
NoteExpress是一款在中国广受欢迎的文献管理软件,特别适用于科研人员和学生进行文献检索、引用管理和论文写作。这款软件提供了一种高效的方式,帮助用户整理和格式化参考文献,使其符合各种学术期刊或学校指定的...
【红米Note 4G电路图详解】 红米Note 4G是一款由小米科技推出的智能手机,以其出色的性价比和良好的用户体验赢得了消费者的喜爱。在手机维修领域,掌握红米Note 4G的电路原理图至关重要,因为它可以帮助技术人员...
《Note++软件包与JSON和XML格式化插件合集详解》 Note++是一款非常流行的文本编辑器,尤其在编程领域,它以其轻量级、高效和可自定义的特性深受程序员喜爱。然而,国内用户在使用Note++时,有时会遇到无法通过官方...
NoteExpress是一款在中国广受欢迎的文献管理软件,专为科研工作者、学者和学生设计,用于整理、管理和引用学术文献。这款工具极大地简化了论文写作过程中的参考文献管理,支持多种引用格式,如APA、MLA、Chicago等,...
红米Note11Pro是一款备受用户喜爱的智能手机,其强大的性能和相对实惠的价格使其在市场上具有很高的性价比。然而,为了进一步挖掘手机的潜力,许多技术爱好者会选择进行刷机操作,即安装第三方的恢复环境(如TWRP)...
该项目资料源码打包在名为"note_ziliao.zip"的压缩文件中,其中包含了核心的"cloudnote.sql"数据库文件。这个项目不仅涵盖了Java的基础应用,还涉及了Web服务、数据库管理和用户交互等多个关键方面。 一、源代码...
红米Note4驱动是小米官方提供的红米note4手机usb的驱动程序,很多用户的手机初次连接到电脑的时候总是会提供未知设备接入,其实这就是驱动没安装的缘故,这里给大家提供的这款驱动可以解决手机连电脑的时候出现的...
NoteStation是群晖(Synology)NAS设备上的一款笔记应用,它允许用户创建、组织和共享文本、图片、链接等多种格式的笔记。标题中的"NoteStation_v2.5.5_旧版本插件.rar"表明这是一个包含NoteStation 2.5.5版本的旧版...
标题中的“魅蓝note6 基带qcn文件”指的是魅蓝note6手机特定型号的基带配置文件,格式为qcn。这种文件通常包含设备的基带固件信息,包括网络频段、信号强度参数、加密算法等。当用户遇到无法正常通话、数据连接问题...
全新 NoteExpress 3 支持两大主流写作软件,全新的参考文献样式系统。NoteExpress 3 是北京爱琴海软件公司开发的一款专业级别的文献检索与管理系统,其核心功能涵盖”知识采集,管理,应用,挖掘”的知识管理的所有...
《Minecraft Note Block Studio:红石音乐创作的艺术与技术》 在 Minecraft 的广阔世界中,玩家不仅能够建造、探索,还能创造出令人惊叹的艺术作品。其中,利用红石电路和Note Block(音符盒)制作音乐成为了众多...