Esempio n. 1
0
        protected virtual void Insert()
        {
            DLBase dal = GetMapper();

            dal.Insert(this);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <summary>
 /// Thêm 1 entity
 /// </summary>
 public bool Insert(T entity)
 {
     return(dl.Insert(entity));
 }