Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 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);
 }