public BaseDTO Select(BaseDTO baseDTO) { connectionStringEF = baseDTO.ConnectTo.GetDescription().GetConnectionStringEF("AATEntities"); _DBManger = new AATEntities(connectionStringEF); try { baseDTO = DoSelect(baseDTO); } catch (Exception ex) { baseDTO.Result.IsResult = false; baseDTO.Result.ResultMsg = ex.Message; if (ex.InnerException != null) { baseDTO.Result.ResultMsg = ex.InnerException.Message; if (ex.InnerException.InnerException != null) { baseDTO.Result.ResultMsg = ex.InnerException.InnerException.Message; } } } _DBManger = new AATEntities(connectionStringEF); baseDTO = SaveMessageError(baseDTO); if (_DBManger != null) { _DBManger.Dispose(); _DBManger = null; } return(baseDTO); }
public BaseDTO UpdateNoEF(BaseDTO baseDTO) { connectionStringEF = baseDTO.ConnectTo.GetDescription().GetConnectionStringEF("AATEntities"); _DBMangerNoEF = new SqlDBManger(); _DBMangerNoEF.ConnectionName = baseDTO.ConnectTo.GetDescription(); baseDTO = SetStandardLog(baseDTO, "Before"); try { if (baseDTO.IsTransaction) { _DBMangerNoEF.BeginTransaction(); } baseDTO = DoUpdate(baseDTO); } catch (Exception ex) { baseDTO.Result.IsResult = false; baseDTO.Result.ActionResult = -1; baseDTO.Result.ResultMsg = ex.Message; } finally { if (baseDTO.IsTransaction) { if (baseDTO.Result.ActionResult >= 0) { _DBMangerNoEF.CommitTransaction(); } else { _DBMangerNoEF.RollbackTransaction(); } } } try { if (baseDTO.Result.IsResult) { baseDTO = DoAfterUpdate(baseDTO); } } catch (Exception ex) { baseDTO.Result.IsResult = false; baseDTO.Result.ActionResult = -1; baseDTO.Result.ResultMsg = ex.Message; } baseDTO = SetStandardLog(baseDTO, "After"); baseDTO = SaveStandardLog(baseDTO); _DBManger = new AATEntities(connectionStringEF); baseDTO = SaveMessageError(baseDTO); if (_DBManger != null) { _DBManger.Dispose(); _DBManger = null; } return(baseDTO); }
public BaseDTO Insert(BaseDTO baseDTO) { connectionStringEF = baseDTO.ConnectTo.GetDescription().GetConnectionStringEF("AATEntities"); _DBManger = new AATEntities(connectionStringEF); DbContextTransaction _Transaction = null; try { if (baseDTO.IsTransaction) { _Transaction = _DBManger.Database.BeginTransaction(); } baseDTO = DoInsert(baseDTO); _DBManger.SaveChanges(); } catch (Exception ex) { baseDTO.Result.IsResult = false; baseDTO.Result.ActionResult = -1; baseDTO.Result.ResultMsg = ex.Message; if (ex.InnerException != null) { baseDTO.Result.ResultMsg = ex.InnerException.Message; if (ex.InnerException.InnerException != null) { baseDTO.Result.ResultMsg = ex.InnerException.InnerException.Message; } } } finally { if (baseDTO.IsTransaction) { if (baseDTO.Result.ActionResult >= 0) { _Transaction.Commit(); } else { _Transaction.Rollback(); } } } try { if (baseDTO.Result.IsResult) { baseDTO = DoAfterInsert(baseDTO); } } catch (Exception ex) { baseDTO.Result.IsResult = false; baseDTO.Result.ActionResult = -1; baseDTO.Result.ResultMsg = ex.Message; } _DBMangerNoEF = new SqlDBManger(); _DBMangerNoEF.ConnectionName = baseDTO.ConnectTo.GetDescription(); baseDTO = SetStandardLog(baseDTO, "After"); baseDTO = SaveStandardLog(baseDTO); _DBManger = new AATEntities(connectionStringEF); baseDTO = SaveMessageError(baseDTO); if (_DBManger != null) { _DBManger.Dispose(); _DBManger = null; } return(baseDTO); }
private BaseDTO SetStandardLog(BaseDTO baseDTO, string mode) { try { if ((baseDTO.TransactionLog != null && baseDTO.TransactionLog.SaveLogConfig != null) && ((mode == "After" && baseDTO.Result.IsResult) || mode == "Before")) { if (baseDTO.TransactionLog.ACTIVITY_TYPE == 10074002 || baseDTO.TransactionLog.ACTIVITY_TYPE == 10074003 || baseDTO.TransactionLog.ACTIVITY_TYPE == 10074004) { foreach (var conf in baseDTO.TransactionLog.SaveLogConfig) { using (var db = new AATEntities(connectionStringEF)) { var ctrlLog = db.VSMS_CTRLLOG.Where(m => m.TBL_NAME == conf.TableName).Select(m => m.LOG_STATUS).FirstOrDefault(); if (!ctrlLog.IsNullOrEmpty()) { conf.DoInsertLog = ctrlLog == "Y"; } } if (conf.DoInsertLog) { var cmdWhere = string.Empty; foreach (var col in conf.Columns) { cmdWhere += " and "; if (baseDTO.TransactionLog.ObjectValue.GetType().IsGenericType) { var lstObj = (IList)baseDTO.TransactionLog.ObjectValue; if (lstObj != null && lstObj.Count > 0) { var obj = ((IList)baseDTO.TransactionLog.ObjectValue)[0]; var prop = obj.GetType().GetProperty(col.PKColumnName); if (prop.PropertyType == typeof(DateTime)) { cmdWhere += "convert(char(10)," + col.PKColumnName + ",121)"; } else { cmdWhere += col.PKColumnName; } cmdWhere += " in ("; foreach (var item in lstObj) { var value = GetValueObject(item, col.PKColumnName); if (value.GetType() == typeof(string)) { cmdWhere += "'" + value + "'"; } else if (value.GetType() == typeof(string) && col.IsChar) { cmdWhere += "'" + value.AsChar(col.CharLength) + "'"; } else if (value.GetType() == typeof(DateTime)) { cmdWhere += "'" + value.AsString("yyyy-MM-dd") + "'"; } else { cmdWhere += col.PKColumnName + "=" + value; } cmdWhere += ","; } cmdWhere = cmdWhere.TrimEnd(','); cmdWhere += ")"; } } else { var value = GetValueObject(baseDTO.TransactionLog.ObjectValue, col.PKColumnName); if (value.GetType() == typeof(string)) { cmdWhere += col.PKColumnName + "='" + value + "'"; } else if (value.GetType() == typeof(string) && col.IsChar) { cmdWhere += col.PKColumnName + "='" + value.AsChar(col.CharLength) + "'"; } else if (value.GetType() == typeof(DateTime)) { cmdWhere += "convert(char(10)," + col.PKColumnName + ",121)='" + value.AsString("yyyy-MM-dd") + "'"; } else { cmdWhere += col.PKColumnName + "=" + value; } } } var cmd = string.Format("select * from {0}.{1} where 1=1 {2}", conf.Schema, conf.TableName, cmdWhere); var data = _DBMangerNoEF.ExecuteDataSet(cmd, commandType: CommandType.Text); if (mode == "Before" && baseDTO.TransactionLog.ACTIVITY_TYPE == 10074003 || baseDTO.TransactionLog.ACTIVITY_TYPE == 10074004) { conf.DataBeforeSave = data.OutputDataSet; } else if (mode == "After" && baseDTO.TransactionLog.ACTIVITY_TYPE == 10074002 || baseDTO.TransactionLog.ACTIVITY_TYPE == 10074003) { conf.DataAfterSave = data.OutputDataSet; } } } } } } catch (Exception ex) { logger.Error("SetStandardLog : " + ex.Message); //throw; } return(baseDTO); }