protected virtual void Insert() { DLBase dal = GetMapper(); dal.Insert(this); }
/// <summary> /// ((Inser)t)MasterDetail /// </summary> /// <returns></returns> /// <remarks></remarks> public virtual bool Insert() { bool blnResult = false; using (var cnn = oDLBase.DataConnection) { if (cnn.State == ConnectionState.Closed) { cnn.Open(); } MySqlTransaction ts = cnn.BeginTransaction(); try { int iMasterID; string strMessageDupplicate = CheckUniqueExistsReturnString(MasterRow); if (string.IsNullOrEmpty(strMessageDupplicate)) { blnResult = PrepareInsert(ts); if (int.TryParse(oDLBase.Insert(drMasterRow, ts).ToString(), out iMasterID) && iMasterID > 0) { bool orinalReadonly = drMasterRow.Table.Columns[strMasterPrimarykey].ReadOnly; drMasterRow.Table.Columns[strMasterPrimarykey].ReadOnly = false; drMasterRow[strMasterPrimarykey] = iMasterID; drMasterRow.Table.Columns[strMasterPrimarykey].ReadOnly = orinalReadonly; // Nếu có bảng Detail thì cập nhật bảng detail if (TableDetail != null && TableDetail.Rows.Count > 0) { // cập nhật lại identity tự tăng foreach (DataRow drDetail in TableDetail.Rows) { drDetail[strMasterPrimarykey] = iMasterID; } oDLBase.UpdateData(TableDetail.DataSet, strTableDetailName, ts); blnResult = true; } //else blnResult = true; if (blnResult) { blnResult = CompleteInsert(ts); } } } else { throw new Exception(strMessageDupplicate); } if (!blnResult) { ts.Rollback(); } else { ts.Commit(); } } catch (Exception ex) { ts.Rollback(); throw ex; } finally { ts.Dispose(); cnn.Close(); } } return(blnResult); }
/// <summary> /// Thêm 1 entity /// </summary> public bool Insert(T entity) { return(dl.Insert(entity)); }