示例#1
0
        public override DataSet Approve(object objEntityp)
        {
            clsDirectInsurerPayment objEntity = (clsDirectInsurerPayment)(objEntityp);

            EntityProcesses objProcess = base.getProcessObject(objEntity.UserId.ToString(), EntityType.JOURNAL, objEntity.Status, objEntity.JournalNo, "1");

            try
            {
                base.BeginTransaction();
                if (base.StartProcess(objProcess))
                {
                    DataSet ds = ApproveReceipt(objEntity);
                    if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows[0] != null && ds.Tables[0].Rows[0]["Result"] != null)
                    {
                        objProcess.EntityCurrentStatus = objEntity.Status;
                        objProcess.EntityID            = ds.Tables[0].Rows[0]["Result"].ToString();
                    }
                    base.CommitProcess(objProcess);
                    base.CommitTransaction();
                    return(ds);
                }
                else
                {
                    // base.RollbackProcess(objProcess, EntityType.RECEIPT.ToString());
                    throw (new Exception("Receipt Can not be approved. Error: Process is not eligible on this entity status."));
                }
            }
            catch (Exception ex)
            {
                base.RollbackProcess(objProcess, EntityType.RECEIPT.ToString());
                throw (new Exception("Receipt Can not be approved. Error: " + ex.Message));
            }
        }
示例#2
0
        /// <summary>
        /// Rollback the process specified in model object
        /// </summary>
        /// <param name="objProcessInfo">Process information</param>
        /// <returns>True if sucessfull else false</returns>
        public virtual bool RollbackProcess(EntityProcesses objProcessInfo, string strCalledFor)
        {
            try
            {
                //Checking the Entity Process Elegibility.
                int returnResult = 0;

                if (OnCheckProcessEligibility())
                {
                    //returnResult = CheckProcessEligibility(, objProcessInfo.PROCESS_ID);

                    if (returnResult != 1)
                    {
                        // TransactionDescription.Append("\n" + ClsCommon.FetchGeneralMessage("1376", "") + ";");//Process eligibility is false.
                        return(false);   //Entity not valid for the specified process
                    }
                    else
                    {
                        //TransactionDescription.Append("\n " + ClsCommon.FetchGeneralMessage("1377", "") + ";");//Process eligibility is true.
                    }
                }

                //int iResult = 0;
                //iResult = SetDiaryEntryStatus(objProcessInfo, "N");
                //if (strCalledFor == "NEWVERSION")
                //    iResult = SetDiaryEntryStatus(objProcessInfo, "N", strCalledFor);
                ////TransactionDescription.Append("\n Update the Diary Entry Status.;");
                //if (iResult > 0)
                //    TransactionDescription.Append("\n" + ClsCommon.FetchGeneralMessage("1919", "") + ";");//Diary entry status has been updated.

                //if (OnSetEntitytatus() == true)
                //{
                //    //Updating the status of Entuty on which process has been launched.
                //    string EntityStatusDesc, NewEntityStatus;
                //    SetEntityStatus(, objProcessInfo.PROCESS_ID, out EntityStatusDesc, out NewEntityStatus);
                //    TransactionDescription.Append("\n  " + ClsCommon.FetchGeneralMessage("1488", "") + EntityStatusDesc + ".;");//Entity Status has been updated to
                //}

                ////Update the Process table Information
                DataTable result = UpdateProcessInformation(objProcessInfo);

                //Sets the Entity Status on which the process has been launched.
                //SetProcessStatus(, objProcessInfo.ROW_ID, PROCESS_STATUS_ROLLBACK);
                //TransactionDescription.Append("\n " + ClsCommon.FetchGeneralMessage("1918", "") + ";");//("\n Process Status has been updated.;");

                if (OnWriteTransactionLog())
                {
                    //Updating the transaction log
                    //WriteTransactionLog(,
                    //    GetTransactionLogDesc(objProcessInfo.PROCESS_ID), objProcessInfo.COMPLETED_BY, TransactionDescription.ToString());
                }

                return(true);
            }
            catch (Exception objExp)
            {
                throw (new Exception("Error occured while rollbacking process \n" + objExp.Message));
            }
        }
示例#3
0
        /// <summary>
        /// Saves the information passed in model object to database.
        /// </summary>
        /// <param name="objProcessInfo">Model class object.</param>
        /// <returns>No of records effected.</returns>
        public DataTable AddProcessInformation(EntityProcesses objProcesses)
        {
            string    strStoredProc = "Proc_InsertTM_EntityProcesses";
            DateTime  RecordDate    = DateTime.Now;
            DataTable returnResult;

            //DataAccessLayer.DatabaseInteraction objWrapper = new DataAccessLayer.DatabaseInteraction(CommandType.StoredProcedure);
            try
            {
                objWrapper.ClearParameteres();
                objWrapper.AddParameter("@EntityID", objProcesses.EntityID);
                objWrapper.AddParameter("@EntityTypeID", objProcesses.EntityTypeID);
                objWrapper.AddParameter("@EntityVersionID", objProcesses.EntityVersionID);
                objWrapper.AddParameter("@EntityNewVersionID", objProcesses.EntityNewVersionID);
                objWrapper.AddParameter("@EntityPreviousStatus", objProcesses.EntityPreviousStatus);
                objWrapper.AddParameter("@EntityCurrentStatus", objProcesses.EntityCurrentStatus);
                objWrapper.AddParameter("@ProcessID", objProcesses.ProcessID);
                objWrapper.AddParameter("@ProcessType", "");
                objWrapper.AddParameter("@ProcessStatus", objProcesses.ProcessStatus);
                objWrapper.AddParameter("@ProcessEffectiveDate", objProcesses.ProcessEffectiveDate);
                objWrapper.AddParameter("@SentTo", objProcesses.SentTO);
                objWrapper.AddParameter("@Remarks", objProcesses.Remarks);
                objWrapper.AddParameter("@Reason", objProcesses.Reason);
                objWrapper.AddParameter("@FollowUpId", objProcesses.FollowupIds);
                objWrapper.AddParameter("@CreatedBy", objProcesses.CreatedBy);
                string[] tbls = { "ProcessTable" };
                returnResult = objWrapper.GetDataset(strStoredProc, tbls).Tables[0];

                if (returnResult.Rows[0]["ProcessRowId"] != null)
                {
                    objProcesses.ProcessRowId = int.Parse(returnResult.Rows[0]["ProcessRowId"].ToString());
                }

                objWrapper.ClearParameteres();
                return(returnResult);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
示例#4
0
        public override DataSet Approve(object objEntity)
        {
            clsUnApprovedInfo objXmlEntity = (clsUnApprovedInfo)(objEntity);

            EntityProcesses objProcess = base.getProcessObject(objXmlEntity.LoginUserId, EntityType.CLIENT, objXmlEntity.AppStatus, objXmlEntity.RecForId.ToString(), "1");

            //{
            //    EntityCurrentStatus = "",
            //    EntityNewVersionID ="",
            //    EntityPreviousStatus = "",
            //    EntityVersionID ="",
            //    ProcessID =1,
            //    ProcessRowId =-1,
            //    Reason ="",
            //    Remarks ="",
            //    SentTO = ""

            //};
            try
            {
                base.BeginTransaction();
                if (base.StartProcess(objProcess))
                {
                    DataSet dsClient = ApproveClient(objEntity);
                    base.CommitProcess(objProcess);
                    base.CommitTransaction();
                    return(dsClient);
                }
                else
                {
                    // base.RollbackProcess(objProcess, EntityType.RECEIPT.ToString());
                    throw (new Exception("Client Can not be approved. Error: Process is not eligible on this entity status."));
                }
            }
            catch (Exception ex)
            {
                base.RollbackProcess(objProcess, EntityType.CLIENT.ToString());
                throw (new Exception("Client Can not be approved. Error: " + ex.Message));
            }
        }
示例#5
0
        private DataSet RejectReceipt(clsReciept objEntity)
        {
            DataSet    dsApprove        = new DataSet();
            clsReciept objReceiptEntity = (clsReciept)(objEntity);

            EntityProcesses objProcess = base.getProcessObject(objReceiptEntity.UserId.ToString(), EntityType.RECEIPT, objReceiptEntity.Status, objReceiptEntity.ReceiptNo, "1");

            try
            {
                base.BeginTransaction();
                if (base.StartProcess(objProcess))
                {
                    //DataSet dsReciept = ApproveReceipt(objReceiptEntity);
                    //if (dsReciept != null && dsReciept.Tables.Count > 0 && dsReciept.Tables[0] != null && dsReciept.Tables[0].Rows.Count > 0 && dsReciept.Tables[0].Rows[0] != null && dsReciept.Tables[0].Rows[0]["Result"] != null)
                    //{

                    //    objProcess.EntityCurrentStatus = objReceiptEntity.Status;
                    //    objProcess.EntityID = dsReciept.Tables[0].Rows[0]["Result"].ToString();
                    //}
                    base.CommitProcess(objProcess);
                    base.CommitTransaction();
                    return(dsApprove);
                }
                else
                {
                    // base.RollbackProcess(objProcess, EntityType.RECEIPT.ToString());
                    throw (new Exception("Receipt Can not be approved. Error: Process is not eligible on this entity status."));
                }
            }
            catch (Exception ex)
            {
                base.RollbackProcess(objProcess, EntityType.RECEIPT.ToString());
                throw (new Exception("Receipt Can not be approved. Error: " + ex.Message));
            }
            return(dsApprove);
        }
示例#6
0
        public virtual bool CommitProcess(EntityProcesses objProcessInfo, string strCalledFrom)
        {
            try
            {
                int returnResult = 0;

                if (OnCheckProcessEligibility())
                {
                    //returnResult = CheckProcessEligibility();

                    if (returnResult != 1)
                    {
                        //TransactionDescription.Append("\n " + ClsCommon.FetchGeneralMessage("1376", "") + ";");//Process eligibility is false.;");
                        return(false);   //Entity not valid for the specified process
                    }
                    else
                    {
                        //TransactionDescription.Append("\n" + ClsCommon.FetchGeneralMessage("1377", "") + ";");// Process eligibility is true.;");
                    }
                }

                int iResult = 0, iResult1 = 0;
                //iResult = SetDiaryEntryStatus(objProcessInfo, "N");
                //if (strCalledFrom == "NEWVERSION")
                //    iResult1 = SetDiaryEntryStatus(objProcessInfo, "N", strCalledFrom);
                //    TransactionDescription.Append(Cms.BusinessLayer.BlCommon.ClsCommon.FetchGeneralMessage("1378", ""));//Diary entry status has been marked completed.;");


                if (OnSetEntityStatus())
                {
                    //Updating the status of Entity on which process has been launched.
                    string EntityStatusDesc, NewEntityStatus = "";
                    SetEntityStatus(objProcessInfo.EntityID, objProcessInfo.EntityTypeID, objProcessInfo.EntityVersionID, objProcessInfo.ProcessID, objProcessInfo.EntityCurrentStatus, out EntityStatusDesc, out NewEntityStatus);
                    //TransactionDescription.Append("\n " + ClsCommon.FetchGeneralMessage("1339", "") + EntityStatusDesc + ".;");
                    if (NewEntityStatus != "")
                    {
                        objProcessInfo.EntityCurrentStatus = NewEntityStatus;
                    }
                }
                objProcessInfo.ProcessStatus = "COMPLETE";
                objProcessInfo.RequestedDate = DateTime.Now.ToLongDateString();
                //Update the Process table Information
                DataTable result = UpdateProcessInformation(objProcessInfo);

                //Sets the Process Status on which the process has been launched.
                //SetProcessStatus(, objProcessInfo.ROW_ID, PROCESS_STATUS_COMPLETE);
                //TransactionDescription.Append(ClsCommon.FetchGeneralMessage("1379", ""));//Process Status has been updated.;");

                if (OnWriteTransactionLog())
                {
                    //Updating the transaction log
                    //  WriteTransactionLog(,
                    //     GetTransactionLogDesc(objProcessInfo.PROCESS_ID), objProcessInfo.COMPLETED_BY, TransactionDescription.ToString());
                }

                return(true);
            }
            catch (Exception objExp)
            {
                throw (new Exception("Error occured while committing process \n" + objExp.Message));
            }
        }
示例#7
0
 /// <summary>
 /// Commits the process specified in model object
 /// </summary>
 /// <param name="objProcessInfo">Process information</param>
 /// <returns>True if sucessfull else false</returns>
 //Overloaded virtual function
 public virtual bool CommitProcess(EntityProcesses objProcessInfo)
 {
     return(CommitProcess(objProcessInfo, ""));
 }
示例#8
0
        /// <summary>
        /// Starts the specified process, passed in model object
        /// </summary>
        /// <param name="objProcessInfo">Process info into model</param>
        /// <returns>True if sucessfull else false</returns>
        public virtual bool StartProcess(EntityProcesses objProcessInfo)
        {
            try
            {
                //Checking the Entity Process Elegibility.
                int returnResult = 0;
                if (OnCheckProcessEligibility())
                {
                    //returnResult = CheckProcessEligibility(objProcessInfo.EntityID, objProcessInfo.EntityVersionID, objProcessInfo.EntityTypeID, objProcessInfo.PROCESS_ID);

                    if (returnResult != 1)
                    {
                        return(false);   //Entity not valid for the specified process
                    }
                }
                EntityProcesses objRunningProcess = GetRunningProcess(objProcessInfo.EntityID, objProcessInfo.EntityTypeID, objProcessInfo.EntityVersionID);
                if (objRunningProcess != null)
                {
                    objProcessInfo.ProcessRowId = objRunningProcess.ProcessRowId;
                    objProcessInfo.ProcessID    = objRunningProcess.ProcessID;
                    objProcessInfo.Reason       = objRunningProcess.Reason;
                    objProcessInfo.Remarks      = objRunningProcess.Remarks;
                    objProcessInfo.SentTO       = objRunningProcess.SentTO;
                    objProcessInfo.FollowupIds  = objRunningProcess.FollowupIds;
                }
                else
                {
                    //At start process status should be pending
                    objProcessInfo.ProcessStatus = PROCESS_STATUS_PENDING;
                    //Adding the record into Entity process table (TM_ENTITY_PROCESS)
                    AddProcessInformation(objProcessInfo);
                    //TransactionDescription.Append("\n" + FetchGeneralMessage("1124", ";")); //Process has been added in process log.;");
                }
                #region DIARY/Followup ENTRY

                #endregion



                if (OnSetEntityStatus() == true)
                {
                    //Sets the Entity Status on which the process has been launched.
                    string EntityStatusDesc, NewEntityStatus;
                    //SetEntityStatus( objProcessInfo.PROCESS_ID, out EntityStatusDesc, out NewEntityStatus);
                    //TransactionDescription.Append("\n" + FetchGeneralMessage("1339", ";") + "" + EntityStatusDesc + ".;");
                }

                //Transaction log entry will be done.
                if (OnWriteTransactionLog())
                {
                    //WriteTransactionLog(
                    //    , GetTransactionLogDesc(objProcessInfo.PROCESS_ID), objProcessInfo.CREATED_BY, TransactionDescription.ToString());
                }
                return(true);
            }
            catch (Exception objExp)
            {
                //throw (new Exception(FetchGeneralMessage("1338", ";") + "\n" + objExp.Message));
                throw (new Exception("Error while starting Process." + "\n" + objExp.Message));
            }
        }