亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? timetracking.ascx.cs

?? BugNET is an issue tracking and project issue management solution built using the ASP.NET web applic
?? CS
字號:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BugNET.BusinessLogicLayer;
using BugNET.UserInterfaceLayer;
using System.IO;
using log4net;

namespace BugNET.Issues.UserControls
{
    public partial class TimeTracking : System.Web.UI.UserControl, IIssueTab
    {
        private double Total;
        private int _IssueId = 0;
        private int _ProjectId = 0;

        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        #region IIssueTab Members

        /// <summary>
        /// Gets or sets the bug id.
        /// </summary>
        /// <value>The bug id.</value>
        public int IssueId
        {
            get { return _IssueId; }
            set { _IssueId = value; }
        }

        /// <summary>
        /// Gets or sets the project id.
        /// </summary>
        /// <value>The project id.</value>
        public int ProjectId
        {
            get { return _ProjectId; }
            set { _ProjectId = value; }
        }


        /// <summary>
        /// Initializes this instance.
        /// </summary>
        public void Initialize()
        {
            TimeEntriesDataGrid.Columns[0].HeaderText = GetLocalResourceObject("TimeEntriesDataGrid.WorkDateHeader.Text").ToString();
            TimeEntriesDataGrid.Columns[1].HeaderText = GetLocalResourceObject("TimeEntriesDataGrid.DurationHeader.Text").ToString();
            TimeEntriesDataGrid.Columns[2].HeaderText = GetLocalResourceObject("TimeEntriesDataGrid.CreatorHeader.Text").ToString();
            TimeEntriesDataGrid.Columns[3].HeaderText = GetLocalResourceObject("TimeEntriesDataGrid.CommentHeader.Text").ToString();

            BindTimeEntries();

            if (!Page.User.Identity.IsAuthenticated || !ITUser.HasPermission(ProjectId, Globals.Permission.ADD_TIME_ENTRY.ToString()))
                AddTimeEntryPanel.Visible = false;

            if (!Page.User.Identity.IsAuthenticated || !ITUser.HasPermission(ProjectId, Globals.Permission.DELETE_TIME_ENTRY.ToString()))
                TimeEntriesDataGrid.Columns[4].Visible = false;
        }

        #endregion

        /// <summary>
        /// Binds the work reports.
        /// </summary>
        private void BindTimeEntries()
        {
            System.Globalization.NumberFormatInfo nfi = System.Globalization.CultureInfo.CurrentCulture.NumberFormat;
            int minimum = 1 / 100;
            RangeValidator1.MinimumValue = minimum.ToString("N", nfi);

            TimeEntryDate.Text = DateTime.Today.ToShortDateString();
            cpTimeEntry.ValueToCompare = DateTime.Today.ToShortDateString();

            List<IssueWorkReport> WorkReports = IssueWorkReport.GetWorkReportsByIssueId(IssueId);
            if (WorkReports == null || WorkReports.Count == 0)
            {
                TimeEntryLabel.Text = GetLocalResourceObject("NoTimeEntries").ToString();
                TimeEntryLabel.Visible = true;
                TimeEntriesDataGrid.Visible = false;
            }
            else
            {
                TimeEntriesDataGrid.Visible = true;
                TimeEntryLabel.Visible = false;
                TimeEntriesDataGrid.DataSource = WorkReports;
                TimeEntriesDataGrid.DataBind();
            }
        }

        /// <summary>
        /// Handles the Click event of the cmdAddBugTimeEntry control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void AddTimeEntry_Click(object sender, EventArgs e)
        {
            if (this.DurationTextBox.Text.Trim().Length != 0)
            {
                IssueWorkReport newWorkReport = new IssueWorkReport(IssueId, Convert.ToDateTime(TimeEntryDate.Text), Convert.ToDecimal(this.DurationTextBox.Text), CommentHtmlEditor.Text.Trim(), Context.User.Identity.Name);
                newWorkReport.Save();
                CommentHtmlEditor.Text = string.Empty;
                DurationTextBox.Text = string.Empty;
                BindTimeEntries();
            }
        }

        /// <summary>
        /// Handles the ItemCommand event of the TimeEntriesDataGrid control.
        /// </summary>
        /// <param name="source">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataGridCommandEventArgs"/> instance containing the event data.</param>
        protected void TimeEntriesDataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            int id = Convert.ToInt32(e.CommandArgument);
            if (IssueWorkReport.DeleteIssueWorkReport(id))
                BindTimeEntries();
        }

        /// <summary>
        /// Handles the ItemDataBound event of the TimeEntriesDataGrid control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="T:System.Web.UI.WebControls.DataGridItemEventArgs"/> instance containing the event data.</param>
        protected void TimeEntriesDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            string delete = string.Format("return confirm('{0}');", GetLocalResourceObject("DeleteTimeEntry").ToString());
            switch (e.Item.ItemType)
            {

                case ListItemType.Item:
                case ListItemType.AlternatingItem:
                    Total += Convert.ToDouble(e.Item.Cells[1].Text);
                    ((ImageButton)e.Item.FindControl("RemoveEntry")).OnClientClick = delete;
                    ((LinkButton)e.Item.FindControl("lnkDeleteTimeEntry")).OnClientClick = delete;
                    break;
                case ListItemType.Footer:
                    //Use the footer to display the summary row.
                    e.Item.Cells[0].Text = "Total Hours:";
                    e.Item.Cells[0].Attributes.Add("align", "left");
                    e.Item.Cells[0].Style.Add("font-weight", "bold");
                    e.Item.Cells[0].Style.Add("padding-top", "10px");
                    e.Item.Cells[0].Style.Add("border-top", "1px solid #999");
                    e.Item.Cells[1].Attributes.Add("align", "right");
                    e.Item.Cells[1].Style.Add("border-top", "1px solid #999");
                    e.Item.Cells[1].Style.Add("padding-top", "10px");
                    e.Item.Cells[1].Text = Total.ToString();
                    e.Item.Cells[2].Style.Add("border-top", "1px solid #999");
                    e.Item.Cells[3].Style.Add("border-top", "1px solid #999");
                    e.Item.Cells[4].Style.Add("border-top", "1px solid #999");
                    break;
            }

        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片久久久久久| 日韩一二三区不卡| 国产一区二区三区综合| 蜜桃视频在线一区| 久国产精品韩国三级视频| 久久99久久久欧美国产| 精品一区二区在线观看| 国产乱色国产精品免费视频| 国产一区在线视频| 成人激情av网| 欧美亚洲动漫精品| 91精品中文字幕一区二区三区| 91精品国产乱| 久久精子c满五个校花| 中文字幕乱码亚洲精品一区| 亚洲美女偷拍久久| 日韩电影一区二区三区| 激情都市一区二区| 风间由美中文字幕在线看视频国产欧美 | 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品久久夜| 洋洋成人永久网站入口| 国产剧情av麻豆香蕉精品| a在线播放不卡| 欧美日韩久久久久久| 精品毛片乱码1区2区3区| 国产精品丝袜久久久久久app| 亚洲午夜激情网页| 国产一区二区三区久久悠悠色av| 91麻豆视频网站| 欧美一区二区三区免费大片| 国产精品网站一区| 免费av网站大全久久| 成人av网站免费观看| 欧美日韩另类国产亚洲欧美一级| 国产欧美视频一区二区三区| 一区二区三区波多野结衣在线观看| 久88久久88久久久| 在线看日本不卡| 国产午夜久久久久| 人禽交欧美网站| 色综合天天综合色综合av| 欧美xxxxx裸体时装秀| 亚洲精品国产品国语在线app| 青青草成人在线观看| 色婷婷国产精品| 欧美激情在线观看视频免费| 日本麻豆一区二区三区视频| 99久久精品免费看| 久久蜜臀精品av| 日韩精品1区2区3区| 色综合久久久久久久| 国产女主播在线一区二区| 久久精品国产一区二区| 欧美这里有精品| 自拍偷拍国产精品| 国产成人av电影免费在线观看| 欧美三片在线视频观看| 一二三区精品视频| 色欧美日韩亚洲| 亚洲精品菠萝久久久久久久| 成人午夜电影网站| 欧美国产激情一区二区三区蜜月| 日本不卡的三区四区五区| 欧美日韩午夜在线| 一区二区三区免费| 一本色道久久综合亚洲aⅴ蜜桃| 久久久精品免费网站| 精品一区二区久久久| 日韩精品自拍偷拍| 九九热在线视频观看这里只有精品| 337p亚洲精品色噜噜噜| 调教+趴+乳夹+国产+精品| 欧美四级电影网| 亚洲福利视频三区| 欧美日韩国产成人在线91| 日韩中文字幕区一区有砖一区 | 亚洲国产精品黑人久久久| 国产激情视频一区二区在线观看| 亚洲精品一区二区精华| 国产精品中文字幕日韩精品| 久久久不卡网国产精品一区| 极品少妇xxxx精品少妇偷拍 | 色偷偷一区二区三区| 亚洲三级电影全部在线观看高清| 99久久久免费精品国产一区二区| 国产精品乱人伦一区二区| 91日韩在线专区| 一区二区三区欧美在线观看| 欧美日韩精品一区二区| 日韩电影一区二区三区四区| 26uuu色噜噜精品一区| 成人午夜又粗又硬又大| 日韩中文字幕一区二区三区| 久久久久久夜精品精品免费| va亚洲va日韩不卡在线观看| 夜夜嗨av一区二区三区中文字幕| 777亚洲妇女| 不卡电影一区二区三区| 亚洲影院免费观看| 久久蜜臀精品av| 日本高清免费不卡视频| 毛片不卡一区二区| 综合久久久久综合| 欧美日韩aaaaa| 国产成人自拍网| 一区二区三区四区亚洲| 久久综合九色欧美综合狠狠| 不卡的av电影在线观看| 亚洲sss视频在线视频| 久久亚区不卡日本| 欧美老年两性高潮| av在线不卡电影| 国精品**一区二区三区在线蜜桃| 六月婷婷色综合| 久久综合色8888| 色av一区二区| 国产精品性做久久久久久| 亚洲日穴在线视频| 国产亚洲污的网站| 欧美乱妇20p| 91高清在线观看| 国产传媒一区在线| 日韩国产欧美在线视频| 亚洲视频每日更新| 国产亚洲精品免费| 欧美v日韩v国产v| 在线成人免费观看| av在线不卡电影| 风间由美一区二区三区在线观看 | 爽爽淫人综合网网站| 国产三级三级三级精品8ⅰ区| 欧美精品视频www在线观看| www..com久久爱| av一区二区久久| 国产98色在线|日韩| 精品一区二区三区免费观看| 偷拍日韩校园综合在线| 亚洲狠狠爱一区二区三区| 日韩一区在线免费观看| 中文字幕国产精品一区二区| 久久久久久免费| 精品少妇一区二区三区在线播放 | 国产香蕉久久精品综合网| 日韩欧美国产电影| 日韩一区二区三区三四区视频在线观看| av不卡一区二区三区| 成人a级免费电影| 国产ts人妖一区二区| 国产精品资源在线观看| 国产白丝精品91爽爽久久| 国产河南妇女毛片精品久久久| 久久精品国产一区二区三| 精品一区二区三区在线播放 | 日韩天堂在线观看| 91精品国产综合久久蜜臀| 91精品国产aⅴ一区二区| 欧美精品在欧美一区二区少妇| 在线综合亚洲欧美在线视频| 日韩视频免费观看高清在线视频| 欧美xxx久久| 国产日韩三级在线| 综合在线观看色| 亚洲尤物视频在线| 日本不卡视频在线观看| 久草精品在线观看| 成人激情午夜影院| 色综合久久66| 日韩欧美在线一区二区三区| 亚洲精品一区二区三区精华液| 中文字幕不卡一区| 亚洲国产精品久久久久婷婷884 | 一区二区三区在线视频免费观看 | 欧美mv日韩mv亚洲| 国产日韩精品一区二区浪潮av| 亚洲欧洲一区二区在线播放| 亚洲综合男人的天堂| 九九精品一区二区| 成人av在线资源网| 欧美精品第1页| 国产精品美女一区二区三区| 亚洲黄色免费电影| 韩国女主播一区| 在线观看成人免费视频| 精品久久久久久亚洲综合网| 亚洲青青青在线视频| 久久精品国产亚洲aⅴ| 91亚洲国产成人精品一区二三| 欧美精选午夜久久久乱码6080| 久久精品视频网| 日韩高清中文字幕一区| 成人午夜电影久久影院| 91麻豆精品国产91久久久久久| 国产精品无码永久免费888| 午夜精品福利视频网站| 成人午夜激情影院| 精品久久久久久亚洲综合网| 亚洲综合成人网| 成人黄色软件下载| 日韩女同互慰一区二区|