public int Insert(T obj, List <TDesc> lst) { IFactory factory = DBHelper.CreateFactory(); factory.BeginTransaction(); int output = 0; try { output = dal.InsertWithTransaction(obj, factory); foreach (var item in lst) { item.GetType().GetProperty("MainId").SetValue(item, output, null); dalDesc.InsertWithTransaction(item, factory); } factory.Commit(); } catch (Exception ex) { Write2Log.WriteLogs("Generic2C<T, TDesc>", string.Format("Insert({0} obj, List<TDesc> lst)", obj.GetType().Name), ex.Message); factory.Rollback(); } finally { factory.Release(); } return(output); }
public int InsertWithTransaction(T obj, IFactory factory) { return(dal.InsertWithTransaction(obj, factory)); }