Exemplo n.º 1
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;
     }
 }
Exemplo n.º 2
0
 ///<summary>
 ///<para>Gắn Header vào Entity để truyền lên BusinessLogic xử lý</para>
 ///</summary>   
 /// <param name="Entity"><para>Entity chứa thông tin nghiệp vụ</para></param>     
 /// <param name="Header"><para>Header chứa gói tin lưu vết và loại nghiệp vụ cần thao tác</para></param>     
 ///<returns></returns>
 public static void MergeHeader(ref DataSet Entity, DataTable Header)
 {
     try
     {
         if (Entity.Equals(null))
         {
             Utility.ShowMsg("Bạn phải khởi tạo Entity trước khi thực hiện hàm này");
             return;
         }
         if (Header.Equals(null))
         {
             Utility.ShowMsg("Bạn phải khởi tạo Header trước khi thực hiện hàm này");
             return;
         }
         if (Entity.Tables.Contains(Header.TableName))
         {
             Entity.Tables.Remove(Header.TableName);
             Entity.AcceptChanges();
             Entity.Merge(Header);
             Entity.AcceptChanges();
         }
         else
         {
             Entity.Merge(Header);
             Entity.AcceptChanges();
         }
     }
     catch (Exception ex)
     {
         ShowMsg("Lỗi khi gắn Header vào Entity:\n" + ex.Message);
     }
 }