2024-05-08 11:01:54 +08:00
using BLL ;
using Newtonsoft.Json.Linq ;
using System ;
using System.Collections.Generic ;
2024-10-10 15:14:29 +08:00
using System.Collections.Specialized ;
2024-05-08 11:01:54 +08:00
using System.Data ;
using System.Data.SqlClient ;
using System.Linq ;
2024-10-10 15:14:29 +08:00
using System.Web ;
using System.Web.UI ;
using System.Web.UI.WebControls ;
2024-05-08 11:01:54 +08:00
namespace FineUIPro.Web.ResourcePlan
{
public partial class ResourcePlanAdd : PageBase
{
/// <summary>
/// 角色编辑页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//string eProjectId = string.Empty;
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
//GetButtonPower();//按钮权限
btnClose . OnClientClick = ActiveWindow . GetHideReference ( ) ;
checkJobType . DataTextField = "ConstText" ;
checkJobType . DataValueField = "ConstValue" ;
checkJobType . DataSource = BLL . ConstService . GetConstListByGroupId ( BLL . Const . ProjectPlanner_JobType ) ;
checkJobType . DataBind ( ) ;
//Phase暂无
//checkPhase.DataTextField = "ConstText";
//checkPhase.DataValueField = "ConstValue";
//checkPhase.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobType);
//checkPhase.DataBind();
//checkPriority.DataTextField = "ConstText";
//checkPriority.DataValueField = "ConstValue";
//checkPriority.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.PM_Priority);
//checkPriority.DataBind();
//项目经理
BLL . Sys_UserService . InitCTEUserDropDownList ( this . ddDesigner , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . ddChecker , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . ddApprover , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . ddLeader , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList1 , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList2 , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList3 , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList4 , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList5 , false ) ;
BLL . Sys_UserService . InitCTEUserDropDownList ( this . DropDownList6 , false ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . DropDownList7 , false ) ;
string eProjectId = Request . Params [ "eProjectId" ] ;
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
var eProject = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
if ( eProject ! = null )
{
this . txtJobNo . Text = eProject . ProjectControl_JobNo ;
this . txtJobTitle . Text = eProject . ProjectControl_JobTitle ;
//this.txtWO.Text = eProject.ProjectControl_Account;
this . txtMOCNo . Text = eProject . ProjectControl_MOCFormNo ;
if ( ! string . IsNullOrEmpty ( eProject . PM_General_CDI ) )
{
BLL . ConstService . InitConstValueDropDownList ( this . drpCDI , BLL . Const . PM_CDI , false ) ;
cbCDI . Checked = true ;
drpCDI . SelectedValue = eProject . PM_General_CDI ;
}
foreach ( CheckItem lst in this . checkJobType . Items ) //项目类型
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_JobType ) )
{
if ( eProject . ProjectControl_JobType . Equals ( lst . Value ) )
lst . Selected = true ;
}
}
//foreach (CheckItem lsts in this.checkPriority.Items)//优先级
//{
// if (!string.IsNullOrEmpty(eProject.PM_General_Priority))
// {
// if (eProject.PM_General_Priority.Equals(lsts.Value))
// lsts.Selected = true;
// }
//}
var rp = BLL . ResourcePlanService . GetResourcePlanByEProjectId ( eProjectId ) ;
if ( rp . Count ( ) > 0 & & ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" ) )
{
txtWO . Label = "NetWork" ;
txtWO . Enabled = false ;
}
SqlParameter [ ] parameter = new SqlParameter [ ]
{
new SqlParameter ( "@EProjectId" , eProjectId )
} ;
DataSet ds = SQLHelper . RunProcedure ( "Proc_View_ResourcePlanDetailWBS" , parameter , "t" ) ;
DataTable table1 = ds . Tables [ 0 ] ;
DataTable table2 = ds . Tables [ 1 ] ;
if ( table1 . Rows . Count > 0 & & table1 ! = null )
{
foreach ( DataRow item in table1 . Rows )
{
if ( ! string . IsNullOrEmpty ( item [ "Sch_Start" ] . ToString ( ) ) )
{
txtSchStart2 . Text = item [ "Sch_Start" ] . ToString ( ) ;
}
if ( ! string . IsNullOrEmpty ( item [ "Sch_End" ] . ToString ( ) ) )
{
txtSchEnd2 . Text = item [ "Sch_End" ] . ToString ( ) ;
}
}
}
if ( table2 . Rows . Count > 0 & & table2 ! = null )
{
foreach ( DataRow item in table2 . Rows )
{
if ( ! string . IsNullOrEmpty ( item [ "Sch_Start" ] . ToString ( ) ) )
{
DatePicker1 . Text = item [ "Sch_Start" ] . ToString ( ) ;
}
if ( ! string . IsNullOrEmpty ( item [ "Sch_End" ] . ToString ( ) ) )
{
DatePicker2 . Text = item [ "Sch_End" ] . ToString ( ) ;
}
}
}
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_ProjectManagerId ) )
{
this . DropDownList7 . SelectedValue = eProject . ProjectControl_ProjectManagerId ;
}
//绑定
BindGrid ( ) ;
}
}
}
}
private void BindGrid ( )
{
string strSql = @"SELECT DisciplinesWBSId,DisciplinesWBSCode,DisciplinesWBSName,WBS,DepartId,DepartName,NetworkOper,WorkorderOper,Designer,Checker,Approver,Leader,Roles,Remark,Type,'' as UserName,'' as UserId"
+ @" FROM Base_DisciplinesWBS " ;
DataTable table = SQLHelper . GetDataTableRunText ( strSql , null ) ;
DataRow [ ] dr1 = table . Select ( "Type='1'" , "DisciplinesWBSCode asc" ) ;
//复制结构
DataTable newData1 = table . Clone ( ) ;
DataTable newData2 = table . Clone ( ) ;
DataTable newData3 = table . Clone ( ) ;
for ( int i = 0 ; i < dr1 . Length ; i + + )
{
//添加一行数据
DataRow row = newData1 . NewRow ( ) ;
row [ "DisciplinesWBSId" ] = dr1 [ i ] [ "DisciplinesWBSId" ] . ToString ( ) ;
row [ "DisciplinesWBSCode" ] = dr1 [ i ] [ "DisciplinesWBSCode" ] . ToString ( ) ;
row [ "DisciplinesWBSName" ] = dr1 [ i ] [ "DisciplinesWBSName" ] . ToString ( ) ;
row [ "WBS" ] = dr1 [ i ] [ "WBS" ] . ToString ( ) ;
row [ "DepartId" ] = dr1 [ i ] [ "DepartId" ] . ToString ( ) ;
row [ "DepartName" ] = dr1 [ i ] [ "DepartName" ] . ToString ( ) ;
row [ "NetworkOper" ] = dr1 [ i ] [ "NetworkOper" ] . ToString ( ) ;
row [ "WorkorderOper" ] = dr1 [ i ] [ "WorkorderOper" ] . ToString ( ) ;
row [ "Designer" ] = dr1 [ i ] [ "Designer" ] . ToString ( ) ;
row [ "Checker" ] = dr1 [ i ] [ "Checker" ] . ToString ( ) ;
row [ "Approver" ] = dr1 [ i ] [ "Approver" ] . ToString ( ) ;
row [ "Leader" ] = dr1 [ i ] [ "Leader" ] . ToString ( ) ;
row [ "Roles" ] = dr1 [ i ] [ "Roles" ] . ToString ( ) ;
row [ "Remark" ] = dr1 [ i ] [ "Remark" ] . ToString ( ) ;
row [ "Type" ] = dr1 [ i ] [ "Type" ] . ToString ( ) ;
newData1 . Rows . Add ( row ) ;
}
Grid3 . DataSource = newData1 ;
Grid3 . DataBind ( ) ;
DataRow [ ] dr2 = table . Select ( "Type='2'" , "DisciplinesWBSCode asc" ) ;
for ( int i = 0 ; i < dr2 . Length ; i + + )
{
//添加一行数据
DataRow row = newData2 . NewRow ( ) ;
row [ "DisciplinesWBSId" ] = dr2 [ i ] [ "DisciplinesWBSId" ] . ToString ( ) ;
row [ "DisciplinesWBSCode" ] = dr2 [ i ] [ "DisciplinesWBSCode" ] . ToString ( ) ;
row [ "DisciplinesWBSName" ] = dr2 [ i ] [ "DisciplinesWBSName" ] . ToString ( ) ;
row [ "WBS" ] = dr2 [ i ] [ "WBS" ] . ToString ( ) ;
row [ "NetworkOper" ] = dr2 [ i ] [ "NetworkOper" ] . ToString ( ) ;
row [ "WorkorderOper" ] = dr2 [ i ] [ "WorkorderOper" ] . ToString ( ) ;
row [ "DepartId" ] = dr2 [ i ] [ "DepartId" ] . ToString ( ) ;
row [ "DepartName" ] = dr2 [ i ] [ "DepartName" ] . ToString ( ) ;
//如果EProjectContol中的CM不为空, 新增RP时自动加载EProjectContol中的CM到Construction Mngmnt的Name中
if ( dr2 [ i ] [ "DisciplinesWBSName" ] . ToString ( ) = = "Construction Mngmnt" )
{
string eProjectId = Request . Params [ "eProjectId" ] ;
var ep = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
if ( ep ! = null )
{
if ( ! string . IsNullOrEmpty ( ep . ProjectControl_ConstManagerId ) )
{
row [ "Designer" ] = ep . ProjectControl_ConstManagerId ;
}
}
}
else
{
row [ "Designer" ] = dr2 [ i ] [ "Designer" ] . ToString ( ) ;
}
row [ "Checker" ] = dr2 [ i ] [ "Checker" ] . ToString ( ) ;
row [ "Approver" ] = dr2 [ i ] [ "Approver" ] . ToString ( ) ;
row [ "Leader" ] = dr2 [ i ] [ "Leader" ] . ToString ( ) ;
row [ "Roles" ] = dr2 [ i ] [ "Roles" ] . ToString ( ) ;
row [ "Remark" ] = dr2 [ i ] [ "Remark" ] . ToString ( ) ;
row [ "Type" ] = dr2 [ i ] [ "Type" ] . ToString ( ) ;
newData2 . Rows . Add ( row ) ;
}
Grid4 . DataSource = newData2 ;
Grid4 . DataBind ( ) ;
DataRow [ ] dr3 = table . Select ( "Type='3'" , "DisciplinesWBSCode asc" ) ;
for ( int i = 0 ; i < dr3 . Length ; i + + )
{
//添加一行数据
DataRow row = newData3 . NewRow ( ) ;
row [ "DisciplinesWBSId" ] = dr3 [ i ] [ "DisciplinesWBSId" ] . ToString ( ) ;
row [ "DisciplinesWBSCode" ] = dr3 [ i ] [ "DisciplinesWBSCode" ] . ToString ( ) ;
row [ "DisciplinesWBSName" ] = dr3 [ i ] [ "DisciplinesWBSName" ] . ToString ( ) ;
row [ "WBS" ] = dr3 [ i ] [ "WBS" ] . ToString ( ) ;
row [ "NetworkOper" ] = dr3 [ i ] [ "NetworkOper" ] . ToString ( ) ;
row [ "WorkorderOper" ] = dr3 [ i ] [ "WorkorderOper" ] . ToString ( ) ;
row [ "DepartId" ] = dr3 [ i ] [ "DepartId" ] . ToString ( ) ;
row [ "DepartName" ] = dr3 [ i ] [ "DepartName" ] . ToString ( ) ;
row [ "Designer" ] = dr3 [ i ] [ "Designer" ] . ToString ( ) ;
row [ "Checker" ] = dr3 [ i ] [ "Checker" ] . ToString ( ) ;
row [ "Approver" ] = dr3 [ i ] [ "Approver" ] . ToString ( ) ;
row [ "Leader" ] = dr3 [ i ] [ "Leader" ] . ToString ( ) ;
row [ "Roles" ] = dr3 [ i ] [ "Roles" ] . ToString ( ) ;
row [ "Remark" ] = dr3 [ i ] [ "Remark" ] . ToString ( ) ;
row [ "Type" ] = dr3 [ i ] [ "Type" ] . ToString ( ) ;
newData3 . Rows . Add ( row ) ;
}
Grid5 . DataSource = newData3 ;
Grid5 . DataBind ( ) ;
}
protected void Grid3_RowDataBound ( object sender , GridRowEventArgs e )
{
DataRowView row = e . DataItem as DataRowView ;
string DisciplinesWBSName = row [ "DisciplinesWBSName" ] . ToString ( ) ;
if ( DisciplinesWBSName = = "PID" | | DisciplinesWBSName = = "Document" | | DisciplinesWBSName = = "Cost Estimate" )
{
RenderField Sch_Start = Grid3 . FindColumn ( "Sch_Start" ) as RenderField ;
e . CellCssClasses [ Sch_Start . ColumnIndex ] = "f-grid-cell-uneditable" ;
RenderField Sch_End = Grid3 . FindColumn ( "Sch_End" ) as RenderField ;
e . CellCssClasses [ Sch_End . ColumnIndex ] = "f-grid-cell-uneditable" ;
}
}
#region CTE , CTA , CTM 选 择 复 选 框 ( 只 能 选 择 其 中 一 项 )
protected void cbDesign1_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbDesign1 . Checked )
{
cbDesign2 . Checked = false ;
cbDesign3 . Checked = false ;
}
}
protected void cbDesign2_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbDesign2 . Checked )
{
cbDesign1 . Checked = false ;
cbDesign3 . Checked = false ;
}
}
protected void cbDesign3_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbDesign3 . Checked )
{
cbDesign1 . Checked = false ;
cbDesign2 . Checked = false ;
}
}
protected void cbProcurement1_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbProcurement1 . Checked )
{
cbProcurement2 . Checked = false ;
cbProcurement3 . Checked = false ;
}
}
protected void cbProcurement2_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbProcurement2 . Checked )
{
cbProcurement1 . Checked = false ;
cbProcurement3 . Checked = false ;
}
}
protected void cbProcurement3_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbProcurement3 . Checked )
{
cbProcurement1 . Checked = false ;
cbProcurement2 . Checked = false ;
}
}
protected void cbConstruction1_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbConstruction1 . Checked )
{
cbConstruction2 . Checked = false ;
cbConstruction3 . Checked = false ;
}
}
protected void cbConstruction2_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbConstruction2 . Checked )
{
cbConstruction1 . Checked = false ;
cbConstruction3 . Checked = false ;
}
}
protected void cbConstruction3_OnCheckedChanged ( object sender , EventArgs e )
{
if ( cbConstruction3 . Checked )
{
cbConstruction1 . Checked = false ;
cbConstruction2 . Checked = false ;
}
}
#endregion
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click ( object sender , EventArgs e )
{
try
{
Model . Resource_Plan model = new Model . Resource_Plan ( ) ;
List < Model . Resource_PlanDetail > PlanDetaillist = new List < Model . Resource_PlanDetail > ( ) ;
List < Model . ManHours_Plan > ManHourList = new List < Model . ManHours_Plan > ( ) ;
Model . Editor_EProject EProjects = new Model . Editor_EProject ( ) ;
List < Model . Editor_PM > PMList = new List < Model . Editor_PM > ( ) ;
string eProjectId = Request . Params [ "eProjectId" ] ;
model . ResourcePlanId = Guid . NewGuid ( ) . ToString ( ) ;
model . EProjectId = eProjectId ;
model . WO = txtWO . Text ;
if ( ! string . IsNullOrEmpty ( txtSchStart1 . Text ) )
{
model . ProjectApproval_Sch_Start = Convert . ToDateTime ( txtSchStart1 . Text ) ;
}
model . ProjectApproval_Sch_NotApplicable = false ;
if ( cbNotApplicable1 . Checked )
{
model . ProjectApproval_Sch_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( txtSchStart2 . Text ) )
{
model . Detail_Eng_Civil_Sch_Start = Convert . ToDateTime ( txtSchStart2 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( txtSchEnd2 . Text ) )
{
model . Detail_Eng_Civil_Sch_End = Convert . ToDateTime ( txtSchEnd2 . Text ) ;
}
model . Detail_Eng_Civil_Sch_NotApplicable = false ;
if ( cbNotApplicable2 . Checked )
{
model . Detail_Eng_Civil_Sch_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( DatePicker1 . Text ) )
{
model . Detail_Eng_Mech_EI_Sch_Start = Convert . ToDateTime ( DatePicker1 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( DatePicker2 . Text ) )
{
model . Detail_Eng_Mech_EI_Sch_End = Convert . ToDateTime ( DatePicker2 . Text ) ;
}
model . Detail_Eng_Mech_EI_Sch_NotApplicable = false ;
if ( CheckBox1 . Checked )
{
model . Detail_Eng_Mech_EI_Sch_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( DatePicker3 . Text ) )
{
model . LLE_Procurement_Sch_Start = Convert . ToDateTime ( DatePicker3 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( DatePicker4 . Text ) )
{
model . LLE_Procurement_Sch_End = Convert . ToDateTime ( DatePicker4 . Text ) ;
}
model . LLE_Procurement_Sch_NotApplicable = false ;
if ( CheckBox2 . Checked )
{
model . LLE_Procurement_Sch_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( DatePicker5 . Text ) )
{
model . Const_Civil_Sch_Start = Convert . ToDateTime ( DatePicker5 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( DatePicker6 . Text ) )
{
model . Const_Civil_Sch_End = Convert . ToDateTime ( DatePicker6 . Text ) ;
}
model . Const_Civil_Sch_NotApplicable = false ;
if ( CheckBox3 . Checked )
{
model . Const_Civil_Sch_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( DatePicker7 . Text ) )
{
model . Const_Mech_EI_Start = Convert . ToDateTime ( DatePicker7 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( DatePicker8 . Text ) )
{
model . Const_Mech_EI_End = Convert . ToDateTime ( DatePicker8 . Text ) ;
}
model . Const_Mech_EI_NotApplicable = false ;
if ( CheckBox4 . Checked )
{
model . Const_Mech_EI_NotApplicable = true ;
}
if ( ! string . IsNullOrEmpty ( DatePicker9 . Text ) )
{
model . MC_Sch_Start = Convert . ToDateTime ( DatePicker9 . Text ) ;
}
//if (!string.IsNullOrEmpty(DatePicker10.Text))
//{
// model.MC_Sch_End = Convert.ToDateTime(DatePicker10.Text);
//}
//model.MC_Sch_NotApplicable = false;
if ( CheckBox5 . Checked )
{
model . MC_Sch_NotApplicable = true ;
}
if ( checkPhase . SelectedValueArray ! = null )
{
model . Phase = checkPhase . SelectedValueArray [ 0 ] ;
}
//foreach (CheckItem item in checkPhase.Items)
//{
// if (item.Selected)
// {
// model.Phase = item.Value;
// }
//}
if ( cbDesign1 . Checked )
{
model . Design = "CTE" ;
}
else if ( cbDesign2 . Checked )
{
model . Design = "CTA" ;
}
else if ( cbDesign3 . Checked )
{
model . Design = "CTM" ;
}
else
{
model . Design = null ;
}
if ( cbProcurement1 . Checked )
{
model . Procurement = "CTE" ;
}
else if ( cbProcurement2 . Checked )
{
model . Procurement = "CTA" ;
}
else if ( cbProcurement2 . Checked )
{
model . Procurement = "CTM" ;
}
else
{
model . Procurement = null ;
}
if ( cbConstruction1 . Checked )
{
model . Construction = "CTE" ;
}
else if ( cbConstruction2 . Checked )
{
model . Construction = "CTA" ;
}
else if ( cbConstruction3 . Checked )
{
model . Construction = "CTM" ;
}
else
{
model . Construction = null ;
}
model . CreateDate = DateTime . Now ;
//Progress:自动计算% =(Today - Sch.Start) / (Sch. End- Sch.Start)
//更新 Editor_EProject
EProjects . ModifyDate = DateTime . Now ;
EProjects . ModifyPerson = CurrUser . UserId ;
if ( ! string . IsNullOrEmpty ( txtSchStart1 . Text ) )
{
EProjects . ProjectControl_MS_Approval = Convert . ToDateTime ( txtSchStart1 . Text ) ;
}
if ( ! string . IsNullOrEmpty ( DatePicker3 . Text ) & & ! string . IsNullOrEmpty ( DatePicker4 . Text ) )
{
DateTime time = DateTime . Now ;
EProjects . ProjectControl_LP_SchStart = Funs . GetNewDateTime ( this . DatePicker3 . Text . Trim ( ) ) ;
EProjects . ProjectControl_LP_SchEnd = Funs . GetNewDateTime ( this . DatePicker4 . Text . Trim ( ) ) ;
TimeSpan ts1 = time - Convert . ToDateTime ( EProjects . ProjectControl_LP_SchStart ) ;
TimeSpan ts2 = Convert . ToDateTime ( EProjects . ProjectControl_LP_SchEnd ) - Convert . ToDateTime ( EProjects . ProjectControl_LP_SchStart ) ;
decimal ts = Convert . ToDecimal ( Math . Round ( ts1 . Days * 100.0 / ts2 . Days , 2 ) ) ;
EProjects . ProjectControl_LP_Progress = ts ;
EProjects . PM_LLEP_RevisedStart = Funs . GetNewDateTime ( this . DatePicker3 . Text . Trim ( ) ) ;
EProjects . PM_LLEP_RevisedEnd = Funs . GetNewDateTime ( this . DatePicker4 . Text . Trim ( ) ) ;
EProjects . PM_LLEP_ActualProgress = ts ;
}
if ( ! string . IsNullOrEmpty ( DatePicker5 . Text ) & & ! string . IsNullOrEmpty ( DatePicker6 . Text ) )
{
DateTime time = DateTime . Now ;
EProjects . ProjectControl_CC_SchStart = Convert . ToDateTime ( this . DatePicker5 . Text . Trim ( ) ) ;
EProjects . ProjectControl_CC_SchEnd = Convert . ToDateTime ( this . DatePicker6 . Text . Trim ( ) ) ;
TimeSpan ts1 = time - Convert . ToDateTime ( EProjects . ProjectControl_CC_SchStart ) ;
TimeSpan ts2 = Convert . ToDateTime ( EProjects . ProjectControl_CC_SchEnd ) - Convert . ToDateTime ( EProjects . ProjectControl_CC_SchStart ) ;
decimal ts = Convert . ToDecimal ( Math . Round ( ts1 . Days * 100.0 / ts2 . Days , 2 ) ) ;
EProjects . ProjectControl_CC_Progress = ts ;
EProjects . CM_CC_RevisedStart = Convert . ToDateTime ( this . DatePicker5 . Text . Trim ( ) ) ;
EProjects . CM_CC_RevisedEnd = Convert . ToDateTime ( this . DatePicker6 . Text . Trim ( ) ) ;
EProjects . CM_CC_AcutalProgress = ts ;
}
if ( ! string . IsNullOrEmpty ( DatePicker7 . Text ) & & ! string . IsNullOrEmpty ( DatePicker8 . Text ) )
{
DateTime time = DateTime . Now ;
EProjects . ProjectControl_CM_SchStart = Convert . ToDateTime ( this . DatePicker7 . Text . Trim ( ) ) ;
EProjects . ProjectControl_CM_SchEnd = Convert . ToDateTime ( this . DatePicker8 . Text . Trim ( ) ) ;
TimeSpan ts1 = time - Convert . ToDateTime ( EProjects . ProjectControl_CM_SchStart ) ;
TimeSpan ts2 = Convert . ToDateTime ( EProjects . ProjectControl_CM_SchEnd ) - Convert . ToDateTime ( EProjects . ProjectControl_CM_SchStart ) ;
decimal ts = Convert . ToDecimal ( Math . Round ( ts1 . Days * 100.0 / ts2 . Days , 2 ) ) ;
EProjects . ProjectControl_CM_Progress = ts ;
EProjects . CM_CM_RevisedStart = Convert . ToDateTime ( this . DatePicker7 . Text . Trim ( ) ) ;
EProjects . CM_CM_RevisedEnd = Convert . ToDateTime ( this . DatePicker8 . Text . Trim ( ) ) ;
EProjects . CM_CM_AcutalProgress = ts ;
}
if ( ! string . IsNullOrEmpty ( DatePicker9 . Text ) )
{
EProjects . ProjectControl_MS_MC = Funs . GetNewDateTime ( this . DatePicker9 . Text . Trim ( ) ) ;
EProjects . ProjectControl_Revised_MC_Date = Funs . GetNewDateTime ( this . DatePicker9 . Text . Trim ( ) ) ;
EProjects . ProjectControl_MS_Close = Funs . GetNewDateTime ( this . DatePicker9 . Text . Trim ( ) ) . Value . AddMonths ( 6 ) ;
}
if ( ! string . IsNullOrEmpty ( DropDownList7 . SelectedValue ) )
{
EProjects . ProjectControl_ProjectManagerId = DropDownList7 . SelectedValue ;
}
//foreach (CheckItem item in this.checkPriority.Items)
//{
// if (item.Selected)
// {
// EProjects.PM_General_Priority = item.Value;
// }
//}
string ProjectControlAccount = txtWO . Text ;
// 添加第二个资源逻辑 类型项目或小型投机 account为空, wo为network
var rp = BLL . ResourcePlanService . GetResourcePlanByEProjectId ( eProjectId ) ;
var eProject = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
if ( eProject . ProjectControl_JobType ! = "Projects" & & eProject . ProjectControl_JobType ! = "Small Invest" )
{
EProjects . ProjectControl_Account = txtWO . Text ;
}
if ( rp . Count ( ) > 0 )
{
// 把account 加日期写入StudyWo中
EProjects . StudyWo = eProject . ProjectControl_Account ;
if ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" )
{
EProjects . ProjectControl_Account = null ;
ProjectControlAccount = string . Empty ;
}
2024-10-10 15:14:29 +08:00
// 后加条件, 当创建第二个资源时, 项目批准日期不为空时项目状态为On Going 不要了 修改于2024.07.03
//if (eProject.ProjectControl_JobType == "Other" && eProject.PM_MA_ProjectApproval.HasValue && !eProject.CM_MA_MC.HasValue
// && (eProject.ProjectControl_JobStatus == "Not Start" || eProject.ProjectControl_JobStatus == "Study"))
//{
// EProjects.ProjectControl_JobStatus = "On Going";
//}
//else
//{
// EProjects.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus;
//}
2024-05-08 11:01:54 +08:00
//(现增加第二张资源一个月后关闭)
//if(eProject.ProjectControl_JobType == "MOC")
//{
// // 如果类型是moc在增加第二张资源时, 则第一张资源的人工时AccountDisabled关闭, 如是other则手动关闭, 如果不是则在编辑器中维护network时关闭第一张资源人工时AccountDisabled
// PlanService.UpdateManHourPlanAccountDisabled(rp.First().ResourcePlanId, 1);
//}
}
if ( eProject ! = null )
{
if ( eProject . ProjectControl_JobStatus = = "Not Start" & & ! eProject . PM_MA_ProjectApproval . HasValue )
{
EProjects . ProjectControl_JobStatus = "Study" ;
}
else
{
EProjects . ProjectControl_JobStatus = eProject . ProjectControl_JobStatus ;
}
if ( cbCDI . Checked )
{
EProjects . PM_General_CDI = drpCDI . SelectedValue ;
}
}
// pm 添加到人工时
if ( ! string . IsNullOrEmpty ( DropDownList7 . SelectedValue ) & & ! string . IsNullOrEmpty ( NumberBox15 . Text ) )
{
if ( BLL . Sys_UserService . IsCTEAndCalculated ( DropDownList7 . SelectedValue ) )
{
var pmd = from x in Funs . DB . Base_DisciplinesWBS where x . Type = = "4" select x ;
Model . ManHours_Plan PM = new Model . ManHours_Plan ( ) ;
PM . ManHoursPlanId = Guid . NewGuid ( ) . ToString ( ) ;
PM . ResourcePlanId = model . ResourcePlanId ;
PM . EProjectId = Request . Params [ "eProjectId" ] ;
PM . EngineerId = DropDownList7 . SelectedValue ;
PM . Account = txtWO . Text ;
if ( pmd . Count ( ) > 0 )
{
PM . DisciplineId = pmd . FirstOrDefault ( ) . DisciplinesWBSId ;
PM . Discipline = pmd . FirstOrDefault ( ) . DisciplinesWBSName ;
PM . Roles = pmd . FirstOrDefault ( ) . Roles ;
if ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" )
{
if ( checkPhase . Items [ 0 ] . Selected )
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
PM . Account = eProject . ProjectControl_NetworkNo + "-" + pmd . FirstOrDefault ( ) . NetworkOper1 ;
}
else
{
PM . Account = pmd . FirstOrDefault ( ) . NetworkOper1 ;
}
}
else
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
PM . Account = eProject . ProjectControl_NetworkNo + "-" + pmd . FirstOrDefault ( ) . NetworkOper ;
}
else
{
PM . Account = pmd . FirstOrDefault ( ) . NetworkOper ;
}
}
}
else
{
if ( ! string . IsNullOrEmpty ( txtWO . Text ) )
{
PM . Account = txtWO . Text + "-" + pmd . FirstOrDefault ( ) . WorkorderOper ;
}
else
{
PM . Account = pmd . FirstOrDefault ( ) . WorkorderOper ;
}
}
}
else
{
PM . DisciplineId = "M00" ;
PM . Discipline = "M00" ;
PM . Roles = "M00" ;
}
PM . ManHours = Convert . ToInt32 ( NumberBox15 . Text ) ;
PM . IsClose = 0 ;
PM . AccountDisabled = 0 ;
ManHourList . Add ( PM ) ;
}
}
model . CountNum = 0 ;
model . IsClose = 0 ;
JArray JArrays = Grid3 . GetMergedData ( ) ;
if ( JArrays . Count > 0 )
{
//Process 1
JObject objectsProcess = ( JObject ) JArrays [ 1 ] ;
string Leader1 = objectsProcess [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart0 = null ;
DateTime ? schEnd0 = null ;
if ( ! string . IsNullOrEmpty ( objectsProcess [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart0 = Convert . ToDateTime ( objectsProcess [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsProcess [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd0 = Convert . ToDateTime ( objectsProcess [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
// Piping 8
JObject objectsPiping = ( JObject ) JArrays [ 8 ] ;
string Leader2 = objectsPiping [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart8 = null ;
DateTime ? schEnd8 = null ;
if ( ! string . IsNullOrEmpty ( objectsPiping [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart8 = Convert . ToDateTime ( objectsPiping [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsPiping [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd8 = Convert . ToDateTime ( objectsPiping [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
//Plumbing/F.F 6
JObject objectsPlumbing = ( JObject ) JArrays [ 6 ] ;
string Leader3 = objectsPlumbing [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart6 = null ;
DateTime ? schEnd6 = null ;
if ( ! string . IsNullOrEmpty ( objectsPlumbing [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart6 = Convert . ToDateTime ( objectsPlumbing [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsPlumbing [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd6 = Convert . ToDateTime ( objectsPlumbing [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
if ( ! String . IsNullOrEmpty ( Leader1 ) )
{
EProjects . ProjectControl_CI_Process = Leader1 ;
}
else
{
if ( ! String . IsNullOrEmpty ( Leader2 ) )
{
EProjects . ProjectControl_CI_Process = Leader2 ;
}
else
{
if ( ! String . IsNullOrEmpty ( Leader3 ) )
{
EProjects . ProjectControl_CI_Process = Leader3 ;
}
else
{
EProjects . ProjectControl_CI_Process = eProject . ProjectControl_CI_Process ;
}
}
}
JObject objectsCivil = ( JObject ) JArrays [ 3 ] ;
string Equipment1 = objectsCivil [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart3 = null ;
DateTime ? schEnd3 = null ;
if ( ! string . IsNullOrEmpty ( objectsCivil [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart3 = Convert . ToDateTime ( objectsCivil [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsCivil [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd3 = Convert . ToDateTime ( objectsCivil [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
JObject objectsArchitectral = ( JObject ) JArrays [ 4 ] ;
string Equipment2 = objectsArchitectral [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart4 = null ;
DateTime ? schEnd4 = null ;
if ( ! string . IsNullOrEmpty ( objectsArchitectral [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart4 = Convert . ToDateTime ( objectsArchitectral [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsArchitectral [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd4 = Convert . ToDateTime ( objectsArchitectral [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
JObject objectsHVAC = ( JObject ) JArrays [ 5 ] ;
string Equipment3 = objectsHVAC [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart5 = null ;
DateTime ? schEnd5 = null ;
if ( ! string . IsNullOrEmpty ( objectsHVAC [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart5 = Convert . ToDateTime ( objectsHVAC [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsHVAC [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd5 = Convert . ToDateTime ( objectsHVAC [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
JObject objectsMasterplanning = ( JObject ) JArrays [ 2 ] ;
string Equipment4 = objectsMasterplanning [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart2 = null ;
DateTime ? schEnd2 = null ;
if ( ! string . IsNullOrEmpty ( objectsMasterplanning [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart2 = Convert . ToDateTime ( objectsMasterplanning [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsMasterplanning [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd2 = Convert . ToDateTime ( objectsMasterplanning [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
// ProjectControl_CI_Equipment
// 取优先级Civil>Architectral>HVAC>Masterplanning
if ( ! String . IsNullOrEmpty ( Equipment1 ) )
{
EProjects . ProjectControl_CI_Civil = Equipment1 ;
}
else
{
if ( ! String . IsNullOrEmpty ( Equipment2 ) )
{
EProjects . ProjectControl_CI_Civil = Equipment2 ;
}
else
{
if ( ! String . IsNullOrEmpty ( Equipment3 ) )
{
EProjects . ProjectControl_CI_Civil = Equipment3 ;
}
else
{
if ( ! String . IsNullOrEmpty ( Equipment4 ) )
{
EProjects . ProjectControl_CI_Civil = Equipment4 ;
}
else
{
EProjects . ProjectControl_CI_Civil = eProject . ProjectControl_CI_Civil ;
}
}
}
}
JObject objectsInstrument = ( JObject ) JArrays [ 11 ] ;
string Instrument = objectsInstrument [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart11 = null ;
DateTime ? schEnd11 = null ;
if ( ! string . IsNullOrEmpty ( objectsInstrument [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart11 = Convert . ToDateTime ( objectsInstrument [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsInstrument [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd11 = Convert . ToDateTime ( objectsInstrument [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( Instrument ) )
{
EProjects . ProjectControl_CI_Instrument = Instrument ;
}
else
{
EProjects . ProjectControl_CI_Instrument = eProject . ProjectControl_CI_Instrument ;
}
JObject objectsElectrical = ( JObject ) JArrays [ 9 ] ;
string Electrical = objectsElectrical [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart9 = null ;
DateTime ? schEnd9 = null ;
if ( ! string . IsNullOrEmpty ( objectsElectrical [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart9 = Convert . ToDateTime ( objectsElectrical [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsElectrical [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd9 = Convert . ToDateTime ( objectsElectrical [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
JObject objectsTelecommunication = ( JObject ) JArrays [ 10 ] ;
string Telecommunication = objectsTelecommunication [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart10 = null ;
DateTime ? schEnd10 = null ;
if ( ! string . IsNullOrEmpty ( objectsTelecommunication [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart10 = Convert . ToDateTime ( objectsTelecommunication [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsTelecommunication [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd10 = Convert . ToDateTime ( objectsTelecommunication [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
if ( ! String . IsNullOrEmpty ( Electrical ) )
{
EProjects . ProjectControl_CI_Electrical = Electrical ;
}
else
{
if ( ! String . IsNullOrEmpty ( Telecommunication ) )
{
EProjects . ProjectControl_CI_Electrical = Telecommunication ;
}
else
{
EProjects . ProjectControl_CI_Electrical = eProject . ProjectControl_CI_Electrical ;
}
}
JObject objectsMech = ( JObject ) JArrays [ 7 ] ;
string MechEqui = objectsMech [ "values" ] [ "Leader" ] . ToString ( ) ;
DateTime ? schStart7 = null ;
DateTime ? schEnd7 = null ;
if ( ! string . IsNullOrEmpty ( objectsMech [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
schStart7 = Convert . ToDateTime ( objectsMech [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objectsMech [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
schEnd7 = Convert . ToDateTime ( objectsMech [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
if ( ! String . IsNullOrEmpty ( MechEqui ) )
{
EProjects . ProjectControl_CI_Equipment = MechEqui ;
}
else
{
EProjects . ProjectControl_CI_Equipment = eProject . ProjectControl_CI_Equipment ;
}
Model . Resource_PlanDetail PlanDetail = null ;
for ( int i = 0 ; i < JArrays . Count ; i + + )
{
PlanDetail = new Model . Resource_PlanDetail ( ) ;
//int rowIndex = Grid3.SelectedRowIndexArray[i];
JObject objects = ( JObject ) JArrays [ i ] ;
object [ ] dataKeys = Grid3 . DataKeys [ i ] ;
PlanDetail . ResourcePlanDetailId = Guid . NewGuid ( ) . ToString ( ) ;
PlanDetail . ResourcePlanId = model . ResourcePlanId ;
PlanDetail . EProjectId = Request . Params [ "eProjectId" ] ;
PlanDetail . DisciplinesWBSId = dataKeys [ 0 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSCode = dataKeys [ 1 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSName = dataKeys [ 2 ] . ToString ( ) ;
PlanDetail . WBS = dataKeys [ 3 ] . ToString ( ) ;
PlanDetail . ISort = i + 1 ;
string NetworkOper = objects [ "values" ] [ "NetworkOper" ] . ToString ( ) ;
string WorkorderOper = objects [ "values" ] [ "WorkorderOper" ] . ToString ( ) ;
PlanDetail . DesignersId = objects [ "values" ] [ "Designer" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
PlanDetail . Sch_Start = Convert . ToDateTime ( objects [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
PlanDetail . Sch_End = Convert . ToDateTime ( objects [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio1" ] . ToString ( ) ) )
{
PlanDetail . Ratio1 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio1" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours1" ] . ToString ( ) ) )
{
PlanDetail . ManHours1 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours1" ] ) ;
}
PlanDetail . CheckersId = objects [ "values" ] [ "Checker" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio2" ] . ToString ( ) ) )
{
PlanDetail . Ratio2 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio2" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours2" ] . ToString ( ) ) )
{
PlanDetail . ManHours2 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours2" ] ) ;
}
PlanDetail . ApproversId = objects [ "values" ] [ "Approver" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio3" ] . ToString ( ) ) )
{
PlanDetail . Ratio3 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio3" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours3" ] . ToString ( ) ) )
{
PlanDetail . ManHours3 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours3" ] ) ;
}
PlanDetail . LeadersId = objects [ "values" ] [ "Leader" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio4" ] . ToString ( ) ) )
{
PlanDetail . Ratio4 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio4" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours4" ] . ToString ( ) ) )
{
PlanDetail . ManHours4 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours4" ] ) ;
}
PlanDetail . Types = "1" ;
PlanDetaillist . Add ( PlanDetail ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Designer" ] . ToString ( ) ) | | ! string . IsNullOrEmpty ( objects [ "values" ] [ "Checker" ] . ToString ( ) )
| | ! string . IsNullOrEmpty ( objects [ "values" ] [ "Approver" ] . ToString ( ) ) | | ! string . IsNullOrEmpty ( objects [ "values" ] [ "Leader" ] . ToString ( ) ) )
{
Model . Editor_PM EditorPM = new Model . Editor_PM ( ) ;
EditorPM . PMId = Guid . NewGuid ( ) . ToString ( ) ;
EditorPM . EProjectId = Request . Params [ "eProjectId" ] ;
EditorPM . DisciplinesWBSCode = dataKeys [ 1 ] . ToString ( ) ;
EditorPM . DisciplinesWBSName = dataKeys [ 2 ] . ToString ( ) ;
EditorPM . WBS = dataKeys [ 3 ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Sch_Start" ] . ToString ( ) ) )
{
EditorPM . SchStart = Convert . ToDateTime ( objects [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
EditorPM . RevisedStart = Convert . ToDateTime ( objects [ "values" ] [ "Sch_Start" ] . ToString ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Sch_End" ] . ToString ( ) ) )
{
EditorPM . SchEnd = Convert . ToDateTime ( objects [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
EditorPM . RevisedEnd = Convert . ToDateTime ( objects [ "values" ] [ "Sch_End" ] . ToString ( ) ) ;
}
PMList . Add ( EditorPM ) ;
}
// 总计划人工时
string Designer = objects [ "values" ] [ "Designer" ] . ToString ( ) + "@" + objects [ "values" ] [ "Checker" ] . ToString ( ) + "@" + objects [ "values" ] [ "Approver" ] . ToString ( ) + "@" + objects [ "values" ] [ "Leader" ] . ToString ( ) ;
string ManHours = objects [ "values" ] [ "ManHours1" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours2" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours3" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours4" ] . ToString ( ) ;
string [ ] DesignerArr = Designer . Split ( '@' ) ;
string [ ] ManHoursArr = ManHours . Split ( '@' ) ;
Model . ManHours_Plan ManHoursPlan = null ;
for ( int l = 0 ; l < DesignerArr . Length ; l + + )
{
if ( ! string . IsNullOrEmpty ( DesignerArr [ l ] . ToString ( ) ) )
{
ManHoursPlan = new Model . ManHours_Plan ( ) ;
ManHoursPlan . ManHoursPlanId = Guid . NewGuid ( ) . ToString ( ) ;
ManHoursPlan . ResourcePlanId = model . ResourcePlanId ;
ManHoursPlan . EProjectId = Request . Params [ "eProjectId" ] ;
ManHoursPlan . EngineerId = DesignerArr [ l ] . ToString ( ) ;
if ( BLL . Sys_UserService . IsCTEAndCalculated ( DesignerArr [ l ] ) )
{
if ( ! string . IsNullOrEmpty ( ManHoursArr [ l ] . ToString ( ) ) )
{
ManHoursPlan . ManHours = Convert . ToInt32 ( ManHoursArr [ l ] . ToString ( ) ) ;
}
}
else
{
ManHoursPlan . ManHours = 0 ;
}
//ManHoursPlan.Roles = objects["values"]["Roles"].ToString();
ManHoursPlan . DisciplineId = dataKeys [ 0 ] . ToString ( ) ;
ManHoursPlan . Discipline = dataKeys [ 2 ] . ToString ( ) ;
var wbs = BLL . DisciplinesWBSService . GetDisciplinesWBSById ( dataKeys [ 0 ] . ToString ( ) ) ;
string roles = string . Empty ;
if ( l = = 0 )
{
if ( wbs . Designer = = "D10" | | wbs . Designer = = "D20" )
{
roles = wbs . Designer ;
}
else
{
roles = wbs . Designer + "_Designer" ;
}
}
if ( l = = 1 )
{
roles = wbs . Checker + "_Checker" ;
}
if ( l = = 2 )
{
roles = wbs . Approver + "_Approver" ;
}
if ( l = = 3 )
{
roles = wbs . Leader + "_Leader" ;
}
ManHoursPlan . Roles = roles ;
//ManHoursPlan.Account = txtWO.Text;
if ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" )
{
if ( checkPhase . Items [ 0 ] . Selected )
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + wbs . NetworkOper1 ;
}
else
{
ManHoursPlan . Account = wbs . NetworkOper1 ;
}
}
else
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + NetworkOper ;
}
else
{
ManHoursPlan . Account = NetworkOper ;
}
}
}
else
{
if ( ! string . IsNullOrEmpty ( txtWO . Text ) )
{
ManHoursPlan . Account = txtWO . Text + "-" + WorkorderOper ;
}
else
{
ManHoursPlan . Account = WorkorderOper ;
}
}
ManHoursPlan . IsClose = 0 ;
ManHoursPlan . AccountDisabled = 0 ;
ManHourList . Add ( ManHoursPlan ) ;
}
}
}
}
JArray ConstructionArr = Grid4 . GetMergedData ( ) ;
if ( ConstructionArr . Count > 0 )
{
Model . Resource_PlanDetail PlanDetail = null ;
for ( int c = 0 ; c < ConstructionArr . Count ; c + + )
{
JObject objects = ( JObject ) ConstructionArr [ c ] ;
PlanDetail = new Model . Resource_PlanDetail ( ) ;
PlanDetail . ResourcePlanDetailId = Guid . NewGuid ( ) . ToString ( ) ;
PlanDetail . ResourcePlanId = model . ResourcePlanId ;
PlanDetail . EProjectId = Request . Params [ "eProjectId" ] ;
object [ ] dataKeys = Grid4 . DataKeys [ c ] ;
PlanDetail . ISort = c + 1 ;
PlanDetail . DisciplinesWBSId = dataKeys [ 0 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSCode = dataKeys [ 1 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSName = dataKeys [ 2 ] . ToString ( ) ;
PlanDetail . WBS = dataKeys [ 3 ] . ToString ( ) ;
string NetworkOper = objects [ "values" ] [ "NetworkOper" ] . ToString ( ) ;
string WorkorderOper = objects [ "values" ] [ "WorkorderOper" ] . ToString ( ) ;
PlanDetail . DesignersId = objects [ "values" ] [ "Designer" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio1" ] . ToString ( ) ) )
{
PlanDetail . Ratio1 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio1" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours1" ] . ToString ( ) ) )
{
PlanDetail . ManHours1 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours1" ] ) ;
}
PlanDetail . CheckersId = objects [ "values" ] [ "Checker" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio2" ] . ToString ( ) ) )
{
PlanDetail . Ratio2 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio2" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours2" ] . ToString ( ) ) )
{
PlanDetail . ManHours2 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours2" ] ) ;
}
PlanDetail . ApproversId = objects [ "values" ] [ "Approver" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio3" ] . ToString ( ) ) )
{
PlanDetail . Ratio3 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio3" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours3" ] . ToString ( ) ) )
{
PlanDetail . ManHours3 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours3" ] ) ;
}
PlanDetail . Types = "2" ;
PlanDetaillist . Add ( PlanDetail ) ;
//反写ProjectControl中CM
if ( PlanDetail . DisciplinesWBSName = = "Construction Management" )
{
if ( ! string . IsNullOrEmpty ( PlanDetail . DesignersId ) )
{
EProjects . ProjectControl_ConstManagerId = PlanDetail . DesignersId ;
EProjects . ProjectControl_ConstManager = BLL . Sys_UserService . GetUserNameByUserId ( PlanDetail . DesignersId ) ;
}
}
string Designer = objects [ "values" ] [ "Designer" ] . ToString ( ) + "@" + objects [ "values" ] [ "Checker" ] . ToString ( ) + "@" + objects [ "values" ] [ "Approver" ] . ToString ( ) ;
string ManHours = objects [ "values" ] [ "ManHours1" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours2" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours3" ] . ToString ( ) ;
string [ ] DesignerArr = Designer . Split ( '@' ) ;
string [ ] ManHoursArr = ManHours . Split ( '@' ) ;
Model . ManHours_Plan ManHoursPlan = null ;
for ( int l = 0 ; l < DesignerArr . Length ; l + + )
{
if ( ! string . IsNullOrEmpty ( DesignerArr [ l ] . ToString ( ) ) )
{
ManHoursPlan = new Model . ManHours_Plan ( ) ;
ManHoursPlan . ManHoursPlanId = Guid . NewGuid ( ) . ToString ( ) ;
ManHoursPlan . ResourcePlanId = model . ResourcePlanId ;
ManHoursPlan . EProjectId = Request . Params [ "eProjectId" ] ;
ManHoursPlan . Roles = objects [ "values" ] [ "Roles" ] . ToString ( ) ;
ManHoursPlan . EngineerId = DesignerArr [ l ] . ToString ( ) ;
if ( BLL . Sys_UserService . IsCTEAndCalculated ( DesignerArr [ l ] ) )
{
if ( ! string . IsNullOrEmpty ( ManHoursArr [ l ] . ToString ( ) ) )
{
ManHoursPlan . ManHours = Convert . ToInt32 ( ManHoursArr [ l ] . ToString ( ) ) ;
}
}
else
{
ManHoursPlan . ManHours = 0 ;
}
ManHoursPlan . DisciplineId = dataKeys [ 0 ] . ToString ( ) ;
ManHoursPlan . Discipline = dataKeys [ 2 ] . ToString ( ) ;
var wbs = BLL . DisciplinesWBSService . GetDisciplinesWBSById ( dataKeys [ 0 ] . ToString ( ) ) ;
// ManHoursPlan.Account = txtWO.Text;
if ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" )
{
if ( checkPhase . Items [ 0 ] . Selected )
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + wbs . NetworkOper1 ;
}
else
{
ManHoursPlan . Account = wbs . NetworkOper1 ;
}
}
else
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + NetworkOper ;
}
else
{
ManHoursPlan . Account = NetworkOper ;
}
}
}
else
{
if ( ! string . IsNullOrEmpty ( txtWO . Text ) )
{
ManHoursPlan . Account = txtWO . Text + "-" + WorkorderOper ;
}
else
{
ManHoursPlan . Account = WorkorderOper ;
}
}
ManHoursPlan . IsClose = 0 ;
ManHoursPlan . AccountDisabled = 0 ;
ManHourList . Add ( ManHoursPlan ) ;
}
}
}
}
JArray QualityArr = Grid5 . GetMergedData ( ) ;
if ( QualityArr . Count > 0 )
{
Model . Resource_PlanDetail PlanDetail = null ;
for ( int q = 0 ; q < QualityArr . Count ; q + + )
{
JObject objects = ( JObject ) QualityArr [ q ] ;
PlanDetail = new Model . Resource_PlanDetail ( ) ;
PlanDetail . ResourcePlanDetailId = Guid . NewGuid ( ) . ToString ( ) ;
PlanDetail . ResourcePlanId = model . ResourcePlanId ;
PlanDetail . EProjectId = Request . Params [ "eProjectId" ] ;
object [ ] dataKeys = Grid5 . DataKeys [ q ] ;
PlanDetail . DisciplinesWBSId = dataKeys [ 0 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSCode = dataKeys [ 1 ] . ToString ( ) ;
PlanDetail . DisciplinesWBSName = dataKeys [ 2 ] . ToString ( ) ;
PlanDetail . WBS = dataKeys [ 3 ] . ToString ( ) ;
PlanDetail . ISort = q + 1 ;
string NetworkOper = objects [ "values" ] [ "NetworkOper" ] . ToString ( ) ;
string WorkorderOper = objects [ "values" ] [ "WorkorderOper" ] . ToString ( ) ;
PlanDetail . DesignersId = objects [ "values" ] [ "Designer" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio1" ] . ToString ( ) ) )
{
PlanDetail . Ratio1 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio1" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours1" ] . ToString ( ) ) )
{
PlanDetail . ManHours1 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours1" ] ) ;
}
PlanDetail . CheckersId = objects [ "values" ] [ "Checker" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio2" ] . ToString ( ) ) )
{
PlanDetail . Ratio2 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio2" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours2" ] . ToString ( ) ) )
{
PlanDetail . ManHours2 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours2" ] ) ;
}
PlanDetail . ApproversId = objects [ "values" ] [ "Approver" ] . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "Ratio3" ] . ToString ( ) ) )
{
PlanDetail . Ratio3 = Convert . ToDecimal ( objects [ "values" ] [ "Ratio3" ] ) ;
}
if ( ! string . IsNullOrEmpty ( objects [ "values" ] [ "ManHours3" ] . ToString ( ) ) )
{
PlanDetail . ManHours3 = Convert . ToDecimal ( objects [ "values" ] [ "ManHours3" ] ) ;
}
PlanDetail . Types = "3" ;
PlanDetaillist . Add ( PlanDetail ) ;
string Designer = objects [ "values" ] [ "Designer" ] . ToString ( ) + "@" + objects [ "values" ] [ "Checker" ] . ToString ( ) + "@" + objects [ "values" ] [ "Approver" ] . ToString ( ) ;
string ManHours = objects [ "values" ] [ "ManHours1" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours2" ] . ToString ( ) + "@" + objects [ "values" ] [ "ManHours3" ] . ToString ( ) ;
string [ ] DesignerArr = Designer . Split ( '@' ) ;
string [ ] ManHoursArr = ManHours . Split ( '@' ) ;
Model . ManHours_Plan ManHoursPlan = null ;
for ( int l = 0 ; l < DesignerArr . Length ; l + + )
{
if ( ! string . IsNullOrEmpty ( DesignerArr [ l ] . ToString ( ) ) )
{
ManHoursPlan = new Model . ManHours_Plan ( ) ;
ManHoursPlan . ManHoursPlanId = Guid . NewGuid ( ) . ToString ( ) ;
ManHoursPlan . ResourcePlanId = model . ResourcePlanId ;
ManHoursPlan . EProjectId = Request . Params [ "eProjectId" ] ;
ManHoursPlan . Roles = objects [ "values" ] [ "Roles" ] . ToString ( ) ;
ManHoursPlan . EngineerId = DesignerArr [ l ] . ToString ( ) ;
if ( BLL . Sys_UserService . IsCTEAndCalculated ( DesignerArr [ l ] ) )
{
if ( ! string . IsNullOrEmpty ( ManHoursArr [ l ] . ToString ( ) ) )
{
ManHoursPlan . ManHours = Convert . ToInt32 ( ManHoursArr [ l ] . ToString ( ) ) ;
}
}
else
{
ManHoursPlan . ManHours = 0 ;
}
ManHoursPlan . DisciplineId = dataKeys [ 0 ] . ToString ( ) ;
ManHoursPlan . Discipline = dataKeys [ 2 ] . ToString ( ) ;
var wbs = BLL . DisciplinesWBSService . GetDisciplinesWBSById ( dataKeys [ 0 ] . ToString ( ) ) ;
// ManHoursPlan.Account = txtWO.Text;
if ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" )
{
if ( checkPhase . Items [ 0 ] . Selected )
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + wbs . NetworkOper1 ;
}
else
{
ManHoursPlan . Account = wbs . NetworkOper1 ;
}
}
else
{
if ( ! string . IsNullOrEmpty ( eProject . ProjectControl_NetworkNo ) )
{
ManHoursPlan . Account = eProject . ProjectControl_NetworkNo + "-" + NetworkOper ;
}
else
{
ManHoursPlan . Account = NetworkOper ;
}
}
}
else
{
if ( ! string . IsNullOrEmpty ( txtWO . Text ) )
{
ManHoursPlan . Account = txtWO . Text + "-" + WorkorderOper ;
}
else
{
ManHoursPlan . Account = WorkorderOper ;
}
}
ManHoursPlan . IsClose = 0 ;
ManHoursPlan . AccountDisabled = 0 ;
ManHourList . Add ( ManHoursPlan ) ;
}
}
}
}
bool result = BLL . ResourcePlanService . AddTran ( model , EProjects , PlanDetaillist , PMList , ManHourList ) ;
if ( result )
{
// 回写编辑器CTE Involved
string cteInvolved = "N" ;
Model . Editor_EProject eproject = Funs . DB . Editor_EProject . FirstOrDefault ( x = > x . EProjectId = = eProjectId ) ;
if ( eproject . ProjectControl_LeadByName ! = null & & ! eproject . ProjectControl_LeadByName . Contains ( "CTE" ) ) // && !eproject.ProjectControl_LeadByName.Contains("CTE/D"))
{
var plan = from x in Funs . DB . ManHours_Plan where x . EProjectId = = eProjectId select x ;
foreach ( var p in plan )
{
if ( ! string . IsNullOrEmpty ( p . EngineerId ) )
{
var user = from x in Funs . DB . Sys_User
join y in Funs . DB . Base_Depart on x . DepartId equals y . DepartId
where x . UserId = = p . EngineerId
& & y . DepartName . Contains ( "CTE" )
select x ;
if ( user . Count ( ) > 0 )
{
cteInvolved = "Y" ;
break ;
}
}
}
}
eproject . CTEInvolved = cteInvolved ;
Funs . DB . SubmitChanges ( ) ;
ShowNotify ( "Save Successfully!" , MessageBoxIcon . Success ) ;
PageContext . RegisterStartupScript ( ActiveWindow . GetHidePostBackReference ( ) ) ;
}
else
{
Alert . ShowInParent ( "Save failed!" ) ;
return ;
}
}
catch ( Exception ex )
{
Alert . ShowInParent ( ex . ToString ( ) ) ;
return ;
}
}
#region 权 限 设 置
/// <summary>
/// 菜单按钮权限
/// </summary>
//private void GetButtonPower()
//{
// var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.ResourcePlanMenuId);
// if (buttonList.Count() > 0)
// {
// if (buttonList.Contains(BLL.Const.BtnSave))
// {
// this.btnSave.Hidden = false;
// }
// }
// else
// {
// var user = BLL.Sys_UserService.GetUsersByUserId(this.CurrUser.UserId);
// if (user != null && user.DepartId == Const.CTEM_DepartId)
// {
// this.btnSave.Hidden = false;
// }
// }
//}
#endregion
protected void cbNotApplicable1_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( cbNotApplicable1 . Checked )
{
txtSchStart1 . Enabled = false ;
txtSchStart1 . Text = "" ;
}
else
{
txtSchStart1 . Enabled = true ;
}
}
protected void cbCDI_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( cbCDI . Checked )
{
drpCDI . Enabled = true ;
BLL . ConstService . InitConstValueDropDownList ( this . drpCDI , BLL . Const . PM_CDI , false ) ;
}
else
{
drpCDI . Items . Clear ( ) ;
drpCDI . Enabled = false ;
}
}
protected void txtSchStart1_TextChanged ( object sender , EventArgs e )
{
DateTime time = DateTime . Now ;
if ( txtSchStart1 . SelectedDate . HasValue )
{
//DateTime dt = Convert.ToDateTime(txtSchStart1.Text);
//if (dt > time) {
// Alert.ShowInParent("Cannot be greater than the current date!");
// txtSchStart1.Text = "";
// return;
//}
cbNotApplicable1 . Readonly = true ;
}
else
{
cbNotApplicable1 . Readonly = false ;
}
}
protected void cbNotApplicable2_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( cbNotApplicable2 . Checked )
{
txtSchStart2 . Enabled = false ;
txtSchEnd2 . Enabled = false ;
txtSchStart2 . Text = "" ;
txtSchEnd2 . Text = "" ;
}
else
{
txtSchStart2 . Enabled = true ;
txtSchEnd2 . Enabled = true ;
}
}
protected void txtSchStart2_TextChanged ( object sender , EventArgs e )
{
if ( txtSchStart2 . SelectedDate . HasValue | | txtSchEnd2 . SelectedDate . HasValue )
{
cbNotApplicable2 . Readonly = true ;
}
else
{
cbNotApplicable2 . Readonly = false ;
}
}
protected void txtSchEnd2_TextChanged ( object sender , EventArgs e )
{
if ( txtSchStart2 . SelectedDate . HasValue | | txtSchEnd2 . SelectedDate . HasValue )
{
cbNotApplicable2 . Readonly = true ;
}
else
{
cbNotApplicable2 . Readonly = false ;
}
}
protected void CheckBox1_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( CheckBox1 . Checked )
{
DatePicker1 . Enabled = false ;
DatePicker2 . Enabled = false ;
DatePicker1 . Text = "" ;
DatePicker2 . Text = "" ;
}
else
{
DatePicker1 . Enabled = true ;
DatePicker2 . Enabled = true ;
}
}
protected void DatePicker1_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker1 . SelectedDate . HasValue | | DatePicker2 . SelectedDate . HasValue )
{
CheckBox1 . Readonly = true ;
}
else
{
CheckBox1 . Readonly = false ;
}
}
protected void DatePicker2_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker1 . SelectedDate . HasValue | | DatePicker2 . SelectedDate . HasValue )
{
CheckBox1 . Readonly = true ;
}
else
{
CheckBox1 . Readonly = false ;
}
}
protected void CheckBox2_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( CheckBox2 . Checked )
{
DatePicker3 . Enabled = false ;
DatePicker4 . Enabled = false ;
DatePicker3 . Text = "" ;
DatePicker4 . Text = "" ;
}
else
{
DatePicker3 . Enabled = true ;
DatePicker4 . Enabled = true ;
}
}
protected void DatePicker3_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker3 . SelectedDate . HasValue | | DatePicker4 . SelectedDate . HasValue )
{
CheckBox2 . Readonly = true ;
}
else
{
CheckBox2 . Readonly = false ;
}
}
protected void DatePicker4_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker3 . SelectedDate . HasValue | | DatePicker4 . SelectedDate . HasValue )
{
CheckBox2 . Readonly = true ;
}
else
{
CheckBox2 . Readonly = false ;
}
}
protected void CheckBox3_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( CheckBox3 . Checked )
{
DatePicker5 . Enabled = false ;
DatePicker6 . Enabled = false ;
DatePicker5 . Text = "" ;
DatePicker6 . Text = "" ;
}
else
{
DatePicker5 . Enabled = true ;
DatePicker6 . Enabled = true ;
}
}
protected void DatePicker5_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker5 . SelectedDate . HasValue | | DatePicker6 . SelectedDate . HasValue )
{
CheckBox3 . Readonly = true ;
}
else
{
CheckBox3 . Readonly = false ;
}
}
protected void DatePicker6_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker5 . SelectedDate . HasValue | | DatePicker6 . SelectedDate . HasValue )
{
CheckBox3 . Readonly = true ;
}
else
{
CheckBox3 . Readonly = false ;
}
}
protected void CheckBox4_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( CheckBox4 . Checked )
{
DatePicker7 . Enabled = false ;
DatePicker8 . Enabled = false ;
DatePicker7 . Text = "" ;
DatePicker8 . Text = "" ;
}
else
{
DatePicker7 . Enabled = true ;
DatePicker8 . Enabled = true ;
}
}
protected void DatePicker7_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker7 . SelectedDate . HasValue | | DatePicker8 . SelectedDate . HasValue )
{
CheckBox4 . Readonly = true ;
}
else
{
CheckBox4 . Readonly = false ;
}
}
protected void DatePicker8_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker7 . SelectedDate . HasValue | | DatePicker8 . SelectedDate . HasValue )
{
CheckBox4 . Readonly = true ;
}
else
{
CheckBox4 . Readonly = false ;
}
}
protected void CheckBox5_CheckedChanged ( object sender , CheckedEventArgs e )
{
if ( CheckBox5 . Checked )
{
DatePicker9 . Enabled = false ;
DatePicker9 . Text = "" ;
}
else
{
DatePicker9 . Enabled = true ;
}
}
protected void DatePicker9_TextChanged ( object sender , EventArgs e )
{
if ( DatePicker9 . SelectedDate . HasValue )
{
CheckBox5 . Readonly = true ;
}
else
{
CheckBox5 . Readonly = false ;
}
}
}
}