コード例 #1
0
    /// <summary>
    /// Handles the Click event of the btnSave control.
    /// </summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
    protected void btnSave_Click(object sender, EventArgs e)
    {
        /*Save: When clicked, if the Target Close Date is changed, an UpdateEstCloseDateRequest message will be sent to the Point Manager.
         * If the Point Manager returns an error, it will display the error and will not save the change;
         * otherwise, it will send a CalculateDueDates message to the Workflow Manager.
         * If the Workflow Manager returns an error, it will display the error and abort the operation.
         */
        DateTime dtClose = DateTime.MinValue;

        DateTime.TryParse(tbxTargetCloseDate.Text, out dtClose);
        if (dtClose == DateTime.MinValue)
        {
            PageCommon.AlertMsg(this, "Please enter the Target Close Date");
            return;
        }
        try
        {
            ServiceManager sm = new ServiceManager();
            using (LP2ServiceClient client = sm.StartServiceClient())
            {
                var req = new UpdateEstCloseDateRequest();
                req.FileId     = CurrentFileId;
                req.NewDate    = dtClose;
                req.hdr        = new ReqHdr();
                req.hdr.UserId = new LoginUser().iUserID;

                var response = client.UpdateEstCloseDate(req);
                if (!response.hdr.Successful)
                {
                    PageCommon.AlertMsg(this, response.hdr.StatusInfo);
                    return;
                }

                var req1 = new CalculateDueDatesRequest();
                req1.FileId          = CurrentFileId;
                req1.NewEstCloseDate = dtClose;
                req1.hdr             = new ReqHdr();
                req1.hdr.UserId      = new LoginUser().iUserID;

                var response1 = client.CalculateDueDates(req1);
                if (!response1.hdr.Successful)
                {
                    PageCommon.AlertMsg(this, response1.hdr.StatusInfo);
                }
                else
                {
                    PageCommon.AlertMsg(this, "Save Successfuly!");
                    BindPage();
                }
            }
        }
        catch (System.ServiceModel.EndpointNotFoundException ex)
        {
            PageCommon.AlertMsg(this, "Failed to save the Target Close Date, reason: Workflow Manager Service not running.");
        }
        catch (Exception ee)
        {
            PageCommon.AlertMsg(this, String.Format("Failed to save the Target Close Date, reason: {0}", ee.Message));
        }
    }
コード例 #2
0
ファイル: WorkflowManager.cs プロジェクト: PulseCRM/Pulse
        private void UpdateEstCloseDate(UpdateEstCloseDateRequest req)
        {
            string err    = "";
            bool   logErr = false;

            if ((req == null) || (req.FileId <= 0) || (req.NewDate == null))
            {
                err = "WorkflowMgr::UpdateEstCloseDate, ";
                if (req == null)
                {
                    err += "request is empty.";
                }
                else if (req.FileId <= 0)
                {
                    err += String.Format("Fileid {0} is invalid.", req.FileId);
                }
                else if (req.NewDate == null)
                {
                    err += "missing new Est Close Date.";
                }
                else if (req.NewDate == DateTime.MinValue)
                {
                    err += String.Format("invalid Est Close Date {0}.", req.NewDate.Date.ToString());
                }
                int Event_id = 7054;
                EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                return;
            }
            try
            {
                if (m_da.UpdateEstCloseDate(req.FileId, req.hdr.UserId, req.NewDate, ref err) == false)
                {
                    int Event_id = 7055;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                    return;
                }
            }
            catch (Exception ex)
            {
                err = "WorkflowMgr::UpdateEstCloseDate, Exception:" + ex.Message;
                int Event_id = 7056;
                EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
            }
            finally
            {
                if (logErr)
                {
                    int Event_id = 7057;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                }
            }
        }
コード例 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 接收参数

        bool bIsValid = PageCommon.ValidateQueryString(this, "LoanID", QueryStringType.ID);
        if (bIsValid == false)
        {
            this.Response.Write("{\"ExecResult\":\"Failed\",\"ErrorMsg\":\"Missing required query string.\"}");
            this.Response.End();
        }

        string sLoanID = this.Request.QueryString["LoanID"].ToString();

        bIsValid = PageCommon.ValidateQueryString(this, "NewDate", QueryStringType.Date);
        if (bIsValid == false)
        {
            this.Response.Write("{\"ExecResult\":\"Failed\",\"ErrorMsg\":\"Missing required query string.\"}");
            this.Response.End();
        }

        string sNewDate = this.Request.QueryString["NewDate"].ToString();

        bIsValid = PageCommon.ValidateQueryString(this, "LoginUserID", QueryStringType.ID);
        if (bIsValid == false)
        {
            this.Response.Write("{\"ExecResult\":\"Failed\",\"ErrorMsg\":\"Missing required query string.\"}");
            this.Response.End();
        }

        string sLoginUserID = this.Request.QueryString["LoginUserID"].ToString();

        #endregion

        // json示例
        // {"ExecResult":"Success","ErrorMsg":""}
        // {"ExecResult":"Failed","ErrorMsg":"执行数据库脚本时发生错误。"}
        string sExecResult = string.Empty;
        string sErrorMsg   = string.Empty;


        #region 调用LP2Service

        try
        {
            // workflow api
            ServiceManager sm = new ServiceManager();
            using (LP2ServiceClient service = sm.StartServiceClient())
            {
                UpdateEstCloseDateRequest req = new UpdateEstCloseDateRequest();
                req.FileId     = Convert.ToInt32(sLoanID);
                req.NewDate    = Convert.ToDateTime(sNewDate);
                req.hdr        = new ReqHdr();
                req.hdr.UserId = Convert.ToInt32(sLoginUserID);
                UpdateEstCloseDateResponse respone = service.UpdateEstCloseDate(req);

                if (respone.hdr.Successful == true)
                {
                    sExecResult = "Success";
                    sErrorMsg   = "";
                }
                else
                {
                    sExecResult = "Failed";
                    sErrorMsg   = "Failed to change est. close date: " + respone.hdr.StatusInfo + ".";
                }
            }
        }
        catch (System.ServiceModel.EndpointNotFoundException ee)
        {
            sExecResult = "Failed";
            sErrorMsg   = "Failed to change est. close date.";
            PageCommon.AlertMsg(this, "Failed to change est. close date, reason: Point Manager is not running.");
        }
        catch (Exception ex)
        {
            sExecResult = "Failed";
            sErrorMsg   = "Failed to change est. close date.";
        }

        #endregion

        System.Threading.Thread.Sleep(1000);

        sErrorMsg = sErrorMsg.Replace(@"\", @"\\");

        this.Response.Write("{\"ExecResult\":\"" + sExecResult + "\",\"ErrorMsg\":\"" + sErrorMsg + "\"}");
        this.Response.End();
    }
コード例 #4
0
ファイル: WorkflowManager.cs プロジェクト: PulseCRM/Pulse
        public void ProcessRequest(object o)
        {
            string err    = "";
            bool   logErr = false;
            bool   fatal  = false;

            try
            {
                if (o == null)
                {
                    err = "Process Request, Workflow Event is null.";
                    int Event_id = 7058;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                }
                WorkflowEvent e = o as WorkflowEvent;
                if (e == null)
                {
                    err = "Process Request, Workflow Event is null.";
                    int Event_id = 7059;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                    return;
                }
                if (e.RequestMsg == null)
                {
                    err = "Process Request, Workflow Request Message is null.";
                    int Event_id = 7060;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                    return;
                }
                switch (e.RequestType)
                {
                case WorkflowCmd.GenerateWorkflow:
                    GenerateWorkflowRequest req = e.RequestMsg as GenerateWorkflowRequest;
                    GenWorkflow_Internal(req);
                    break;

                case WorkflowCmd.MonitorLoans:
                    MonitorLoans();
                    break;

                case WorkflowCmd.CalculateDueDates:
                    CalculateDueDatesRequest req1 = e.RequestMsg as CalculateDueDatesRequest;
                    CalcuateDueDates_Internal(req1);
                    break;

                case WorkflowCmd.UpdateEstCloseDate:
                    UpdateEstCloseDateRequest req2 = e.RequestMsg as UpdateEstCloseDateRequest;
                    UpdateEstCloseDate(req2);
                    break;
                }
            }
            catch (Exception ex)
            {
                err = "ProcessRequest, Exception:" + ex.Message;
                int Event_id = 7061;
                EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
            }
            finally
            {
                if (logErr)
                {
                    int Event_id = 7062;
                    EventLog.WriteEntry(InfoHubEventLog.LogSource, err, EventLogEntryType.Warning, Event_id, Category);
                }
            }
            return;
        }