public virtual void onAfterUpdated()
 {
     //DO NOT WRITE LOG FOR LOGHETHONG (LOOPBACK!)
     if (needToWriteLogHeThong())
     {
         LogHeThong log = new LogHeThong();
         log.onBeforeAdded();//MANUAL MODE
         log.mota = StringHelper.toJSON(buildLog("edit"));
         log.add();
     }
 }
 /// <summary>
 /// Chạy nghiệp vụ trước khi bị xóa
 /// </summary>
 public virtual void onBeforeDeleted()
 {
     //DO NOT WRITE LOG FOR LOGHETHONG (LOOPBACK!)
     if (needToWriteLogHeThong())
     {
         LogHeThong log = new LogHeThong();
         log.onBeforeAdded();
         //quocdunginfo fail (conflict with write log hethong)
         log.mota = StringHelper.toJSON(buildLog("delete"));
         log.add();
     }
 }
        public virtual void onAfterAdded()
        {
            //AUTO ORDER (NO NEED)
            //this.order = DateTimeHelper.toMilisec(date_create);

            //LOGHETHONG
            //DO NOT WRITE LOG FOR LOGHETHONG (LOOPBACK!)
            if (needToWriteLogHeThong())
            {
                LogHeThong log = new LogHeThong();
                log.onBeforeAdded();//MANUAL MODE
                log.mota = StringHelper.toJSON(buildLog("add"));
                log.add();
            }
        }