Example #1
0
 /// <summary>
 /// Thiết lập các giá trị mặc định cho class
 /// </summary>
 private void VietBaInitialize()
 {
     //Lấy về tên DLL. ManifestModule.Name ban đầu có dạng "DLLName.dll"-->Ta chỉ lấy phần "DLLName"
     AssName = this.GetType().Assembly.ManifestModule.Name;// System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name;
     //Thiết lập chế độ MultiLanguage cho class
     if (globalVariables.SqlConn != null)
     {
         //MultiLanguage.SetLanguage(globalVariables.DisplayLanguage, this, AssName.Split('.')[0], globalVariables.SqlConn);
         //Khởi tạo tính năng tùy biến cấu hình ẩn hiện cột trên DataGridView. Chỉ có Form nào chứa DataGridView thì mới cần
         //khai báo mục này
        // VietBaIT.CommonLibrary.GridViewUtils _GridViewUtils = new VietBaIT.CommonLibrary.GridViewUtils(this, globalVariables.Branch_ID, globalVariables.UserName, AssName, true);
     }
     //Tạo Trace cho chức năng này
     Trace = new TraceInfor(globalVariables.Branch_ID, globalVariables.UserName, System.DateTime.Now.ToShortDateString(), Utility.GetIPAddress(), AssName.Split('.')[0], globalVariables.SubSystemName, globalVariables.FunctionID, globalVariables.FunctionName, Utility.GetComputerName(), Utility.GetAccountName());
     //Utility.InitSubSonic(globalVariables.SqlConnectionString, globalVariables.ProviderName);
 }
Example #2
0
 ///<summary>
 ///<para>Lấy về đối tượng vết từ gói tin gửi từ Client lên Application Server: Header</para>
 ///</summary>   
 /// <param name="Header"><para>Dataset chứa Header chứa thông tin vết. Thường là Header <see cref="DataTable"/></para></param>     
 ///<returns>HISTrace nếu tồn tại Header. Ngược lại trả về null.</returns>
 public static TraceInfor GetTraceObjectFromHeader(DataSet Header)
 {
     TraceInfor trace = new TraceInfor();
     try
     {
         if (Header.Equals(null) || Header.Tables.Count <= 0 || Header.Tables["Header"].Rows.Count <= 0)
         {
             //Utility.ShowMsg("Header bạn đưa vào chưa được khởi tạo nên chưa có thông tin về Trace. Đề nghị bạn xem lại...");
             return null;
         }
         //Read from Header Into Trace
         trace.pID = Int32Dbnull(Header.Tables["Header"].Rows[0]["ID"], 0);
         trace.pBranchID = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["BranchID"]));
         trace.pUserName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["UserName"]));
         trace.pCreatedDate = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["CreatedDate"]));
         trace.pIPAddress = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["IPAddress"]));
         trace.ComputerName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["ComputerName"]));
         trace.AccountName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["AccountName"]));
         trace.DLLName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["DLLName"]));
         trace.pSubSystemName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["SubSystemName"]));
         trace.pFunctionID = Int16Dbnull(Header.Tables["Header"].Rows[0]["FunctionID"]);
         trace.FunctionName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["FunctionName"]));
         trace.pTableName = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["TableName"]));
         trace.pDesc = CorrectStringValue(sDbnull(Header.Tables["Header"].Rows[0]["Desc"]));
         trace.pLO = Int16Dbnull(Header.Tables["Header"].Rows[0]["LOT"], 0);
         return trace;
     }
     catch (Exception ex)
     {
         Utility.ShowMsg("Lỗi khi lấy đối tượng vết từ Header:\n" + ex.Message);
         return null;
     }
 }
Example #3
0
 ///<summary>
 ///<para>Lưu vết người dùng</para>
 ///</summary>   
 /// <param name="trace"><para>Đối tượng vết <see cref="HISTrace"/></para></param>     
 ///<returns>
 /// <para>ResultType.SaveTraceSuccess nếu SaveTrace thành công</para>
 /// <para>ResultType.CannotSaveTrace or ResultType.Exception nếu SaveTrace không thành công</para>
 ///</returns>
 public static ActionResult SaveTrace(TraceInfor trace, System.Data.SqlClient.SqlTransaction Trans)
 {
     if (trace == null)
     {
         //Utility.ShowMsg("Bạn phải khởi tạo đối tượng trace=new TraceInfor() trước khi sử dụng Method này");
         //Nếu TraceInfor=null có nghĩa là ko cần theo dõi vết đối với nghiệp vụ đang xét
         return ActionResult.Success;
     }
     return new TraceController(trace).Save(Trans);
 }
Example #4
0
        ///<summary>
        ///<para>Đưa giá trị của vết vào Header trước khi gửi lên Business xử lý</para>
        ///</summary>   
        /// <param name="Header"><para>Bảng lưu vết</para></param>     
        /// <param name="trace"><para>Đối tượng vết <see cref="HISTrace"/></para></param>     
        public void MergeTraceIntoHeader(ref DataTable Header, TraceInfor trace)
        {
            try
            {
                DataRow dr;
                bool bExist = false;
                if (Header.Equals(null))
                {
                    Utility.ShowMsg("Không thể gắn Trace vào Header vì đối tượng Header bạn truyền vào chưa được khởi tạo. Đề nghị bạn xem lại...");
                    return;
                }
                if (Header.Rows.Count > 0)
                {
                    dr = Header.Rows[0];
                    bExist = true;
                }
                else
                {
                    bExist = false;
                    dr = Header.NewRow();
                }
                //Read from Header Into Trace
                if (trace == null) return;
                dr["ID"] = Utility.Int16Dbnull(trace.pID, 0);

                dr["BranchID"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pBranchID));
                dr["UserName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pUserName));
                dr["CreatedDate"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pCreatedDate, DateTime.Now.ToShortDateString()));
                dr["IPAddress"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pIPAddress));
                dr["ComputerName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.ComputerName));
                dr["AccountName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.AccountName));
                dr["DLLName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.DLLName));
                dr["SubSystemName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pSubSystemName));
                dr["FunctionID"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pFunctionID));
                dr["FunctionName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.FunctionName));
                dr["TableName"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pTableName));
                dr["Desc"] = Utility.CorrectStringValue(Utility.sDbnull(trace.pDesc));
                dr["LOT"] = Utility.Int16Dbnull(trace.pLO, 0);
                if (!bExist)
                {
                    Header.Rows.Add(dr);
                }
                Header.AcceptChanges();
            }
            catch (Exception ex)
            {
                Utility.ShowMsg("Lỗi khi tạo gán thông tin Trace vào Header:\n" + ex.Message);
                return;
            }
        }
Example #5
0
        public TraceController(TraceInfor Infor)
        {

            this.Infor = Infor;
        }
Example #6
0
        ///<summary>
        ///<para>Tạo Header có gắn DML type và HISTrace</para>
        ///</summary>   
        /// <param name="Header"><para>Header chứa gói tin</para></param>     
        /// <param name="action"><para>Loại nghiệp vụ cần thao tác <see cref="action"/></para></param>     
        /// <param name="trace"><para>Đối tượng lưu vết <see cref="HISTrace"/></para></param>     
        ///<returns></returns>
        public static void CreateHeader(ref DataTable Header, action action, TraceInfor trace)
        {
            try
            {
                if ((Header == null))
                {
                    Utility.ShowMsg("Header chưa được khởi tạo. Đề nghị LTV khai báo Header=new Header() trước khi sử dụng thủ tục này!");
                    return;
                }
                if (trace == null)
                {
                    //Utility.ShowMsg("Bạn chưa khởi tạo đối tượng trace. Đề nghị bạn khởi tạo trace trước khi sử dụng hàm này!");
                    return;
                }

                //Read from Header Into Trace
                DataRow dr = Header.NewRow();
                dr["action"] = action;
                dr["ID"] = trace.pID;
                dr["BranchID"] = CorrectStringValue(sDbnull(trace.pBranchID));
                dr["UserName"] = CorrectStringValue(sDbnull(trace.pUserName));
                dr["CreatedDate"] = CorrectStringValue(sDbnull(trace.pCreatedDate));
                dr["IPAddress"] = CorrectStringValue(sDbnull(trace.pIPAddress));
                dr["ComputerName"] = CorrectStringValue(sDbnull(trace.ComputerName));
                dr["AccountName"] = CorrectStringValue(sDbnull(trace.AccountName));
                dr["DLLName"] = CorrectStringValue(sDbnull(trace.DLLName));
                dr["SubSystemName"] = CorrectStringValue(sDbnull(trace.pSubSystemName));
                dr["FunctionID"] = CorrectStringValue(sDbnull(trace.pFunctionID));
                dr["FunctionName"] = CorrectStringValue(sDbnull(trace.FunctionName));
                dr["TableName"] = CorrectStringValue(sDbnull(trace.pTableName));
                dr["Desc"] = CorrectStringValue(sDbnull(trace.pDesc));
                dr["LOT"] = Int32Dbnull(trace.pLO, 0);
                Header.Rows.Add(dr);
                Header.AcceptChanges();
            }
            catch (Exception ex)
            {
                Utility.ShowMsg("Lỗi khi tạo Header từ Trace:\n" + ex.Message);
                return;
            }
        }