public List <WorkflowHistoryEntity> GetList(int workflowRequestID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select wfhis.*, u.FirstName+' '+u.LastName As ProcessedByName from WorkflowHistory wfhis, Users u ");
            strSql.Append(" where WorkflowRequestID=@WorkflowRequestID and wfhis.ProcessedBy=u.UserID; ");
            Database db = DatabaseFactory.CreateDatabase();
            List <WorkflowHistoryEntity> list = new List <WorkflowHistoryEntity>();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "WorkflowRequestID", DbType.Int32, workflowRequestID);
                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                    {
                        while (dataReader.Read())
                        {
                            list.Add(WorkflowHistoryEntity.ReaderBind(dataReader));
                        }
                    }

                    foreach (WorkflowHistoryEntity ent in list)
                    {
                        SealFilesRepositorySqlDataProvider sealFilesRep = new SealFilesRepositorySqlDataProvider();
                        ent.lstFiles = sealFilesRep.GetListByHistoryID(ent.ID);
                    }
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql.ToString(), base.FormatParameters(dbCommand.Parameters), ex.Message));
                }
                return(list);
            }
        }
Exemplo n.º 2
0
        private void InsertWorkflowHistory(int userID)
        {
            WorkflowHistoryEntity wfhisEntInsert = new WorkflowHistoryEntity();

            wfhisEntInsert.WorkflowRequestID = sealRequestEntity.ID;
            wfhisEntInsert.CreatedTime       = DateTime.Now;
            wfhisEntInsert.ProcessedBy       = userID;
            wfhisEntInsert.Action            = WorkflowAction.Pending;
            app.WorkflowHistoryInsert(wfhisEntInsert);
        }
Exemplo n.º 3
0
        private void InsertWorkflowHistory(int RequestID, int userID, WorkflowAction action)
        {
            WorkflowHistoryEntity wfhisEntInsert = new WorkflowHistoryEntity();

            wfhisEntInsert.WorkflowRequestID = RequestID;
            wfhisEntInsert.CreatedTime       = DateTime.Now;
            wfhisEntInsert.ProcessedBy       = userID;
            wfhisEntInsert.Action            = action;
            app.WorkflowHistoryInsert(wfhisEntInsert);
        }
        public int UpdateReturnID(WorkflowHistoryEntity entity)
        {
            int           resultID = -1;
            StringBuilder strSql   = new StringBuilder();

            strSql.Append("Select ID from WorkflowHistory ");
            strSql.Append("WHERE WorkflowRequestID=@WorkflowRequestID AND ProcessedBy=@ProcessedBy AND Action=-1; ");
            strSql.Append("Update WorkflowHistory Set ");
            strSql.Append("ProcessedTime=@ProcessedTime,Action=@Action,Comment=@Comment ");
            strSql.Append("WHERE WorkflowRequestID=@WorkflowRequestID AND ProcessedBy=@ProcessedBy AND Action=-1");

            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "WorkflowRequestID", DbType.Int32, entity.WorkflowRequestID);
                    db.AddInParameter(dbCommand, "ProcessedBy", DbType.Int32, entity.ProcessedBy);
                    db.AddInParameter(dbCommand, "ProcessedTime", DbType.DateTime, entity.ProcessedTime);
                    db.AddInParameter(dbCommand, "Action", DbType.Int32, (int)entity.Action);
                    db.AddInParameter(dbCommand, "Comment", DbType.String, entity.Comment);

                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                    {
                        if (dataReader.Read())
                        {
                            resultID = (int)dataReader["ID"];
                        }
                    }

                    db.ExecuteScalar(dbCommand);
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]",
                                                    strSql.ToString(),
                                                    base.FormatParameters(dbCommand.Parameters),
                                                    ex.Message));
                }
            }
            return(resultID);
        }
        public int InsertFirst(WorkflowHistoryEntity entity)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("INSERT INTO WorkflowHistory");
            strSql.Append("(WorkflowRequestID,CreatedTime,ProcessedBy,ProcessedTime,Action) ");
            strSql.Append("VALUES(");
            strSql.Append("@WorkflowRequestID,@CreatedTime,@ProcessedBy,@ProcessedTime,@Action)");
            strSql.Append(";select ISNULL( SCOPE_IDENTITY(),0);");

            Database db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "WorkflowRequestID", DbType.Int32, entity.WorkflowRequestID);
                    db.AddInParameter(dbCommand, "CreatedTime", DbType.DateTime, entity.CreatedTime);
                    db.AddInParameter(dbCommand, "ProcessedBy", DbType.Int32, entity.ProcessedBy);
                    db.AddInParameter(dbCommand, "ProcessedTime", DbType.DateTime, entity.ProcessedTime);
                    db.AddInParameter(dbCommand, "Action", DbType.Int32, (int)entity.Action);

                    int    result;
                    object obj = db.ExecuteScalar(dbCommand);
                    if (!int.TryParse(obj.ToString(), out result))
                    {
                        return(0);
                    }
                    return(result);
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]",
                                                    strSql.ToString(),
                                                    base.FormatParameters(dbCommand.Parameters),
                                                    ex.Message));
                    return(0);
                }
            }
        }
 public bool Update(WorkflowHistoryEntity entity)
 {
     return(true);
 }
Exemplo n.º 7
0
 public int WorkflowHistoryUpdate(WorkflowHistoryEntity entity)
 {
     return(mgr.WorkflowHistoryUpdate(entity));
 }
Exemplo n.º 8
0
 public int WorkflowHistoryInsertFirst(WorkflowHistoryEntity entity)
 {
     return(mgr.WorkflowHistoryInsertFirst(entity));
 }
Exemplo n.º 9
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            int            wfhisEntUpdateID = 0;
            WorkflowAction selectedAction   = (WorkflowAction)Enum.Parse(typeof(WorkflowAction), ddlAction.SelectedValue);
            int            nextUserID       = HiddenFieldUsers.Value.Length > 0 ? int.Parse(HiddenFieldUsers.Value) : -1;

            sealRequestEntity = CheckData();

            // Update this record in WorkflowHistory table
            if ((ddlAction.SelectedValue == WorkflowAction.Submit.ToString() && sealRequestEntity.Status != RequestStatus.Denied) || ddlAction.SelectedValue == WorkflowAction.Save.ToString())
            {
            }
            else
            {
                WorkflowHistoryEntity wfhisEntUpdate = new WorkflowHistoryEntity();
                wfhisEntUpdate.ProcessedBy       = UserInfo.ID;
                wfhisEntUpdate.WorkflowRequestID = sealRequestEntity.ID;
                wfhisEntUpdate.ProcessedTime     = DateTime.Now;
                wfhisEntUpdate.Action            = selectedAction;
                wfhisEntUpdate.Comment           = txtComments.Text;
                wfhisEntUpdateID = app.WorkflowHistoryUpdate(wfhisEntUpdate);
            }

            // Insert files
            if (divUploadFiles1.Visible)
            {
                if (fileupload1.PostedFile.ContentLength > 0 && IsValidFile(fileupload1.PostedFile.FileName))
                {
                    InsertFile(fileupload1.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 1);
                }
                if (fileupload2.PostedFile.ContentLength > 0 && IsValidFile(fileupload2.PostedFile.FileName))
                {
                    InsertFile(fileupload2.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 2);
                }
                if (fileupload3.PostedFile.ContentLength > 0 && IsValidFile(fileupload3.PostedFile.FileName))
                {
                    InsertFile(fileupload3.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 3);
                }
            }
            if (divUploadFiles2.Visible)
            {
                if (fileupload4.PostedFile.ContentLength > 0 && IsValidFile(fileupload4.PostedFile.FileName))
                {
                    InsertFile(fileupload4.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 1);
                }
                if (fileupload5.PostedFile.ContentLength > 0 && IsValidFile(fileupload5.PostedFile.FileName))
                {
                    InsertFile(fileupload5.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 2);
                }
                if (fileupload6.PostedFile.ContentLength > 0 && IsValidFile(fileupload6.PostedFile.FileName))
                {
                    InsertFile(fileupload6.PostedFile, sealRequestEntity.ID, wfhisEntUpdateID, 3);
                }
            }


            // Update status in SealRequest table
            if (sealRequestEntity.Type == 0)
            {
                switch (selectedAction)
                {
                case WorkflowAction.Submit:
                    if (sealRequestEntity.Status == RequestStatus.Denied && sealRequestEntity.RequestedBy == UserInfo.UserID)
                    {
                        SendSubmitEmail(sealRequestEntity);
                    }
                    else
                    {
                        ChangeRequestStatus_Submitted();
                    }
                    break;

                case WorkflowAction.ForwardApproval:
                    ChangeRequestStatus_ForwardApproval();
                    break;

                case WorkflowAction.Approve:
                    ChangeRequestStatus_Approved();
                    break;

                case WorkflowAction.ForwardProcess:
                    ChangeRequestStatus_ForwardProcessing();
                    break;

                case WorkflowAction.FinishProcess:
                    ChangeRequestStatus_Processed();
                    break;

                case WorkflowAction.ContinueProcess:
                    ChangeRequestStatus(RequestStatus.PendingProcess);
                    break;

                case WorkflowAction.Deny:
                    ChangeRequestStatus_Denied();
                    break;

                case WorkflowAction.Complete:
                    ChangeRequestStatus_Completed();
                    break;

                case WorkflowAction.Cancel:
                    ChangeRequestStatus_Canceled();
                    break;

                case WorkflowAction.Save:
                    ChangeRequestStatus_Saved();
                    break;
                }
            }
            else
            {
                switch (selectedAction)
                {
                case WorkflowAction.Submit:
                    ChangeRequestStatus(RequestStatus.Submitted);
                    UpdateRequestDetails();
                    SendEmailToRespUser(nextUserID);
                    break;

                case WorkflowAction.ForwardApproval:
                    ChangeRequestStatus(RequestStatus.PendingApproval);
                    SendEmailToRespUser(nextUserID);
                    break;

                case WorkflowAction.Approve:
                    ChangeRequestStatus(RequestStatus.Approved);
                    SendEmailToRespUser(nextUserID);
                    break;

                case WorkflowAction.ForwardProcess:
                    ChangeRequestStatus(RequestStatus.PendingProcess);
                    SendEmailToRespUser(nextUserID);
                    break;

                case WorkflowAction.FinishProcess:
                    ChangeRequestStatus(RequestStatus.Processed);
                    SendEmailToUser(true);
                    break;

                case WorkflowAction.ContinueProcess:
                    ChangeRequestStatus(RequestStatus.PendingProcess);
                    SendEmailToRespUser(nextUserID);
                    break;

                case WorkflowAction.Deny:
                    ChangeRequestStatus(RequestStatus.Denied);
                    SendEmailToUser(false);
                    break;

                case WorkflowAction.Complete:
                    ChangeRequestStatus(RequestStatus.Completed);
                    break;

                case WorkflowAction.Cancel:
                    ChangeRequestStatus(RequestStatus.Canceled);
                    break;

                case WorkflowAction.Save:
                    UpdateRequestDetails();
                    break;
                }
            }

            // Insert next record in WorkflowHistory table

            //else if (sealRequestEntity.Type == 0 && (ddlAction.SelectedValue == "Submit" || ddlAction.SelectedValue == "Approve"))  //Possible multiple next responsible users
            //{
            //    string[] lstUserID = HiddenFieldUsers.Value.Split(',');
            //    foreach (string s in lstUserID)
            //    {
            //        InsertWorkflowHistory(int.Parse(s));
            //    }
            //}

            if (nextUserID != -1)
            {
                InsertWorkflowHistory(nextUserID);
            }

            // Redirect
            if (sealRequestEntity != null)
            {
                if (sealRequestEntity.Status == RequestStatus.Canceled)
                {
                    Response.Redirect("SealRequests.aspx"); //取消申请后,跳转到列表页
                }
                else
                {
                    Redirect(string.Format("EditSealRequest.aspx?ID={0}&returnurl={1}"
                                           , sealRequestEntity.ID, QS("returnurl")), true); //重定向一次
                }
            }
            else
            {
                ShowFailMessageToClient(app.BrokenRuleMessages);
            }
        }
Exemplo n.º 10
0
 public int WorkflowHistoryUpdate(WorkflowHistoryEntity entity)
 {
     return(wfhisRepository.UpdateReturnID(entity));
 }
Exemplo n.º 11
0
 public int WorkflowHistoryInsertFirst(WorkflowHistoryEntity entity)
 {
     return(wfhisRepository.InsertFirst(entity));
 }