protected void btnDelete_Click(object sender, EventArgs e) { Template_Workflow WorkflowTemplateManager = new Template_Workflow(); WorkflowTemplateManager.DeleteWorkflowTemplate(this.iWorkflowTemplateID); // success this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Delete workflow template successfully.');window.parent.location.href='WorkflowTemplateList.aspx';", true); }
private void SetControlsReadyonly() { this.tbxTemplateName.ReadOnly = true; this.tbxTaskName.ReadOnly = false; this.tbxDescription.ReadOnly = false; this.tbxDueDaysByDate.ReadOnly = false; this.tbxDueDaysByTask.ReadOnly = false; this.tbxDaysDueAfterCreationDate.ReadOnly = false; this.ddlStage.Enabled = true; this.ddlOwner.Enabled = true; this.ddlPrerequisiteTask.Enabled = true; //this.ddlCompletionEmail.Enabled = true; this.ddlOverdueEmail.Enabled = true; this.ddlWarningEmail.Enabled = true; this.chkEnable.Enabled = true; this.chkExternalViewing.Enabled = true; if (this.iTaskID == 0) { this.btnDelete.Enabled = false; } else { this.btnDelete.Enabled = true; } this.btnDelete.Visible = true; this.btnSave.Visible = true; Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow tempModel = new Model.Template_Workflow(); tempModel = templateMgr.GetModel(this.iTemplateID); this.hdnCustomTemplate.Value = tempModel.Custom.ToString(); if (tempModel.Custom == false) { this.tbxTemplateName.Enabled = false; this.tbxTaskName.Enabled = false; this.tbxDescription.Enabled = false; this.tbxDueDaysByDate.Enabled = false; this.tbxDueDaysByTask.Enabled = false; this.tbxDaysDueAfterCreationDate.Enabled = false; this.ddlStage.Enabled = false; this.ddlOwner.Enabled = false; this.ddlPrerequisiteTask.Enabled = false; //this.ddlCompletionEmail.Enabled = false; this.ddlOverdueEmail.Enabled = false; this.ddlWarningEmail.Enabled = false; this.chkEnable.Enabled = false; this.chkExternalViewing.Enabled = false; this.btnSave.Enabled = false; this.btnDelete.Enabled = false; } }
protected void btnDelete_Click(object sender, EventArgs e) { string TWFIDs = hdnTmpIDs.Value; if (TWFIDs.Length <= 0) { return; } string[] templIdList; try { templIdList = TWFIDs.Split(','); if (templIdList.Length <= 0) { return; } int wflTemplId = 0; BLL.Template_Workflow tw = new Template_Workflow(); foreach (string tempId in templIdList) { try { wflTemplId = 0; int.TryParse(tempId, out wflTemplId); if (wflTemplId > 0) { tw.WorkflowTemplateDelete(wflTemplId); } } catch (Exception ex) { } } BindTemplatesGrid(); } catch { } finally { hdnTmpIDs.Value = string.Empty; } }
protected void Page_Load(object sender, EventArgs e) { #region 校验必要参数 // WorkflowTemplateID bool bIsValid = PageCommon.ValidateQueryString(this, "WorkflowTemplateID", QueryStringType.ID); if (bIsValid == false) { PageCommon.WriteJsEnd(this, "Missing required query string.", "window.parent.location.href=window.parent.location.href"); } this.iWorkflowTemplateID = Convert.ToInt32(this.Request.QueryString["WorkflowTemplateID"]); #endregion if (Request.Url != null) { FromURL = Request.Url.ToString(); } Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region 加载Workflow Template信息 DataTable WorkflowTemplateInfo = WorkflowTemplateManager.GetWorkflowTemplateInfo(this.iWorkflowTemplateID); if (WorkflowTemplateInfo.Rows.Count == 0) { PageCommon.WriteJsEnd(this, "Invalid required query string.", "window.parent.location.href=window.parent.location.href"); } #endregion // is custom this.hdnIsCustom.Text = WorkflowTemplateInfo.Rows[0]["Custom"].ToString(); this.gWorkflowType = WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString(); // __doPostBack this.GetPostBackEventReference(this.btnSave); if (this.IsPostBack == false) { #region build ddlSeq options StringBuilder sbSeqOptions = new StringBuilder(); for (int i = 0; i < 999; i++) { int iSeq = i + 1; sbSeqOptions.AppendLine("<option value=\"" + iSeq + "\">" + iSeq + "</option>"); } this.ltrSeqOptions.Text = sbSeqOptions.ToString(); #endregion #region 加载Stage Template List Template_Stages StageTemplateManager = new Template_Stages(); // Processing and Prospect DataTable StageTemplateList = StageTemplateManager.GetStageTemplateList(" and [Enabled]=1"); this.ddlStageTemplateList.DataSource = StageTemplateList; this.ddlStageTemplateList.DataBind(); // Processing DataView StageTemplateListView1 = new DataView(StageTemplateList); StageTemplateListView1.RowFilter = "WorkflowType='Processing'"; this.StageTemplateList1 = this.AddSelectStageRow(StageTemplateListView1.ToTable()); this.ddlStageProcessing.DataSource = StageTemplateList1; this.ddlStageProcessing.DataBind(); // Prospect DataView StageTemplateListView2 = new DataView(StageTemplateList); StageTemplateListView2.RowFilter = "WorkflowType='Prospect'"; this.StageTemplateList2 = this.AddSelectStageRow(StageTemplateListView2.ToTable()); this.ddlStageProspect.DataSource = StageTemplateList2; this.ddlStageProspect.DataBind(); #endregion #region 绑定数据 if (WorkflowTemplateInfo.Rows[0]["Name"] == DBNull.Value) { this.txtWorkflowTemplate.Text = ""; } else { this.txtWorkflowTemplate.Text = WorkflowTemplateInfo.Rows[0]["Name"].ToString(); } if ((WorkflowTemplateInfo.Rows[0]["WorkflowType"] == DBNull.Value) || (WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString() == "")) { this.ddlWorkflowType.SelectedValue = "Processing"; } else { //this.ddlWorkflowType.SelectedValue = WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString(); if (WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString().ToUpper() == "PROCESSING") { this.ddlWorkflowType.SelectedValue = "Processing"; } if (WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString().ToUpper() == "PROSPECT") { this.ddlWorkflowType.SelectedValue = "Prospect"; } } if (WorkflowTemplateInfo.Rows[0]["Desc"] != DBNull.Value) { this.txtDesc.Text = WorkflowTemplateInfo.Rows[0]["Desc"].ToString(); } if (WorkflowTemplateInfo.Rows[0]["Enabled"] == DBNull.Value) { this.chkEnabled.Checked = false; } else { this.chkEnabled.Checked = Convert.ToBoolean(WorkflowTemplateInfo.Rows[0]["Enabled"]); } // cr47 if (this.chkEnabled.Checked == true) { this.btnRegen.Disabled = false; } else { this.btnRegen.Disabled = true; } if (WorkflowTemplateInfo.Rows[0]["CalculationMethod"] == DBNull.Value) { this.ddlCalcDueDateMethod.SelectedValue = "Est Close Date"; } else if (WorkflowTemplateInfo.Rows[0]["CalculationMethod"].ToString() == "1") { this.ddlCalcDueDateMethod.SelectedValue = "Est Close Date"; } else if (WorkflowTemplateInfo.Rows[0]["CalculationMethod"].ToString() == "2") { this.ddlCalcDueDateMethod.SelectedValue = "Creation Date"; } else { this.ddlCalcDueDateMethod.SelectedValue = "Completion Date of the previous Stage"; } //this.ddlCalcDueDateMethod.SelectedValue = WorkflowTemplateInfo.Rows[0]["CalculationMethod"].ToString() == "1" ? "Est Close Date" : "Creation Date"; if (WorkflowTemplateInfo.Rows[0]["Default"] == DBNull.Value) { this.chkDefault.Checked = false; } else { this.chkDefault.Checked = Convert.ToBoolean(WorkflowTemplateInfo.Rows[0]["Default"]); } #endregion #region 加载Workflow Stage List DataTable WflStageListData = WorkflowTemplateManager.GetWflStageList(this.iWorkflowTemplateID); this.gridStageList.DataSource = WflStageListData; this.gridStageList.DataBind(); #endregion // set counter this.hdnCounter.Value = WflStageListData.Rows.Count.ToString(); } }
protected void btnSave_Click(object sender, EventArgs e) { string sWorkflowTemplagteName = this.txtWorkflowTemplate.Text.Trim(); string sWorkflowType = this.ddlWorkflowType.SelectedValue; bool bEnabled = this.chkEnabled.Checked; string sDesc = this.txtDesc.Text.Trim(); string sCalcDueDateMethod = this.ddlCalcDueDateMethod.SelectedValue; bool bDefault = this.chkDefault.Checked; #region get stage data string sWflStageIDs = this.hdnWflStageIDs.Text; string sSequences = this.hdnSequences.Text; string sStageTempIDs = this.hdnStageTemplateIDs.Text; string sStageNames = this.hdnStageNames.Text; // Open$Submit$Approve string sEnableds = this.hdnEnableds.Text; string sDaysFromEstCloseDates = this.hdnDaysFromEstCloseDates.Text; string sDaysAfterCreationDates = this.hdnDaysAfterCreationDates.Text; string sRemovedStageIDs = this.hdnRemovedStageIDs.Text; #endregion Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region build stage list DataTable StageList = WorkflowTemplateManager.GetWflStageList(" and (1=0)"); if (sWflStageIDs != string.Empty) { string[] WflStageIDArray = sWflStageIDs.Split(','); string[] SequenceArray = sSequences.Split(','); string[] StageTempIDArray = sStageTempIDs.Split(','); string[] StageNameArray = sStageNames.Split(','); string[] EnabledArray = sEnableds.Split(','); string[] DaysFromEstCloseDateArray = sDaysFromEstCloseDates.Split(','); string[] DaysAfterCreationDateArray = sDaysAfterCreationDates.Split(','); for (int i = 0; i < WflStageIDArray.Length; i++) { string sWflStageID = WflStageIDArray[i]; int iWflStageID = Convert.ToInt32(sWflStageID); string sSequence = SequenceArray[i]; string sStageTempID = StageTempIDArray[i]; string sStageNameBlock = StageNameArray[i]; string sEnabled = EnabledArray[i]; string sDaysFromEstCloseDate = DaysFromEstCloseDateArray[i]; string sDaysAfterCreationDate = DaysAfterCreationDateArray[i]; #region format StageName string sStageName = sStageNameBlock.Replace("[$", string.Empty); sStageName = sStageName.Replace("$]", string.Empty); #endregion #region Get stage calcDueDateMethod BLL.Template_Wfl_Stages twsMgr = new Template_Wfl_Stages(); Model.Template_Wfl_Stages twsModel = twsMgr.GetModel(iWflStageID); string sCalcMethod = ""; if (twsModel != null) { sCalcMethod = twsModel.CalculationMethod.Value.ToString(); } int iCalcMethod = 1; //if (sCalcMethod == "" || sCalcMethod == "0") //{ // if (sCalcDueDateMethod == "Creation Date") // { // sCalcMethod = "2"; // } // else // { // sCalcMethod = "1"; // } //} if (sCalcDueDateMethod == "Est Close Date") { sCalcMethod = "1"; } else if (sCalcDueDateMethod == "Creation Date") { sCalcMethod = "2"; } else { sCalcMethod = "3"; } iCalcMethod = int.Parse(sCalcMethod); #endregion #region add rows DataRow StageRow = StageList.NewRow(); StageRow["WflStageId"] = iWflStageID; StageRow["WflTemplId"] = this.iWorkflowTemplateID; StageRow["Name"] = sStageName; StageRow["SequenceNumber"] = Convert.ToInt16(sSequence); StageRow["Enabled"] = Convert.ToBoolean(sEnabled); //if (iCalcMethod == 1) //{ if (sDaysFromEstCloseDate == "null") { StageRow["DaysFromEstClose"] = DBNull.Value; } else { StageRow["DaysFromEstClose"] = Convert.ToInt16(sDaysFromEstCloseDate); } //StageRow["DaysFromCreation"] = DBNull.Value; StageRow["CalculationMethod"] = iCalcMethod; //} //else //{ //StageRow["DaysFromEstClose"] = DBNull.Value; if (sDaysAfterCreationDate == "null") { StageRow["DaysFromCreation"] = DBNull.Value; } else { StageRow["DaysFromCreation"] = Convert.ToInt16(sDaysAfterCreationDate); } //StageRow["CalculationMethod"] = iCalcMethod; // } StageRow["TemplStageId"] = sStageTempID; StageList.Rows.Add(StageRow); if (iWflStageID > 0) { StageRow.AcceptChanges(); StageRow.SetModified(); } #endregion } } #endregion sWorkflowType = this.gWorkflowType; // update WorkflowTemplateManager.UpdateWorkflowTemplate(this.iWorkflowTemplateID, sWorkflowTemplagteName, bEnabled, sDesc, sWorkflowType, bDefault, sCalcDueDateMethod, StageList, sRemovedStageIDs); // success this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Update workflow template successfully.');window.parent.location.href=window.parent.location.href;", true); }
protected void btnSave_Click(object sender, EventArgs e) { string sWorkflowTemplagteName = this.txtWorkflowTemplate.Text.Trim(); string sWorkflowType = this.ddlWorkflowType.SelectedValue; string sDesc = this.txtDesc.Text.Trim(); string sCalcDueDateMethod = this.ddlCalcDueDateMethod.SelectedValue; bool bDefault = this.chkDefault.Checked; #region get stage data string sSequences = this.hdnSequences.Text; string sStageTempIDs = this.hdnStageIDs.Text; string sStageNames = this.hdnStageNames.Text; // Open$Submit$Approve string sEnableds = this.hdnEnableds.Text; string sDaysFromEstCloseDates = this.hdnDaysFromEstCloseDates.Text; string sDaysAfterCreationDates = this.hdnDaysAfterCreationDates.Text; #endregion Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region build stage list DataTable StageList = WorkflowTemplateManager.GetWflStageList(" and (1=0)"); if (sSequences != string.Empty) { string[] SequenceArray = sSequences.Split(','); string[] StageTempIDArray = sStageTempIDs.Split(','); string[] StageNameArray = sStageNames.Split(','); string[] EnabledArray = sEnableds.Split(','); string[] DaysFromEstCloseDateArray = sDaysFromEstCloseDates.Split(','); string[] DaysAfterCreationDateArray = sDaysAfterCreationDates.Split(','); for (int i = 0; i < SequenceArray.Length; i++) { string sSequence = SequenceArray[i]; string sStageTempID = StageTempIDArray[i]; string sStageNameBlock = StageNameArray[i]; string sEnabled = EnabledArray[i]; string sDaysFromEstCloseDate = DaysFromEstCloseDateArray[i]; string sDaysAfterCreationDate = DaysAfterCreationDateArray[i]; #region format StageName string sStageName = sStageNameBlock.Replace("[$", string.Empty); sStageName = sStageName.Replace("$]", string.Empty); #endregion #region add rows DataRow StageRow = StageList.NewRow(); StageRow["WflStageId"] = 0; StageRow["WflTemplId"] = 0; StageRow["Name"] = sStageName; StageRow["SequenceNumber"] = Convert.ToInt16(sSequence); StageRow["Enabled"] = Convert.ToBoolean(sEnabled); if (sCalcDueDateMethod == "Est Close Date") { if (sDaysFromEstCloseDate == "null") { StageRow["DaysFromEstClose"] = DBNull.Value; } else { StageRow["DaysFromEstClose"] = Convert.ToInt16(sDaysFromEstCloseDate); } StageRow["DaysFromCreation"] = DBNull.Value; StageRow["CalculationMethod"] = 1; } else { StageRow["DaysFromEstClose"] = DBNull.Value; if (sDaysAfterCreationDate == "null") { StageRow["DaysFromCreation"] = DBNull.Value; } else { StageRow["DaysFromCreation"] = Convert.ToInt16(sDaysAfterCreationDate); } StageRow["CalculationMethod"] = 2; } StageRow["TemplStageId"] = sStageTempID; StageList.Rows.Add(StageRow); #endregion } } #endregion // insert WorkflowTemplateManager.InsertWorkflowTemplate(sWorkflowTemplagteName, true, sDesc, sWorkflowType, bDefault, sCalcDueDateMethod, StageList); // success this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Create workflow template successfully.');window.location.href='WorkflowTemplateList.aspx';", true); }
private LPWeb.Model.Template_Wfl_Tasks SetTaskModel() { Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow tempModel = new Model.Template_Workflow(); tempModel = templateMgr.GetModel(this.iTemplateID); Template_Wfl_Stages wflStageMgr = new Template_Wfl_Stages(); LPWeb.Model.Template_Wfl_Stages stageModel = new Model.Template_Wfl_Stages(); this.iCalculationMethod = tempModel.CalculationMethod; if (this.iStageID != 0) { stageModel = wflStageMgr.GetModel(this.iStageID); if (stageModel.CalculationMethod.ToString() != "" && stageModel.CalculationMethod.ToString() != "0") { iCalculationMethod = int.Parse(stageModel.CalculationMethod.ToString()); } } LPWeb.Model.Template_Wfl_Tasks reModel = new Model.Template_Wfl_Tasks(); reModel.TemplTaskId = 0; reModel.WflStageId = 0; reModel.Type = 1; if (this.iTaskID != 0) { reModel = this.taskTmpMgr.GetModel(this.iTaskID); //reModel.TemplTaskId = this.iTaskID; } else { reModel.Enabled = true; } reModel.TemplTaskId = Convert.ToInt32(this.hdnTaskID.Value); reModel.Name = this.tbxTaskName.Text.Trim(); reModel.Description = this.tbxDescription.Text.Trim(); if (chkEnable.Checked) { reModel.Enabled = true; } else { reModel.Enabled = false; } if (chkExternalViewing.Checked) { reModel.ExternalViewing = true; } else { reModel.ExternalViewing = false; } if (this.ddlStage.SelectedIndex >= 0) { reModel.WflStageId = Convert.ToInt32(this.ddlStage.SelectedValue); } else { reModel.WflStageId = 0; } if (this.ddlOwner.SelectedIndex >= 0) { reModel.OwnerRoleId = Convert.ToInt32(this.ddlOwner.SelectedValue); } else { reModel.OwnerRoleId = 0; } int iDays = 0; if (this.ddlPrerequisiteTask.SelectedIndex > 0) { reModel.DaysDueFromCoe = null; reModel.DaysFromCreation = null; reModel.PrerequisiteTaskId = Convert.ToInt32(this.ddlPrerequisiteTask.SelectedValue); if (this.tbxDueDaysByTask.Text.Trim() != "" && Int32.TryParse(this.tbxDueDaysByTask.Text, out iDays)) { reModel.DaysDueAfterPrerequisite = iDays; } else { reModel.DaysDueAfterPrerequisite = 0; } } else { reModel.PrerequisiteTaskId = 0; reModel.DaysDueAfterPrerequisite = null; if (this.iCalculationMethod == 1) { if (this.tbxDueDaysByDate.Text.Trim() != "" && Int32.TryParse(this.tbxDueDaysByDate.Text, out iDays)) { reModel.DaysDueFromCoe = iDays; reModel.DaysFromCreation = null; } else { reModel.DaysDueFromCoe = null; } if (this.tbxDaysDueAfterCreationDate.Text.Trim() != "" && Int32.TryParse(this.tbxDaysDueAfterCreationDate.Text, out iDays) && reModel.DaysDueFromCoe == null) { reModel.DaysFromCreation = iDays; } else { reModel.DaysFromCreation = null; } } if (this.iCalculationMethod == 2) { if (this.tbxDaysDueAfterCreationDate.Text.Trim() != "" && Int32.TryParse(this.tbxDaysDueAfterCreationDate.Text, out iDays)) { reModel.DaysFromCreation = iDays; reModel.DaysDueFromCoe = null; } else { reModel.DaysFromCreation = null; } if (this.tbxDueDaysByDate.Text.Trim() != "" && Int32.TryParse(this.tbxDueDaysByDate.Text, out iDays) && reModel.DaysFromCreation == null) { reModel.DaysDueFromCoe = iDays; } else { reModel.DaysDueFromCoe = null; } } } //if (this.ddlCompletionEmail.SelectedIndex >= 0) //{ // reModel.CompletionEmailId = Convert.ToInt32(this.ddlCompletionEmail.SelectedValue); //} //else //{ // reModel.CompletionEmailId = null; //} if (this.ddlOverdueEmail.SelectedIndex >= 0) { reModel.OverdueEmailId = Convert.ToInt32(this.ddlOverdueEmail.SelectedValue); } else { reModel.OverdueEmailId = null; } if (this.ddlWarningEmail.SelectedIndex >= 0) { reModel.WarningEmailId = Convert.ToInt32(this.ddlWarningEmail.SelectedValue); } else { reModel.WarningEmailId = null; } return(reModel); }
protected void Page_Load(object sender, EventArgs e) { #region 校验必要参数 // from if (this.Request.QueryString["from"] == null) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Missing3", "$('#divContainer').hide();alert('Missing required query string.');window.parent.location.href='WorkflowTemplateList.aspx');", true); return; } else { this.sFrom = this.Request.QueryString["from"]; } bool bIsValid = PageCommon.ValidateQueryString(this, "WflStageID", QueryStringType.ID); if (bIsValid == false) { string sWflStageID = this.Request.QueryString["WflStageID"].ToString(); if (sWflStageID != "0") { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Missing1", "$('#divContainer').hide();alert('Missing required query string.');window.parent.location.href='" + this.sFrom + "';", true); return; } } this.iWflStageID = Convert.ToInt32(this.Request.QueryString["WflStageID"]); bIsValid = PageCommon.ValidateQueryString(this, "WorkflowTemplateID", QueryStringType.ID); if (bIsValid == false) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Missing2", "$('#divContainer').hide();alert('Missing required query string.');window.parent.location.href='" + this.sFrom + "';", true); return; } this.iWorkflowTemplateID = Convert.ToInt32(this.Request.QueryString["WorkflowTemplateID"]); if (this.Request.QueryString["PageIndex"] != null) // PageIndex { try { PageIndex = int.Parse(this.Request.QueryString["PageIndex"].ToString()); } catch { PageIndex = 1; } } else { PageIndex = AspNetPager1.CurrentPageIndex; } #endregion Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region 加载Workflow Stage信息 DataTable WflStageInfo = null; if (this.iWflStageID > 0) { WflStageInfo = WorkflowTemplateManager.GetWflStageInfo(this.iWflStageID); if (WflStageInfo.Rows.Count == 0) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Invalid1", "$('#divContainer').hide();alert('Invalid required query string.');window.parent..location.href='" + this.sFrom + "';", true); return; } } #endregion #region 加载Workflow Template信息 DataTable WorkflowTemplateInfo = WorkflowTemplateManager.GetWorkflowTemplateInfo(this.iWorkflowTemplateID); if (WorkflowTemplateInfo.Rows.Count == 0) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Invalid2", "$('#divContainer').hide();alert('Invalid required query string.');window.parent..location.href='" + this.sFrom + "';", true); return; } string sWorkflowTemplate = WorkflowTemplateInfo.Rows[0]["Name"].ToString(); string sWorkflowType = WorkflowTemplateInfo.Rows[0]["WorkflowType"].ToString(); string sCalcMethod = WorkflowTemplateInfo.Rows[0]["CalculationMethod"].ToString(); this.lbWorkflowTemplate.Text = sWorkflowTemplate; this.lbWorkflowType.Text = sWorkflowType; #endregion #region 加载Workflow Task List Template_Stages StageTemplateManager = new Template_Stages(); string sSql = string.Empty; string sOrderName = string.Empty; if (this.iWflStageID == 0) // // All Stages { //sSql = "select top(10) a.*, b.Name as PrerequisiteTask, c.Name as StageName, case when a.Enabled=1 then 'Yes' else 'No' end as TaskEnabled " // + "from Template_Wfl_Tasks as a left join Template_Wfl_Tasks as b on a.PrerequisiteTaskId = b.TemplTaskId " // + "inner join Template_Wfl_Stages as c on a.WflStageId = c.WflStageId " // + "where a.WflStageId in (select WflStageId from Template_Wfl_Stages where WflTemplId=" + this.iWorkflowTemplateID + ")"; sSql = " AND WflTemplId='" + this.iWorkflowTemplateID + "'"; sOrderName = "StageName"; } else { //sSql = "select top(10) a.*, b.Name as PrerequisiteTask, c.Name as StageName, case when a.Enabled=1 then 'Yes' else 'No' end as TaskEnabled " // + "from Template_Wfl_Tasks as a left join Template_Wfl_Tasks as b on a.PrerequisiteTaskId = b.TemplTaskId " // + "inner join Template_Wfl_Stages as c on a.WflStageId = c.WflStageId " // + "where a.WflStageId=" + this.iWflStageID; sSql = " AND WflStageId='" + this.iWflStageID + "'"; sOrderName = "SequenceNumber"; } int pageSize = AspNetPager1.PageSize; int pageIndex = PageIndex; int recordCount = 0; //DataTable TaskListData = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSql); LPWeb.BLL.Template_Wfl_Tasks tBLL = new Template_Wfl_Tasks(); DataSet TaskListData = tBLL.GetWorkflowStageTasks(pageSize, pageIndex, sOrderName, sSql, out recordCount); AspNetPager1.PageSize = pageSize; AspNetPager1.RecordCount = recordCount; this.gridWorkflowTaskList.DataSource = TaskListData; this.gridWorkflowTaskList.DataBind(); #endregion if (this.IsPostBack == false) { #region 加载Workflow Stage List DataTable WflStageListData = WorkflowTemplateManager.GetWflStageList(this.iWorkflowTemplateID); DataRow NewStageRow = WflStageListData.NewRow(); NewStageRow["TemplStageId"] = DBNull.Value; NewStageRow["Name"] = "All Stages"; WflStageListData.Rows.InsertAt(NewStageRow, 0); this.ddlStage.DataSource = WflStageListData; this.ddlStage.DataBind(); #endregion #region 绑定数据 if (this.iWflStageID == 0) // All Stages { } else { this.ddlStage.SelectedValue = this.iWflStageID.ToString(); this.chkEnabled.Checked = Convert.ToBoolean(WflStageInfo.Rows[0]["Enabled"]); this.txtSeq.Text = WflStageInfo.Rows[0]["SequenceNumber"].ToString(); if (WflStageInfo.Rows[0]["CalculationMethod"].ToString() != "" && WflStageInfo.Rows[0]["CalculationMethod"].ToString() != "0") { sCalcMethod = WflStageInfo.Rows[0]["CalculationMethod"].ToString(); } if (sCalcMethod != "3") { if (sCalcMethod != "" && sCalcMethod != "0") { this.hdnCalcDueDateMethod.Value = sCalcMethod == "1" ? "Est Close Date" : "Creation Date"; //this.ddlCalcDueDateMethod.SelectedValue = sCalcMethod == "1" ? "Est Close Date" : "Creation Date"; } if (sCalcMethod == "1") { this.txtDaysFromEstClose.Text = WflStageInfo.Rows[0]["DaysFromEstClose"].ToString(); this.txtDaysFromEstClose.Enabled = true; this.txtDaysAfterCreation.Enabled = false; } else { this.txtDaysFromEstClose.Enabled = false; this.txtDaysAfterCreation.Text = WflStageInfo.Rows[0]["DaysFromCreation"].ToString(); this.txtDaysAfterCreation.Enabled = true; } } else { this.hdnCalcDueDateMethod.Value = "Completion Date of the previous Stage"; } } #endregion } Template_Wfl_Stages tempWflStages = new Template_Wfl_Stages(); this.hdnMinStagesSeq.Value = tempWflStages.GetMinStageSeqNumByWflTempID(this.iWorkflowTemplateID).ToString(); this.hdnSecStagesSeq.Value = tempWflStages.GetSecStageSeqNumByWflTempID(this.iWorkflowTemplateID).ToString(); }
private void BindDropdownList() { object obj = LPWeb.DAL.DbHelperSQL.GetSingle("Select [Status] from Loans where FileId=" + CurrentFileId); sLoanStatus = obj == null ? string.Empty : obj.ToString().ToUpper().Trim(); //add by shawn ,for prospect string strWhere = " Enabled=1 "; if (sLoanStatus == "PROCESSING") { strWhere += " AND WorkflowType = 'Processing' "; } else if (sLoanStatus == "PROSPECT") { strWhere += " AND WorkflowType = 'Prospect' "; } DataSet dsWflTemps = new Template_Workflow().GetList(strWhere); ddlWfTemps.DataTextField = "Name"; ddlWfTemps.DataValueField = "WflTemplId"; ddlWfTemps.DataSource = dsWflTemps; ddlWfTemps.DataBind(); ddlWfTemps.Items.Insert(0, new ListItem("— select a workflow template –", "-1")); var models = bllWflTemp.GetModelList(string.Format("FileId={0}", CurrentFileId)); lblWflTemplApplied.Text = string.Empty; lblWflAppliedDate.Text = string.Empty; lblWflAppliedBy.Text = string.Empty; if (models == null || models.Count == 0) { ddlWfTemps.Items[0].Selected = true; return; } if (models[0].WflTemplId > 0) { object ob1 = LPWeb.DAL.DbHelperSQL.GetSingle(string.Format("Select [Name] from Template_Workflow where WflTemplId={0} ", models[0].WflTemplId)); lblWflTemplApplied.Text = ob1 == null ? string.Empty : ob1.ToString(); } lblWflAppliedDate.Text = models[0].ApplyDate == DateTime.MinValue ? string.Empty : models[0].ApplyDate.ToString(); if (models[0].ApplyBy > 0) { object ob = LPWeb.DAL.DbHelperSQL.GetSingle(string.Format("Select dbo.lpfn_GetUserName({0}) ", models[0].ApplyBy)); lblWflAppliedBy.Text = ob == null ? string.Empty : ob.ToString(); } int idx = 0; foreach (ListItem item in ddlWfTemps.Items) { if (item.Value == models[0].WflTemplId.ToString()) { item.Selected = true; ddlWfTemps.Items[idx].Selected = true; return; } idx = idx + 1; } }
protected void btnSave_Click(object sender, EventArgs e) { int iStageID = Convert.ToInt32(this.ddlStage.SelectedItem.Value); #region Update Loan Stage of Point File DataTable SelectedStageInfo = this.LoanManager.GetLoanStage(" and LoanStageId=" + iStageID); string sStageCompletedDate = SelectedStageInfo.Rows[0]["Completed"].ToString(); if (sStageCompletedDate != string.Empty) { bool bIsSuccess = true; // invoke PointManager.UpdateLoanStage() if (bIsSuccess == false) { PageCommon.AlertMsg(this, "Failed to update status date in Point."); return; } } #endregion LoginUser CurrentUser = new LoginUser(); int iCurrentUserID = CurrentUser.iUserID; string sTaskName = this.txtTaskName.Text.Trim(); int iOwnerID = Convert.ToInt32(this.ddlOwner.SelectedItem.Value); string sDueDate = this.txtDueDate.Text.Trim(); int iPrerequisiteID = Convert.ToInt32(this.ddlPrerequisite.SelectedItem.Value); //Get task template Calculation Method int iCalculationMethod = 0; if (this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "" && this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "0") { LPWeb.BLL.Template_Wfl_Tasks taskTempMgr = new Template_Wfl_Tasks(); LPWeb.Model.Template_Wfl_Tasks taskTempModel = taskTempMgr.GetModel(int.Parse(this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString())); if (taskTempModel != null) { LPWeb.BLL.Template_Wfl_Stages stageWflMgr = new Template_Wfl_Stages(); LPWeb.Model.Template_Wfl_Stages stageModel = stageWflMgr.GetModel(taskTempModel.WflStageId); if (stageModel != null) { LPWeb.BLL.Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow templateModel = templateMgr.GetModel(stageModel.WflTemplId); if (templateModel != null) { iCalculationMethod = templateModel.CalculationMethod; } if (stageModel.CalculationMethod != null && stageModel.CalculationMethod.Value != 0) { iCalculationMethod = stageModel.CalculationMethod.Value; } } } } int iDaysToEstClose = 0; if (this.txtDaysToEst.Text != string.Empty) { if (iCalculationMethod == 2 && this.txtDaysAfterCreation.Text != string.Empty) { iDaysToEstClose = 0; this.txtDaysToEst.Text = ""; } else { iDaysToEstClose = Convert.ToInt32(this.txtDaysToEst.Text); } } int iDaysAfterCreation = 0; if (this.txtDaysAfterCreation.Text != string.Empty) { if (iCalculationMethod == 1 && this.txtDaysToEst.Text != string.Empty) { iDaysAfterCreation = -1; this.txtDaysAfterCreation.Text = ""; } else { iDaysAfterCreation = Convert.ToInt32(this.txtDaysAfterCreation.Text); } } int iDaysDueAfterPre = 0; if (this.txtDaysDueAfter.Text != string.Empty) { iDaysDueAfterPre = Convert.ToInt32(this.txtDaysDueAfter.Text); } //int iDaysDueAfterPrevStage = 0; //if (this.txtDaysDueAfterPrevStage.Text != string.Empty) //{ // iDaysDueAfterPrevStage = Convert.ToInt32(this.txtDaysDueAfterPrevStage.Text.Trim()); //} int iCompletionEmailID = Convert.ToInt32(this.ddlCompletionEmail.SelectedItem.Value); int iWarningEmailID = Convert.ToInt32(this.ddlWarningEmail.SelectedItem.Value); int iOverdueEmailID = Convert.ToInt32(this.ddlOverdueEmail.SelectedItem.Value); // 原Loan Stage ID int iOldStageID = Convert.ToInt32(this.LoanTaskInfo.Rows[0]["LoanStageId"]); #region 检查任务名称重复 if (string.IsNullOrEmpty(sTaskName) || sTaskName.Trim() == string.Empty) { PageCommon.AlertMsg(this, "The task name cannot be blank."); return; } bool bIsExist = this.LoanTaskManager.IsLoanTaskExists_Update(this.iLoanID, this.iTaskID, sTaskName); if (bIsExist == true) { PageCommon.AlertMsg(this, "The task name is already taken."); return; } LPWeb.Model.LoanTasks taskModel = new LPWeb.Model.LoanTasks(); taskModel.LoanTaskId = iTaskID; taskModel.Name = sTaskName.Trim(); taskModel.LoanStageId = iStageID; if (iStageID == iOldStageID || iOldStageID <= 0) { taskModel.OldLoanStageId = 0; } else { taskModel.OldLoanStageId = iOldStageID; } taskModel.Owner = iOwnerID; taskModel.ModifiedBy = iCurrentUserID; taskModel.LastModified = DateTime.Now; taskModel.FileId = iLoanID; if (string.IsNullOrEmpty(sDueDate)) { taskModel.Due = DateTime.MinValue; } else { taskModel.Due = DateTime.Parse(sDueDate); } taskModel.DaysDueFromEstClose = (short)iDaysToEstClose; taskModel.DaysFromCreation = (short)iDaysAfterCreation; taskModel.PrerequisiteTaskId = iPrerequisiteID; taskModel.DaysDueAfterPrerequisite = (short)iDaysDueAfterPre; taskModel.CompletionEmailId = iCompletionEmailID; taskModel.WarningEmailId = iWarningEmailID; taskModel.OverdueEmailId = iOverdueEmailID; taskModel.ExternalViewing = chbExternalViewing.Checked; //taskModel.DaysDueAfterPrevStage = (short)iDaysDueAfterPrevStage; #endregion // update //bool bIsSuccess1 = this.LoanTaskManager.UpdateLoanTask(this.iTaskID, sTaskName, sDueDate, iCurrentUserID, iOwnerID, iStageID, iPrerequisiteID, iDaysToEstClose, iDaysDueAfterPre, iWarningEmailID, iOverdueEmailID, iCompletionEmailID, iOldStageID); // we need to invoke Workflow Manager UpdateTask in order to set up everything correctly! //bool bIsSuccess1 = LPWeb.BLL.WorkflowManager.UpdateTask(this.iTaskID, sTaskName, sDueDate, iCurrentUserID, iOwnerID, iStageID, iPrerequisiteID, iDaysToEstClose, iDaysDueAfterPre, iWarningEmailID, iOverdueEmailID, iCompletionEmailID, iOldStageID); bool bIsSuccess1 = LPWeb.BLL.WorkflowManager.UpdateTask(taskModel, this.txtDaysToEst.Text.Trim(), this.txtDaysAfterCreation.Text.Trim(), this.txtDaysDueAfter.Text.Trim(), this.txtDaysDueAfterPrevStage.Text.Trim()); if (bIsSuccess1 == true) { SaveCompletetionEmails(iTaskID); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Saved successfully.');window.parent.RefreshPage();", true); } else { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Failed", "$('#divContainer').hide();alert('Failed to save the record.');window.parent.RefreshPage();", true); } }
protected void Page_Load(object sender, EventArgs e) { string sErrorJs = "window.parent.CloseDialog_EditTask();"; #region 检查必要参数 bool bIsValid = PageCommon.ValidateQueryString(this, "LoanID", QueryStringType.ID); if (bIsValid == false) { PageCommon.RegisterJsMsg(this, "Missing required query string.", sErrorJs); return; } this.iLoanID = Convert.ToInt32(this.Request.QueryString["LoanID"]); bIsValid = PageCommon.ValidateQueryString(this, "TaskID", QueryStringType.ID); if (bIsValid == false) { PageCommon.RegisterJsMsg(this, "Missing required query string.", sErrorJs); return; } this.iTaskID = Convert.ToInt32(this.Request.QueryString["TaskID"]); #endregion // server now this.hdnNow.Value = DateTime.Now.ToString("MM/dd/yyyy"); // task icon this.imgTaskIcon.ImageUrl = "../images/task/" + WorkflowManager.GetTaskIcon(this.iTaskID); #region 加载Loan Task信息 this.LoanTaskInfo = this.LoanTaskManager.GetLoanTaskInfo(this.iTaskID); if (this.LoanTaskInfo.Rows.Count == 0) { PageCommon.RegisterJsMsg(this, "Invalid required query string.", sErrorJs); return; } #endregion #region 检查是否是Prerequisite(is a father?) bool bIsPrerequisite = this.LoanTaskManager.IsPrerequisite(this.iTaskID); this.hndIsPrerequisite.Value = bIsPrerequisite.ToString(); #endregion #region 获取Borrower和Property信息 #region Property DataTable LoanInfo = this.LoanManager.GetLoanInfo(this.iLoanID); if (LoanInfo.Rows.Count == 0) { PageCommon.RegisterJsMsg(this, "Invalid required query string.", sErrorJs); return; } string sPropertyAddress = LoanInfo.Rows[0]["PropertyAddr"].ToString(); string sPropertyCity = LoanInfo.Rows[0]["PropertyCity"].ToString(); string sPropertyState = LoanInfo.Rows[0]["PropertyState"].ToString(); string sPropertyZip = LoanInfo.Rows[0]["PropertyZip"].ToString(); string sProperty = sPropertyAddress + ", " + sPropertyCity + ", " + sPropertyState + " " + sPropertyZip; // 存储Loan.EstCloseDate if (LoanInfo.Rows[0]["EstCloseDate"] != DBNull.Value) { this.hdnEstCloseDate.Value = Convert.ToDateTime(LoanInfo.Rows[0]["EstCloseDate"]).ToString("MM/dd/yyyy"); } #endregion #region Borrower DataTable BorrowerInfo = this.LoanManager.GetBorrowerInfo(this.iLoanID); if (BorrowerInfo.Rows.Count == 0) { PageCommon.RegisterJsMsg(this, "There is no Borrower in this loan.", sErrorJs); return; } string sFirstName = BorrowerInfo.Rows[0]["FirstName"].ToString(); string sMiddleName = BorrowerInfo.Rows[0]["MiddleName"].ToString(); string sLastName = BorrowerInfo.Rows[0]["LastName"].ToString(); string sBorrower = sLastName + ", " + sFirstName; if (sMiddleName != string.Empty) { sBorrower += " " + sMiddleName; } this.lbProperty.Text = sProperty; this.lbBorrower.Text = sBorrower; #endregion #endregion if (this.IsPostBack == false) { #region 加载Stage DataTable LoanStages = this.LoanManager.GetLoanStages(this.iLoanID); this.ddlStage.DataSource = LoanStages; this.ddlStage.DataBind(); this.ddlStage2.DataSource = LoanStages; this.ddlStage2.DataBind(); #endregion #region 加载Owner DataTable OwnerList = this.LoanTaskManager.GetLoanTaskOwers(this.iLoanID); DataRow EmptyOwnerRow = OwnerList.NewRow(); EmptyOwnerRow["UserID"] = 0; EmptyOwnerRow["FullName"] = "-- select a task owner--"; OwnerList.Rows.InsertAt(EmptyOwnerRow, 0); this.ddlOwner.DataSource = OwnerList; this.ddlOwner.DataBind(); #endregion #region 加载Prerequisite // 先绑定Stage this.ddlStage.SelectedValue = this.LoanTaskInfo.Rows[0]["LoanStageId"].ToString(); string sSelectedStageID = string.Empty; if (this.Request.QueryString["Stage"] == null) { sSelectedStageID = this.ddlStage.SelectedItem.Value; } else { sSelectedStageID = this.Request.QueryString["Stage"].ToString(); } DataTable PrerequisiteList = this.LoanTaskManager.GetPrerequisiteList(" and FileID=" + this.iLoanID + " and LoanStageId = " + sSelectedStageID + " and PrerequisiteTaskId is null and LoanTaskId !=" + iTaskID); DataRow NonePrerequisiteRow = PrerequisiteList.NewRow(); NonePrerequisiteRow["LoanTaskId"] = 0; NonePrerequisiteRow["Name"] = "None"; PrerequisiteList.Rows.InsertAt(NonePrerequisiteRow, 0); this.ddlPrerequisite.DataSource = PrerequisiteList; this.ddlPrerequisite.DataBind(); this.ddlPrerequisite2.DataSource = PrerequisiteList; this.ddlPrerequisite2.DataBind(); #endregion #region 加载email template Template_Email EmailTempManager = new Template_Email(); EmailTemplates = EmailTempManager.GetEmailTemplate(" and Enabled = 1"); DataRow NoneEmailTemplateRow = EmailTemplates.NewRow(); NoneEmailTemplateRow["TemplEmailId"] = 0; NoneEmailTemplateRow["Name"] = "None"; EmailTemplates.Rows.InsertAt(NoneEmailTemplateRow, 0); this.ddlCompletionEmail.DataSource = EmailTemplates; this.ddlCompletionEmail.DataBind(); this.ddlWarningEmail.DataSource = EmailTemplates; this.ddlWarningEmail.DataBind(); this.ddlOverdueEmail.DataSource = EmailTemplates; this.ddlOverdueEmail.DataBind(); this.ddlEmailTemplate.DataSource = EmailTemplates; this.ddlEmailTemplate.DataBind(); #endregion #region 绑定对应模板列表 LPWeb.BLL.LoanTask_CompletionEmails bllTaskMail = new LoanTask_CompletionEmails(); gridCompletetionEmails.DataSource = bllTaskMail.GetList("LoanTaskid=" + iTaskID); gridCompletetionEmails.DataBind(); #endregion #region Bind Data this.txtTaskName.Text = this.LoanTaskInfo.Rows[0]["Name"].ToString(); #region Owner string sOwnerID = this.LoanTaskInfo.Rows[0]["Owner"].ToString(); if (sOwnerID == string.Empty) { this.ddlOwner.SelectedIndex = 0; } else { this.ddlOwner.SelectedValue = sOwnerID; } #endregion #region ExternalViewing if (this.LoanTaskInfo.Rows[0]["ExternalViewing"] != null && this.LoanTaskInfo.Rows[0]["ExternalViewing"].ToString() != "") { bool ExternalViewing = Convert.ToBoolean(this.LoanTaskInfo.Rows[0]["ExternalViewing"]); this.chbExternalViewing.Checked = ExternalViewing; } #endregion #region Due Date string sDueDate = this.LoanTaskInfo.Rows[0]["Due"].ToString(); if (sDueDate != string.Empty) { this.txtDueDate.Text = Convert.ToDateTime(this.LoanTaskInfo.Rows[0]["Due"]).ToString("MM/dd/yyyy"); } #endregion //#region Completed Date string sCompletedDate = this.LoanTaskInfo.Rows[0]["Completed"].ToString(); if (sCompletedDate != string.Empty) { this.hdnCompleted.Value = Convert.ToDateTime(this.LoanTaskInfo.Rows[0]["Completed"]).ToString("MM/dd/yyyy"); } //#endregion this.txtDaysToEst.Text = this.LoanTaskInfo.Rows[0]["DaysDueFromEstClose"] == DBNull.Value ? string.Empty : this.LoanTaskInfo.Rows[0]["DaysDueFromEstClose"].ToString(); this.txtDaysAfterCreation.Text = this.LoanTaskInfo.Rows[0]["DaysFromCreation"] == DBNull.Value ? string.Empty : this.LoanTaskInfo.Rows[0]["DaysFromCreation"].ToString(); this.txtDaysDueAfterPrevStage.Text = this.LoanTaskInfo.Rows[0]["DaysDueAfterPrevStage"] == DBNull.Value ? string.Empty : this.LoanTaskInfo.Rows[0]["DaysDueAfterPrevStage"].ToString(); //Get task template Calculation Method if (this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "" && this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "0") { LPWeb.BLL.Template_Wfl_Tasks taskTempMgr = new Template_Wfl_Tasks(); LPWeb.Model.Template_Wfl_Tasks taskTempModel = taskTempMgr.GetModel(int.Parse(this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString())); int iCalculationMethod = 0; if (taskTempModel != null) { LPWeb.BLL.Template_Wfl_Stages stageWflMgr = new Template_Wfl_Stages(); LPWeb.Model.Template_Wfl_Stages stageModel = stageWflMgr.GetModel(taskTempModel.WflStageId); if (stageModel != null) { LPWeb.BLL.Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow templateModel = templateMgr.GetModel(stageModel.WflTemplId); if (templateModel != null) { iCalculationMethod = templateModel.CalculationMethod; } if (stageModel.CalculationMethod != null && stageModel.CalculationMethod.Value != 0) { iCalculationMethod = stageModel.CalculationMethod.Value; } } } if (iCalculationMethod == 1 && this.txtDaysAfterCreation.Text == "") { this.txtDaysToEst.Enabled = true; this.txtDaysAfterCreation.Enabled = false; } else if (iCalculationMethod == 2 && this.txtDaysToEst.Text == "") { this.txtDaysToEst.Enabled = false; this.txtDaysAfterCreation.Enabled = true; } } #region Prerequisite Task Id string sPrerequisiteTaskId = this.LoanTaskInfo.Rows[0]["PrerequisiteTaskId"] == DBNull.Value ? string.Empty : this.LoanTaskInfo.Rows[0]["PrerequisiteTaskId"].ToString(); if (sPrerequisiteTaskId == string.Empty) { this.ddlPrerequisite.SelectedIndex = 0; } else { this.ddlPrerequisite.SelectedValue = sPrerequisiteTaskId; } #endregion this.txtDaysDueAfter.Text = LoanTaskInfo.Rows[0]["DaysDueAfterPrerequisite"] == DBNull.Value ? string.Empty : this.LoanTaskInfo.Rows[0]["DaysDueAfterPrerequisite"].ToString(); #region Completion Email string sCompletionEmailID = this.LoanTaskInfo.Rows[0]["CompletionEmailId"].ToString(); if (sCompletionEmailID == string.Empty) { this.ddlCompletionEmail.SelectedIndex = 0; } else { this.ddlCompletionEmail.SelectedValue = sCompletionEmailID; } #endregion #region Warning Email string sWarningEmailId = this.LoanTaskInfo.Rows[0]["WarningEmailId"].ToString(); if (sWarningEmailId == string.Empty) { this.ddlWarningEmail.SelectedIndex = 0; } else { this.ddlWarningEmail.SelectedValue = sWarningEmailId; } #endregion #region Overdue Email string sOverdueEmailId = this.LoanTaskInfo.Rows[0]["OverdueEmailId"].ToString(); if (sOverdueEmailId == string.Empty) { this.ddlOverdueEmail.SelectedIndex = 0; } else { this.ddlOverdueEmail.SelectedValue = sOverdueEmailId; } #endregion #endregion } }
/// <summary> /// Bind Grid /// </summary> private void BindTemplatesGrid() { int pageSize = AspNetPager1.PageSize; int pageIndex = PageIndex; string queryCondition = GenerateQueryCondition(); int recordCount = 0; DataSet tpLists = null; DataTable dtList = null; try { tpLists = template.GetTemplateWorkflows(pageSize, pageIndex, queryCondition, out recordCount, OrderName, OrderType); if (!tpLists.Tables[0].Columns.Contains("Stages")) { tpLists.Tables[0].Columns.Add("Stages"); } if (!tpLists.Tables[0].Columns.Contains("Custom_Cov")) { tpLists.Tables[0].Columns.Add("Custom_Cov"); } if (!tpLists.Tables[0].Columns.Contains("Default_Cov")) { tpLists.Tables[0].Columns.Add("Default_Cov"); } if (!tpLists.Tables[0].Columns.Contains("Enabled_Cov")) { tpLists.Tables[0].Columns.Add("Enabled_Cov"); } Template_Wfl_Stages stage; DataSet ds; string sName = ""; string Default_Type = ""; int search_idx = -1; int iWflTempId = 0; Template_Workflow WorkflowTemplateManager = new Template_Workflow(); foreach (DataRow dr in tpLists.Tables[0].Rows) { if (dr["WflTemplId"] != DBNull.Value) { iWflTempId = (int)dr["WflTemplId"]; } if ((dr["Name"] != DBNull.Value) && (dr["Name"].ToString() != "")) { sName = (string)dr["Name"]; if (sName != null) { sName = sName.ToLower(); search_idx = sName.IndexOf("prospect"); if (search_idx >= 0) { Default_Type = "Prospect"; } else { Default_Type = "Processing"; } } } if (dr["WorkflowType"] == DBNull.Value || dr["WorkflowType"].ToString() == "") { //Default Processing dr["WorkflowType"] = Default_Type; WorkflowTemplateManager.UpdateWorkflowType(iWflTempId, Default_Type); } if (dr["Default"] == DBNull.Value || dr["Default"].ToString() == "" || dr["Default"].ToString() == "0" || dr["Default"].ToString() == "False") { //Default No dr["Default_Cov"] = "No"; } else { dr["Default_Cov"] = "Yes"; } if (dr["Custom"] == DBNull.Value || dr["Custom"].ToString() == "" || dr["Custom"].ToString() == "0" || dr["Custom"].ToString() == "False") { //Default Standard dr["Custom_Cov"] = "Standard"; } else { dr["Custom_Cov"] = "Custom"; } if (dr["Enabled"] == DBNull.Value || dr["Enabled"].ToString() == "" || dr["Enabled"].ToString() == "0" || dr["Enabled"].ToString() == "False") { dr["Enabled_Cov"] = "No"; } else { dr["Enabled_Cov"] = "Yes"; } stage = new Template_Wfl_Stages(); ds = stage.GetList(0, "WflTemplId = " + dr["WflTemplId"].ToString(), "SequenceNumber"); dr["Stages"] = ds.Tables[0].Rows.Count; } if (OrderName == "Stages") { DataView dv = tpLists.Tables[0].DefaultView; dv.Sort = "Stages " + SortType; dtList = dv.ToTable(); } else { tpLists.AcceptChanges(); dtList = tpLists.Tables[0]; } } catch (Exception exception) { LPLog.LogMessage(exception.Message); } AspNetPager1.PageSize = pageSize; AspNetPager1.RecordCount = recordCount; gvWorkFolwList.DataSource = dtList; gvWorkFolwList.DataBind(); }
protected void btnSave_Click(object sender, EventArgs e) { short iSeq = Convert.ToInt16(this.txtSeq.Text); bool bEnabled = this.chkEnabled.Checked; short iDaysFromEstClose = this.txtDaysFromEstClose.Text == string.Empty ? Int16.Parse("0") : Convert.ToInt16(this.txtDaysFromEstClose.Text); short iDaysAfterCreation = this.txtDaysAfterCreation.Text == string.Empty ? Int16.Parse("0") : Convert.ToInt16(this.txtDaysAfterCreation.Text); short iCalcMethod = 0; if (this.hdnCalcDueDateMethod.Value == "Est Close Date") { iCalcMethod = 1; } else if (this.hdnCalcDueDateMethod.Value == "Creation Date") { iCalcMethod = 2; } else if (this.hdnCalcDueDateMethod.Value == "Completion Date of the previous Stage") { iCalcMethod = 3; } Template_Workflow WorkflowTemplateManager = new Template_Workflow(); #region 检查Rule Name是否重复 bool bIsExist = WorkflowTemplateManager.IsWflStageSeqExist(this.iWorkflowTemplateID, this.iWflStageID, iSeq); if (bIsExist == true) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Duplicate", "$('#divContainer').hide();alert('The Sequence has been taken. Please use a different number.');$('#divContainer').show();", true); return; } #endregion WorkflowTemplateManager.UpdateWflStage(this.iWflStageID, iSeq, bEnabled, iDaysFromEstClose, iDaysAfterCreation, iCalcMethod); #region update seq no of workflow task string sSeqNos = this.hdnSeqNos.Value; if (sSeqNos != string.Empty) { string[] IDSeqs = sSeqNos.Split(','); foreach (string IDSeq in IDSeqs) { string[] temp = IDSeq.Split(':'); string sTaskID = temp[0]; string sSeqNo = temp[1]; int iTaskID = Convert.ToInt32(sTaskID); int iSeqNo = Convert.ToInt32(sSeqNo); this.UpdateWflTaskSeqNo(iTaskID, iSeqNo); } } #endregion // success this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Update workflow stage successfully.');window.parent.location.href='" + this.sFrom + "';", true); }
protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack == false) { #region 加载 ddlLeadSource Company_Lead_Sources LeadSourceManager = new Company_Lead_Sources(); DataTable LeadSourceList = LeadSourceManager.GetList("1=1 order by LeadSource").Tables[0]; DataRow NewLeadSourceRow = LeadSourceList.NewRow(); NewLeadSourceRow["LeadSourceID"] = 0; NewLeadSourceRow["LeadSource"] = "- select -"; NewLeadSourceRow["Default"] = DBNull.Value; LeadSourceList.Rows.InsertAt(NewLeadSourceRow, 0); this.ddlLeadSource.DataSource = LeadSourceList; this.ddlLeadSource.DataBind(); // set default selected DataRow[] DefaultRowArray = LeadSourceList.Select("Default=1"); if (DefaultRowArray.Length > 0) { string sLeadSource = DefaultRowArray[0]["LeadSourceID"].ToString(); this.ddlLeadSource.SelectedValue = sLeadSource; } #endregion #region 加载 ddlLoanOfficer DataTable dtLoadOfficer = this.GetLoanOfficerList(CurrUser.iUserID); DataRow drNew = dtLoadOfficer.NewRow(); //2014/1/16 CR072 Add the current user in the Loan Officer dropdown list if (dtLoadOfficer.Select("ID=" + CurrUser.iUserID.ToString()).Length < 1) { drNew["ID"] = CurrUser.iUserID; drNew["Name"] = CurrUser.sFullName; drNew["LastName"] = CurrUser.sLastName; drNew["FirstName"] = CurrUser.sFirstName; dtLoadOfficer.Rows.InsertAt(drNew, 0); } drNew = dtLoadOfficer.NewRow(); drNew["ID"] = 0; drNew["Name"] = "Lead Routing Engine"; dtLoadOfficer.Rows.InsertAt(drNew, 0); drNew = dtLoadOfficer.NewRow(); drNew["ID"] = -1; drNew["Name"] = "Unassigned"; dtLoadOfficer.Rows.InsertAt(drNew, 0); drNew = dtLoadOfficer.NewRow(); drNew["ID"] = -2; drNew["Name"] = "- select -"; dtLoadOfficer.Rows.InsertAt(drNew, 0); ddlLoanOfficer.DataSource = dtLoadOfficer; ddlLoanOfficer.DataTextField = "Name"; ddlLoanOfficer.DataValueField = "ID"; //if (dtLoadOfficer.Select("ID=" + CurrUser.iUserID.ToString()).Length > 0) //{ // ddlLoanOfficer.SelectedValue = CurrUser.iUserID.ToString(); //} //else //{ ddlLoanOfficer.SelectedValue = "0"; //} ddlLoanOfficer.DataBind(); #endregion #region 加载ddlWorkflow Template_Workflow WflTempMgr = new Template_Workflow(); DataTable WorkflowList = WflTempMgr.GetWorkflowTemplateList(" and WorkflowType='Prospect' and Enabled=1", "Name"); this.ddlWorkflow.DataSource = WorkflowList; this.ddlWorkflow.DataBind(); // set default selected DefaultRowArray = WorkflowList.Select("Default=1"); if (DefaultRowArray.Length > 0) { string sWflTemplId = DefaultRowArray[0]["WflTemplId"].ToString(); this.ddlWorkflow.SelectedValue = sWflTemplId; } #endregion #region 加载Marketing enrollment MailChimpLists MailChimpListsMgr = new MailChimpLists(); DataTable MailChimpList = null; CheckRolePermistion(this.CurrUser.iUserID); if (_isAccessAllMailChimpList == true) { if (this.CurrUser.bIsCompanyExecutive == true) { MailChimpList = MailChimpListsMgr.GetMailChimpList(" and 1=1 ", "Name"); } else { if (this.CurrUser.bIsBranchManager == true) { MailChimpList = MailChimpListsMgr.GetMailChimpList_BranchManager(this.CurrUser.iUserID); } else { MailChimpList = MailChimpListsMgr.GetMailChimpList(" and UserId=" + this.CurrUser.iUserID, "Name"); } } } else { MailChimpList = MailChimpListsMgr.GetMailChimpList(" and UserId=" + this.CurrUser.iUserID, "Name"); } DataRow NewMarkingRow = MailChimpList.NewRow(); NewMarkingRow["LID"] = ""; NewMarkingRow["Name"] = "-- select --"; MailChimpList.Rows.InsertAt(NewMarkingRow, 0); this.ddlMarketing.DataSource = MailChimpList; this.ddlMarketing.DataBind(); #endregion #region 加载ddlTaskList LeadTaskList LeadTaskListMgr = new LeadTaskList(); string sOrderBy = string.Empty; if (this.CurrUser.SortTaskPickList == "S") { sOrderBy = "SequenceNumber"; } else { sOrderBy = "TaskName"; } DataTable LeadTaskList1 = LeadTaskListMgr.GetLeadTaskList(" and Enabled=1", sOrderBy); DataRow NewTaskRow = LeadTaskList1.NewRow(); NewTaskRow["TaskName"] = "-- select --"; NewTaskRow["SequenceNumber"] = 0; NewTaskRow["Enabled"] = "True"; LeadTaskList1.Rows.InsertAt(NewTaskRow, 0); this.ddlTaskList.DataSource = LeadTaskList1; this.ddlTaskList.DataBind(); #endregion // set default value this.txtDueDate.Text = DateTime.Now.ToString("MM/dd/yyyy"); this.txtDueTime.Text = System.DateTime.Now.AddHours(2).ToString("HH:mm"); this.txtReminderUser.Text = this.CurrUser.sLastName + ", " + this.CurrUser.sFirstName; this.hdnReminderUserID.Value = this.CurrUser.iUserID.ToString(); } }
private void LoadTaskData() { this.tbxTemplateName.Text = ""; this.tbxTaskName.Text = ""; this.tbxDescription.Text = ""; this.ddlOwner.SelectedIndex = -1; this.tbxDueDaysByDate.Text = ""; this.tbxDueDaysByTask.Text = ""; this.tbxDaysDueAfterCreationDate.Text = ""; this.ddlPrerequisiteTask.SelectedIndex = -1; this.ddlWarningEmail.SelectedIndex = -1; //this.ddlCompletionEmail.SelectedIndex = -1; this.ddlOverdueEmail.SelectedIndex = -1; this.ddlStage.SelectedIndex = -1; LPWeb.Model.Template_Wfl_Tasks model = null; try { Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow tempModel = new Model.Template_Workflow(); tempModel = templateMgr.GetModel(this.iTemplateID); Template_Wfl_Stages wflStageMgr = new Template_Wfl_Stages(); LPWeb.Model.Template_Wfl_Stages stageModel = new Model.Template_Wfl_Stages(); this.iCalculationMethod = tempModel.CalculationMethod; if (this.iStageID != 0) { stageModel = wflStageMgr.GetModel(this.iStageID); if (stageModel.CalculationMethod.ToString() != "" && stageModel.CalculationMethod.ToString() != "0") { iCalculationMethod = int.Parse(stageModel.CalculationMethod.ToString()); } } this.tbxTemplateName.Text = tempModel.Name; model = this.taskTmpMgr.GetModel(this.iTaskID); if (this.iTaskID == 0 || model == null) { if (this.iTemplateID != 0) { if (this.iStageID != 0) { this.ddlStage.SelectedValue = this.iStageID.ToString(); } } this.chkEnable.Checked = true; return; } //Get Template Name by taskid this.ddlStage.SelectedValue = model.WflStageId.ToString(); this.tbxTaskName.Text = model.Name; this.tbxDescription.Text = model.Description; this.ddlOwner.SelectedValue = model.OwnerRoleId.ToString(); this.tbxDueDaysByDate.Text = model.DaysDueFromCoe.ToString(); this.tbxDueDaysByTask.Text = model.DaysDueAfterPrerequisite.ToString(); this.tbxDaysDueAfterCreationDate.Text = model.DaysFromCreation.ToString(); this.ddlPrerequisiteTask.SelectedValue = model.PrerequisiteTaskId.ToString(); if (this.ddlPrerequisiteTask.SelectedIndex > 0) { this.ddlStage.Enabled = false; } if (model.Enabled) { this.chkEnable.Checked = true; } else { this.chkEnable.Checked = false; } if (model.ExternalViewing) { this.chkExternalViewing.Checked = true; } else { this.chkExternalViewing.Checked = false; } // if (iCalculationMethod == 1) { this.tbxDueDaysByDate.Enabled = true; if (model.DaysFromCreation.ToString() == "" || model.DaysFromCreation.ToString() == "0") { this.tbxDaysDueAfterCreationDate.Enabled = false; } //this.tbxDaysDueAfterCreationDate.Text = ""; } else if (iCalculationMethod == 2) { if (model.DaysDueFromCoe.ToString() == "" || model.DaysDueFromCoe.ToString() == "0") { this.tbxDueDaysByDate.Enabled = false; } //this.tbxDueDaysByDate.Text = ""; this.tbxDaysDueAfterCreationDate.Enabled = true; } this.ddlWarningEmail.SelectedValue = model.WarningEmailId.ToString(); //this.ddlCompletionEmail.SelectedValue = model.CompletionEmailId.ToString(); this.ddlOverdueEmail.SelectedValue = model.OverdueEmailId.ToString(); //Set prerequisitetask status base on taskid DataTable dtTask = this.taskTmpMgr.GetList(" PrerequisiteTaskId=" + this.iTaskID.ToString()).Tables[0]; if (dtTask.Rows.Count > 0) { this.ddlPrerequisiteTask.SelectedIndex = -1; this.tbxDueDaysByTask.Text = ""; this.tbxDueDaysByTask.ReadOnly = true; this.tbxDaysDueAfterCreationDate.Text = ""; this.tbxDaysDueAfterCreationDate.ReadOnly = true; this.ddlPrerequisiteTask.Enabled = false; this.ddlStage.Enabled = false; this.hdnIsDependTask.Value = "true"; } //Check Referenced LoanTasks loanTaskMgr = new LoanTasks(); if (loanTaskMgr.GetLoanTaskList(" AND a.TemplTaskId=" + this.iTaskID.ToString()).Rows.Count > 0) { this.hdnIsReferenced.Value = "true"; } this.hdnTaskID.Value = this.iTaskID.ToString(); } catch (Exception ex) { throw ex; } }
protected void btnSave_Click(object sender, EventArgs e) { string sErrorJs = string.Empty; if (this.Request.QueryString["CloseDialogCodes"] == null) { sErrorJs = "window.parent.RefreshPage();"; } else { sErrorJs = this.Request.QueryString["CloseDialogCodes"] + ";"; } int iStageID = Convert.ToInt32(this.LoanTaskInfo.Rows[0]["LoanStageId"]); int iCurrentUserID = this.CurrUser.iUserID; string sTaskName = string.Empty; if (radTaskList.Checked == true) { sTaskName = this.ddlTaskList.SelectedValue; if (sTaskName == "-- select --") { sTaskName = string.Empty; } } else { sTaskName = this.txtTaskName.Text.Trim(); } string sDesc = this.txtDescription.Text.Trim(); int iOwnerID = Convert.ToInt32(this.ddlOwner.SelectedItem.Value); string sDueDate = this.txtDueDate.Text.Trim(); int iPrerequisiteID = Convert.ToInt32(this.ddlPrerequisite.SelectedItem.Value); //Get task template Calculation Method int iCalculationMethod = 0; if (this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "" && this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString() != "0") { LPWeb.BLL.Template_Wfl_Tasks taskTempMgr = new Template_Wfl_Tasks(); LPWeb.Model.Template_Wfl_Tasks taskTempModel = taskTempMgr.GetModel(int.Parse(this.LoanTaskInfo.Rows[0]["TemplTaskId"].ToString())); if (taskTempModel != null) { LPWeb.BLL.Template_Wfl_Stages stageWflMgr = new Template_Wfl_Stages(); LPWeb.Model.Template_Wfl_Stages stageModel = stageWflMgr.GetModel(taskTempModel.WflStageId); if (stageModel != null) { LPWeb.BLL.Template_Workflow templateMgr = new Template_Workflow(); LPWeb.Model.Template_Workflow templateModel = templateMgr.GetModel(stageModel.WflTemplId); if (templateModel != null) { iCalculationMethod = templateModel.CalculationMethod; } if (stageModel.CalculationMethod != null && stageModel.CalculationMethod.Value != 0) { iCalculationMethod = stageModel.CalculationMethod.Value; } } } } int iDaysToEstClose = 0; if (this.txtDaysToEst.Text != string.Empty) { if (iCalculationMethod == 2 && this.txtDaysAfterCreation.Text != string.Empty) { iDaysToEstClose = 0; this.txtDaysToEst.Text = ""; } else { iDaysToEstClose = Convert.ToInt32(this.txtDaysToEst.Text); } } int iDaysAfterCreation = 0; if (this.txtDaysAfterCreation.Text != string.Empty) { if (iCalculationMethod == 1 && this.txtDaysToEst.Text != string.Empty) { iDaysAfterCreation = -1; this.txtDaysAfterCreation.Text = ""; } else { iDaysAfterCreation = Convert.ToInt32(this.txtDaysAfterCreation.Text); } } int iDaysDueAfterPre = 0; if (this.txtDaysDueAfter.Text != string.Empty) { iDaysDueAfterPre = Convert.ToInt32(this.txtDaysDueAfter.Text); } int iWarningEmailID = Convert.ToInt32(this.ddlWarningEmail.SelectedItem.Value); int iOverdueEmailID = Convert.ToInt32(this.ddlOverdueEmail.SelectedItem.Value); // 原Loan Stage ID int iOldStageID = string.IsNullOrEmpty(ddlStage.SelectedValue) ? Convert.ToInt32(this.LoanTaskInfo.Rows[0]["LoanStageId"]) : Convert.ToInt32(ddlStage.SelectedValue); //CR54 this.iCurrentLoanStageId; //Convert.ToInt32(this.LoanTaskInfo.Rows[0]["LoanStageId"]); #region 检查任务名称重复 if (string.IsNullOrEmpty(sTaskName) || sTaskName.Trim() == string.Empty) { PageCommon.AlertMsg(this, "The task name cannot be blank."); return; } var loanInfo = this.LoanManager.GetModel(this.iLoanID); if (loanInfo == null || loanInfo.Status != "Prospect") //CR54 当为Prospect时检查重复 { bool bIsExist = this.LoanTaskManager.IsLoanTaskExists_Update(this.iLoanID, this.iTaskID, sTaskName); if (bIsExist == true) { PageCommon.AlertMsg(this, "The task name is already taken."); return; } } LPWeb.Model.LoanTasks taskModel = new LPWeb.Model.LoanTasks(); taskModel.LoanTaskId = iTaskID; taskModel.Name = sTaskName.Trim(); taskModel.Desc = sDesc.Trim(); taskModel.LoanStageId = iStageID; if (iStageID == iOldStageID || iOldStageID <= 0) { taskModel.OldLoanStageId = 0; } else { taskModel.OldLoanStageId = iOldStageID; } taskModel.Owner = iOwnerID; taskModel.ModifiedBy = iCurrentUserID; taskModel.LastModified = DateTime.Now; taskModel.FileId = iLoanID; if (string.IsNullOrEmpty(sDueDate)) { taskModel.Due = DateTime.MinValue; } else { taskModel.Due = DateTime.Parse(sDueDate); } string sDueTime = this.ddlDueTime_hour.Text + ":" + this.ddlDueTime_min.Text; sDueTime = sDueTime.Replace("am", "").Replace("pm", ""); DateTime DTN = DateTime.Now; string sDueTime_Span = null; TimeSpan DueTime = new TimeSpan(); if (sDueTime == string.Empty) { taskModel.DueTime = null; } else { taskModel.DueTime = null; if (DateTime.TryParse(sDueTime, out DTN) == true) { sDueTime_Span = DTN.ToString("HH:mm"); if (TimeSpan.TryParse(sDueTime_Span, out DueTime) == true) { taskModel.DueTime = DueTime; } } } taskModel.DaysDueFromEstClose = (short)iDaysToEstClose; taskModel.DaysFromCreation = (short)iDaysAfterCreation; taskModel.PrerequisiteTaskId = iPrerequisiteID; taskModel.DaysDueAfterPrerequisite = (short)iDaysDueAfterPre; taskModel.WarningEmailId = iWarningEmailID; taskModel.OverdueEmailId = iOverdueEmailID; taskModel.ExternalViewing = false; if (this.chkCompleted.Checked == true) { taskModel.Completed = DateTime.Now; taskModel.CompletedBy = iCurrentUserID; } #endregion // update bool bIsSuccess1 = LPWeb.BLL.WorkflowManager.UpdateTask(taskModel, this.txtDaysToEst.Text.Trim(), this.txtDaysAfterCreation.Text.Trim(), this.txtDaysDueAfter.Text.Trim(), this.txtDaysDueAfterPrevStage.Text.Trim()); if (bIsSuccess1 == true) { SaveCompletetionEmails(iTaskID); #region completed if (chkCompleted.Checked == true) { string sResult = this.CompleteTask(this.iTaskID); if (sResult != string.Empty) { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Failed", "$('#divContainer').hide();alert('Failed to complete task.');" + sErrorJs, true); } } #endregion // save and create if (((Button)sender).Text == "Save and Create Another") { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Redirect", "$('#divContainer').hide();alert('Saved successfully.');window.parent.CloseDialog_EditTask();window.parent.ShowDialog_AddTask();", true); } else { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Success", "$('#divContainer').hide();alert('Saved successfully.');" + sErrorJs, true); } } else { this.ClientScript.RegisterClientScriptBlock(this.GetType(), "_Failed", "$('#divContainer').hide();alert('Failed to save the record.');" + sErrorJs, true); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { #region 权限验证 this.CurrentUser = new LoginUser(); if (this.CurrentUser.userRole.CustomTask.ToString() == "") { Response.Redirect("../Unauthorize1.aspx"); return; } else { this.hdnCustomTask.Value = this.CurrentUser.userRole.CustomTask.ToString(); this.hdnAssignTask.Value = this.CurrentUser.userRole.AssignTask.ToString(); this.hdnCompleteOtherTask.Value = this.CurrentUser.userRole.MarkOtherTaskCompl == true ? "True" : "False"; } #endregion #region 检查必要参数 bool bIsValid = PageCommon.ValidateQueryString(this, "LoanID", QueryStringType.ID); if (bIsValid == false) { //this.Response.Write("Missing required query string."); try { this.Response.End(); } catch { } } this.iLoanID = Convert.ToInt32(this.Request.QueryString["LoanID"]); #endregion // login user id this.hdnLoginUserID.Value = this.CurrentUser.iUserID.ToString(); #region 加载Loan Loans LoanManager = new Loans(); DataTable LoanInfo = LoanManager.GetLoanInfo(this.iLoanID); if (LoanInfo.Rows.Count == 0) { this.Response.Write("Invalid query string."); try { this.Response.End(); } catch { } } #endregion #region Active Loan or Not string sLoanStatus = LoanInfo.Rows[0]["Status"].ToString(); this.hdnLoanStatus.Value = sLoanStatus; #endregion #region Is Post-Close Complated string sSqlx = "select * from LoanStages where FileId=" + this.iLoanID + " and StageName='Post-Close'"; DataTable PostCloseStageInfo = LPWeb.DAL.DbHelperSQL.ExecuteDataTable(sSqlx); if (PostCloseStageInfo.Rows.Count == 0) { this.hdnIsPostCloseUncompleted.Value = "false"; } else { string CompletedDate = PostCloseStageInfo.Rows[0]["Completed"].ToString(); if (CompletedDate == string.Empty) { this.hdnIsPostCloseUncompleted.Value = "true"; } else { this.hdnIsPostCloseUncompleted.Value = "false"; } } #endregion #region hidden fields for Regenerate #region 获取Loan Workflow Template ID LoanWflTempl LoanWflTemplManager = new LoanWflTempl(); DataTable LoanWflTempInfo = LoanWflTemplManager.GetLoanWorkflowTemplateInfo(this.iLoanID); if (LoanWflTempInfo.Rows.Count > 0) { this.hdnLoanWflTempID.Value = LoanWflTempInfo.Rows[0]["WflTemplId"].ToString(); } #endregion #region 获取Default Workflow Template ID and Name Template_Workflow WorkflowTempManager = new Template_Workflow(); DataTable DefaultWorkflowTempInfo = WorkflowTempManager.GetDefaultWorkflowTemplateInfo(sLoanStatus); if (DefaultWorkflowTempInfo.Rows.Count > 0) { this.hdnDefaultWflTempID.Value = DefaultWorkflowTempInfo.Rows[0]["WflTemplId"].ToString(); this.hdnDefaultWflTempName.Value = DefaultWorkflowTempInfo.Rows[0]["Name"].ToString(); } #endregion #endregion #region 加载Filter #region 加载Task Owner DataTable TaskOwners = this.LoanTaskManager.GetTaskOwnerList(this.iLoanID); DataRow AllTaskOwnerRow = TaskOwners.NewRow(); AllTaskOwnerRow["UserID"] = 0; AllTaskOwnerRow["FullName"] = "All"; TaskOwners.Rows.InsertAt(AllTaskOwnerRow, 0); this.ddlTaskOwner.DataSource = TaskOwners; this.ddlTaskOwner.DataBind(); #endregion #region 加载Stage DataTable LoanStages = LoanManager.GetLoanStages(this.iLoanID); DataRow AllStageRow = LoanStages.NewRow(); AllStageRow["LoanStageID"] = 0; AllStageRow["StageName"] = "All"; LoanStages.Rows.InsertAt(AllStageRow, 0); this.ddlStage.DataSource = LoanStages; this.ddlStage.DataBind(); #endregion #endregion #region 生成Stage & Task树 #region 加载筛选后的Loan Stage #region sWhere_Stage string sWhere_Stage = string.Empty; if (this.Request.QueryString["StageFilter"] != null) { string sStageFilter = this.Request.QueryString["StageFilter"].ToString(); sWhere_Stage += " and LoanStageId = " + sStageFilter; } else { sWhere_Stage += " and FileId = " + this.iLoanID; } #endregion DataTable LoanStageNodes = LoanManager.GetLoanStage(sWhere_Stage); #endregion StringBuilder sbStageTemplate = new StringBuilder(); foreach (DataRow StageRow in LoanStageNodes.Rows) { string sStageName = StageRow["StageName"].ToString(); #region 获取Template_Stage.Alias if (StageRow["WflStageId"] != DBNull.Value) { string sWflStageId = StageRow["WflStageId"].ToString(); Template_Wfl_Stages Template_Wfl_Stages1 = new Template_Wfl_Stages(); DataTable Template_Wfl_Stages_info = Template_Wfl_Stages1.GetList(" WflStageId=" + sWflStageId).Tables[0]; if (Template_Wfl_Stages_info.Rows.Count > 0) { string sTemplStageId = Template_Wfl_Stages_info.Rows[0]["TemplStageId"].ToString(); if (sTemplStageId != string.Empty) { Template_Stages Template_Stages1 = new Template_Stages(); DataTable Template_Stage_Info = Template_Stages1.GetStageTemplateList(" and TemplStageId=" + sTemplStageId); if (Template_Stage_Info.Rows.Count > 0) { string sAlias = Template_Stage_Info.Rows[0]["Alias"].ToString(); if (sAlias != string.Empty) { sStageName = sAlias; } } } } } #endregion string sLoanStageID = StageRow["LoanStageId"].ToString(); int iLoanStageID = Convert.ToInt32(StageRow["LoanStageId"]); string sCompletedDate = StageRow["Completed"].ToString() == string.Empty ? string.Empty : " (" + Convert.ToDateTime(StageRow["Completed"]).ToString("MM/dd/yyyy") + ")"; string sStageIconFileName = this.GetStageIconFileName(iLoanStageID); string sLi = "<li><img class='StageIcon' src='../images/stage/" + sStageIconFileName + "' /><a onclick='return Stage_onclick(this);' href='LoanDetailsTask.aspx?LoanID=" + this.iLoanID + "&Stage=" + sLoanStageID + "'><span>" + sStageName + sCompletedDate + "</span></a>"; sbStageTemplate.AppendLine(sLi); #region 加载Stage下的Task StringBuilder sbChildTaskList = new StringBuilder(); #region sWhere_Task string sWhere_Task = string.Empty; // TaskStatus sWhere_Task += this.BuildWhere_TaskStatus(); // TaskOwner sWhere_Task += BuildWhere_TaskOwner(); // Due sWhere_Task += BuildWhere_Due(); #endregion if (sLoanStageID != string.Empty) { DataTable ChildTasks = this.LoanTaskManager.GetLoanTaskList(" and FileId = " + this.iLoanID + " and LoanStageId = " + sLoanStageID + " and PrerequisiteTaskId is null" + sWhere_Task); if (ChildTasks.Rows.Count > 0) { sbChildTaskList.AppendLine("<ul>"); foreach (DataRow ChildTaskRow in ChildTasks.Rows) { string sTaskID = ChildTaskRow["LoanTaskId"].ToString(); string sTaskName = ChildTaskRow["Name"].ToString(); string sCmptDate = ChildTaskRow["Completed"].ToString() == string.Empty ? string.Empty : " " + Convert.ToDateTime(ChildTaskRow["Completed"]).ToString("MM/dd/yyyy"); string sLoanTaskIconFileName = this.GetLoanTaskIconFileName(Convert.ToInt32(sTaskID)); string sChecked = ChildTaskRow["Completed"].ToString() == string.Empty ? string.Empty : "checked"; string sChildDisabled = string.Empty; #region 加载Prerequisite Tasks StringBuilder sbPrerequisiteTaskList = new StringBuilder(); DataTable PreTasks = this.LoanTaskManager.GetLoanTaskList(" and FileId = " + this.iLoanID + " and PrerequisiteTaskId = " + sTaskID); if (PreTasks.Rows.Count > 0) { sbPrerequisiteTaskList.AppendLine("<ul>"); foreach (DataRow PreTask in PreTasks.Rows) { string sPreTaskID = PreTask["LoanTaskId"].ToString(); string sPreTaskName = PreTask["Name"].ToString(); string sPreCmptDate = PreTask["Completed"].ToString() == string.Empty ? string.Empty : " " + Convert.ToDateTime(PreTask["Completed"]).ToString("MM/dd/yyyy"); string sPreLoanTaskIconFileName = this.GetLoanTaskIconFileName(Convert.ToInt32(sPreTaskID)); string sPreChecked = PreTask["Completed"].ToString() == string.Empty ? string.Empty : "checked"; // 如果prerequisite task未完成,其子task不允许完成 string sPreDisabled = string.Empty; if (ChildTaskRow["Completed"].ToString() == string.Empty) { sPreDisabled = "disabled title='Please complete prerequisite task at first.'"; } else { // 如果如果prerequisite task完成了,如果其下有任一child task也完成了,那么不允许uncomplete prerequisite task if (sPreCmptDate != string.Empty) { sChildDisabled = "disabled title='You cannot un-complete a task that has completed dependent task(s). Please un-complete the dependent task(s) first.'"; } } string sPreTaskTemplate = "<li><input myTaskID='" + sPreTaskID + "' myStageID='" + sLoanStageID + "' type='checkbox' class='TaskCheckbox' " + sPreChecked + " " + sPreDisabled + " /><img class='TaskIcon' src='../images/task/" + sPreLoanTaskIconFileName + "' /><a onclick='return Task_onclick(this);' href='LoanDetailsTask.aspx?LoanID=" + this.iLoanID + "&Stage=" + sLoanStageID + "&TaskID=" + sPreTaskID + "'><span title='" + sPreTaskName + sPreCmptDate + "'>" + sPreTaskName + sPreCmptDate + "</span></a></li>"; sbPrerequisiteTaskList.AppendLine(sPreTaskTemplate); } sbPrerequisiteTaskList.AppendLine("</ul>"); } #endregion string sTaskTemplate = "<li><input myTaskID='" + sTaskID + "' myStageID='" + sLoanStageID + "' type='checkbox' class='TaskCheckbox' " + sChecked + " " + sChildDisabled + " />" + "<img class='TaskIcon' src='../images/task/" + sLoanTaskIconFileName + "' />" + "<a onclick='return Task_onclick(this);' href='LoanDetailsTask.aspx?LoanID=" + this.iLoanID + "&Stage=" + sLoanStageID + "&TaskID=" + sTaskID + "'><span title='" + sTaskName + sCmptDate + "'>" + sTaskName + sCmptDate + "</span></a>"; sbChildTaskList.AppendLine(sTaskTemplate); sbChildTaskList.AppendLine(sbPrerequisiteTaskList.ToString()); sbChildTaskList.AppendLine("</li>"); } sbChildTaskList.AppendLine("</ul>"); } } #endregion sbStageTemplate.AppendLine(sbChildTaskList.ToString()); sbStageTemplate.AppendLine("</li>"); } this.ltrStageTaskNodes.Text = sbStageTemplate.ToString(); #endregion #region 加载Task列表 // default string sWhere = " and a.FileID=" + this.iLoanID; // TaskStatus sWhere += this.BuildWhere_TaskStatus(); // TaskOwner sWhere += BuildWhere_TaskOwner(); // StageFilter sWhere += BuildWhere_StageFilter(); // Due sWhere += BuildWhere_Due(); // TaskID if (this.Request.QueryString["TaskID"] != null) { string sTaskID = this.Request.QueryString["TaskID"].ToString(); sWhere += " and a.LoanTaskId = " + sTaskID; } DataTable LoanTaskData = this.LoanTaskManager.GetLoanTaskList(sWhere); this.gridTaskList.DataSource = LoanTaskData; this.gridTaskList.DataBind(); #endregion // Add thead and tbody PageCommon.MakeGridViewAccessible(this.gridTaskList); }