/// <summary> /// 根据LoanStage.Completed更新point file stage /// neo 2011-01-17 /// </summary> /// <param name="iLoanID"></param> /// <param name="iLoginUserID"></param> /// <param name="iLoanStageID"></param> /// <returns></returns> public static string UpdatePointFileStage(int iLoanID, int iLoginUserID, int iLoanStageID) { #region get loan stage info Loans LoanManager1 = new Loans(); DataTable LoanStageInfo = LoanManager1.GetLoanStage(" and LoanStageId=" + iLoanStageID); string sStageName = LoanStageInfo.Rows[0]["StageName"].ToString(); string sCompletedDate = LoanStageInfo.Rows[0]["Completed"].ToString(); #region 获取Template_Wfl_Stages.Name string sLoanStage = sStageName; if (LoanStageInfo.Rows[0]["WflStageId"] != DBNull.Value) { string sWflStageId = LoanStageInfo.Rows[0]["WflStageId"].ToString(); Template_Wfl_Stages Template_Wfl_Stages1 = new Template_Wfl_Stages(); DataSet Template_Wfl_Stages_Info = Template_Wfl_Stages1.GetList(" WflStageId=" + sWflStageId); if (Template_Wfl_Stages_Info.Tables[0].Rows.Count > 0) { string sName = Template_Wfl_Stages_Info.Tables[0].Rows[0]["Name"].ToString(); if (sName != string.Empty) { sLoanStage = sName; } } } #endregion #endregion #region invoke PointManager.UpdateStage() string sError = string.Empty; bool bCompleted = false; if (!string.IsNullOrEmpty(sCompletedDate)) { bCompleted = true; sCompletedDate = DateTime.Now.ToShortDateString(); } sError = UpdatePointFileStage(bCompleted, sCompletedDate, iLoanID, iLoginUserID, sLoanStage, iLoanStageID); #endregion return(sError); }
private void BindStage() { DataSet ds = new DataSet(); try { if (WflTemplId == 0) { Template_Stages stage = new Template_Stages(); ds = stage.GetList(""); if (ds == null || ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1) { return; } ddlStage.DataValueField = "TemplStageId"; ddlStage.DataTextField = "Name"; ddlStage.DataSource = ds; ddlStage.DataBind(); ddlStage.Items.Insert(0, new ListItem("All", "0")); } else { Template_Wfl_Stages stage = new Template_Wfl_Stages(); ds = stage.GetList(0, "WflTemplId = " + WflTemplId.ToString(), "SequenceNumber"); if (ds == null || ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1) { return; } ddlStage.DataValueField = "WflStageId"; ddlStage.DataTextField = "Name"; ddlStage.DataSource = ds; ddlStage.DataBind(); ddlStage.Items.Insert(0, new ListItem("All", "0")); txbEstClose.Text = ds.Tables[0].Rows[0]["DaysFromEstClose"].ToString(); } } catch { } }
private void BindControls() { if (WflTemplId == 0) { return; } try { LPWeb.Model.Template_Workflow model = new Model.Template_Workflow(); model = template.GetModel(WflTemplId); if (model == null) { return; } txbTemplateName.Text = model.Name; txbEescription.Text = model.Desc; cbEnabled.Checked = model.Enabled; } catch { } try { string strWhere = string.Format(" WflTemplId= {0} AND WflStageId = {1}", WflTemplId.ToString(), StageID); Template_Wfl_Stages stage = new Template_Wfl_Stages(); DataSet ds = stage.GetList(strWhere); if (ds == null || ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1) { txbEstClose.Text = string.Empty; } else { txbEstClose.Text = ds.Tables[0].Rows[0]["DaysFromEstClose"].ToString(); } } catch { } }
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> /// Binds the page. /// </summary> private void BindPage() { if (CurrentFileId < 1) { PageCommon.WriteJsEnd(this, sErrorMsg, "window.location.href='" + sReturnPage + "'"); return; } DataSet ds = bllStages.GetLoanStageSetupInfo(CurrentFileId); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { //PageCommon.AlertMsg(this, "There is no data in database."); return; } foreach (DataRow LoanStageRow in ds.Tables[0].Rows) { int iLoanStageId = Convert.ToInt32(LoanStageRow["LoanStageId"]); LoanStages LoanStagesMrg = new LoanStages(); DataTable LoanStageInfo = LoanStagesMrg.GetList(" LoanStageId=" + iLoanStageId).Tables[0]; if (LoanStageInfo.Rows.Count > 0) { #region 获取Template_Stage.Alias string sWflStageName = LoanStageInfo.Rows[0]["StageName"].ToString(); string sDiaplayAs = LoanStageInfo.Rows[0]["StageName"].ToString(); if (LoanStageInfo.Rows[0]["WflStageId"] != DBNull.Value) { string sWflStageId = LoanStageInfo.Rows[0]["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) { sWflStageName = Template_Wfl_Stages_info.Rows[0]["Name"].ToString(); 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) { sDiaplayAs = sAlias; } } } } } LoanStageRow["StageName"] = sWflStageName; LoanStageRow["Alias"] = sDiaplayAs; #endregion } } DateTime dtMin = DateTime.MinValue; if (DateTime.TryParse(ds.Tables[0].Rows[0]["EstCloseDate"].ToString(), out dtMin)) { tbxTargetCloseDate.Text = dtMin.ToShortDateString(); } Loans loanMgr = new Loans(); LPWeb.Model.Loans loanModel = loanMgr.GetModel(CurrentFileId); if (loanModel.EstCloseDate != null) { tbxTargetCloseDate.Text = loanModel.EstCloseDate.Value.ToShortDateString(); } gvWfGrid.DataSource = ds; gvWfGrid.DataBind(); }
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); }
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); }
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) { 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 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(); }
/// <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); }