using System.Data; using System.Data.Common; using System.Collections.Generic; using SuperMap.RealEstate.Configuration; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.ServiceModel.Logging; using SuperMap.RealEstate.HighWay.Storage.Model; using SuperMap.RealEstate.HighWay.Storage.Interface; namespace SuperMap.RealEstate.HighWay.Storage { /// /// 服务类 T_COMMODITY 部分 /// partial class Service : IService { #region COMMODITY_Insert 插入数据 /// /// 插入数据 /// /// COMMODITY类 /// 日志信息 /// COMMODITY类 public COMMODITY COMMODITY_Insert(COMMODITY Commodity, ServiceLoggingInfo loggingInfo) { return COMMODITYInsert(Commodity, loggingInfo, loggingInfo.ProvinceCode); } public COMMODITY COMMODITYInsert(COMMODITY Commodity, ServiceLoggingInfo loggingInfo, string ProvinceCode) { using (SQLStringHelper _SQLStringHelper = new SQLStringHelper(typeof(TableSchema_COMMODITY))) { System.Int32 _COMMODITY_ID = 0; using (DbCommand _DbCommand = DataBaseHelper.CreateCommand( _SQLStringHelper.GetInsertSQL(Commodity, ProvinceCode, DataBaseHelper.IsOracleClientFactory))) { Dictionary _Parameters = _SQLStringHelper.Parameters; if (DataBaseHelper.IsOracleClientFactory) { if (Commodity.COMMODITY_ID == null) { _COMMODITY_ID = DataBaseHelper.ExecuteScalar("select " + TableSchema_COMMODITY.SequenceName + ".nextval from dual"); } else { _COMMODITY_ID = Commodity.COMMODITY_ID.Value; } if (_Parameters.ContainsKey(TableSchema_COMMODITY.COMMODITY_ID.ToLower())) { _Parameters[TableSchema_COMMODITY.COMMODITY_ID.ToLower()] = _COMMODITY_ID; } else { _Parameters.Add(TableSchema_COMMODITY.COMMODITY_ID.ToLower(), _COMMODITY_ID); } } DataBaseHelper.PrepareCommandParameters(_DbCommand, _Parameters); _DbCommand.ExecuteNonQuery(); if (DataBaseHelper.IsAccessClientFactory) { if (Commodity.COMMODITY_ID == null) { _COMMODITY_ID = DataBaseHelper.ExecuteScalar("select @@IDENTITY"); } else { _COMMODITY_ID = Commodity.COMMODITY_ID.Value; } } if (DataBaseHelper.IsSqlClientFactory) { if (Commodity.COMMODITY_ID == null) { _COMMODITY_ID = DataBaseHelper.ExecuteScalar("select IDENT_CURRENT('" + TableSchema_COMMODITY.TableName + ProvinceCode + "');"); } else { _COMMODITY_ID = Commodity.COMMODITY_ID.Value; } } if (_DbCommand.Transaction == null) { _DbCommand.Connection.Close(); } } Commodity.COMMODITY_ID = _COMMODITY_ID; LoggingDataForInsert(Commodity, loggingInfo); } return Commodity; } #endregion #region COMMODITY_Update 更新数据 /// /// 更新数据 /// /// COMMODITY类 /// 日志信息 /// COMMODITY类 public bool COMMODITY_Update(COMMODITY Commodity, ServiceLoggingInfo loggingInfo) { return COMMODITYUpdate(Commodity, loggingInfo, loggingInfo.ProvinceCode); } public bool COMMODITYUpdate(COMMODITY Commodity, ServiceLoggingInfo loggingInfo, string ProvinceCode) { using (SQLStringHelper _SQLStringHelper = new SQLStringHelper(typeof(TableSchema_COMMODITY))) { string _SQLStr = _SQLStringHelper.GetUpDateSQL(Commodity, ProvinceCode, DataBaseHelper.IsOracleClientFactory); if (string.IsNullOrEmpty(_SQLStr)) return true; if (!LoggingDataForUpdate(Commodity, loggingInfo)) { return true; } if (ConfigurationSetting.HttpRuntimeCache_Enabled == true) { ServiceCacheHelper.Remove(Commodity.COMMODITY_ID.ToString()); } Dictionary _Parameters = _SQLStringHelper.Parameters; return (DataBaseHelper.ExecuteNonQuery(_SQLStr, _Parameters) == 1); } } #endregion #region COMMODITY_Delete 删除数据 /// /// 删除数据 /// /// 主键字段 /// 日志信息 public void COMMODITY_Delete(System.Int32 Commodity_ID, ServiceLoggingInfo loggingInfo) { COMMODITYDelete(Commodity_ID, loggingInfo, loggingInfo.ProvinceCode); } public void COMMODITYDelete(System.Int32 Commodity_ID, ServiceLoggingInfo loggingInfo, string ProvinceCode) { if (ConfigurationSetting.HttpRuntimeCache_Enabled == true) { ServiceCacheHelper.Remove(Commodity_ID.ToString()); } using (SQLStringHelper _SQLStringHelper = new SQLStringHelper(typeof(TableSchema_COMMODITY))) { string _SQLStr = _SQLStringHelper.GetDeleteSQL(Commodity_ID, ProvinceCode, DataBaseHelper.IsOracleClientFactory); LoggingDataForDelete(Commodity_ID, loggingInfo); DataBaseHelper.ExecuteNonQuery(_SQLStr, _SQLStringHelper.Parameters); } } #endregion #region COMMODITY_Search 查询数据 /// /// 查询数据 /// /// 参数集合 /// 日志信息 /// COMMODITY类 public COMMODITY COMMODITY_Search(List parameters, ServiceLoggingInfo loggingInfo) { return COMMODITYSearch(parameters, loggingInfo, loggingInfo.ProvinceCode); } public COMMODITY COMMODITYSearch(List parameters, ServiceLoggingInfo loggingInfo, string ProvinceCode) { COMMODITY _COMMODITY = null; if (parameters.Count == 0) { return _COMMODITY; } if ((ConfigurationSetting.HttpRuntimeCache_Enabled == true) && (parameters.Count == 1) && (parameters[0].Name.Equals(TableSchema_COMMODITY.COMMODITY_ID, System.StringComparison.CurrentCultureIgnoreCase)) && ServiceCacheHelper.Read(parameters[0].Value.ToString(), out _COMMODITY)) { return _COMMODITY; } using (SQLStringHelper _SQLStringHelper = new SQLStringHelper(typeof(TableSchema_COMMODITY))) { string _SQLStr = _SQLStringHelper.GetSelectSQL(parameters, ProvinceCode, DataBaseHelper.IsOracleClientFactory); DataSet _DataSet = DataBaseHelper.ExecuteDataSet(_SQLStr, _SQLStringHelper.Parameters); if ((_DataSet.Tables.Count > 0) && (_DataSet.Tables[0].Rows.Count > 0)) { _COMMODITY = new COMMODITY(); _SQLStringHelper.DataRowToObject(ref _COMMODITY, _DataSet.Tables[0].Rows[0]); } } if ((ConfigurationSetting.HttpRuntimeCache_Enabled == true) && (_COMMODITY != null)) { ServiceCacheHelper.Insert(_COMMODITY.COMMODITY_ID.ToString(), _COMMODITY); } return _COMMODITY; } #endregion } }