using System;
using System.Data;
using System.Text;
using System.Collections.Generic;
using System.Data.SqlClient;
using ApServerProvider;
using DbCommon;
using System.Collections;
using Estsh.Web.Util;
namespace Estsh.Core.Repositories
{
/***************************************************************************
*
* 能源管理
* Noah
*
*****************************************************************************/
public class EnergyDefineDal : BaseApp
{
public EnergyDefineDal(RemotingProxy remotingProxy)
: base(remotingProxy)
{
}
#region 成员方法
///
/// 根据分页条件获取分页数据列表
///
public Hashtable getEnergyListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
lock (_remotingProxy)
{
Hashtable result = new Hashtable();
List parameters = new List();
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalCount", 100));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Output, "@TotalPage", 100));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Table", "g_energy "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Column", "device_id,device_name,target_value,seq "));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@OrderColumn", OrderBy));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@GroupColumn", ""));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@PageSize", PageSize));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@CurrentPage", PageIndex));
parameters.Add(new StoreProcedureParameter(DbType.Int32, ParameterDirection.Input, "@Group", 0));
parameters.Add(new StoreProcedureParameter(DbType.String, ParameterDirection.Input, "@Condition", strWhere));
Hashtable values = new Hashtable(2);
DataTable dt = new DataTable();
dt = _remotingProxy.ExecuteSotreProcedure("Com_Pagination", parameters, ref values);
ArrayList dataList = DataTypeConvert.NewObject.DataTableToArrayList(dt);
result.Add("dataList", dataList);
result.Add("totalCount", values["@TotalCount"].ToString());
return result;
}
}
///
/// 根据传入条件获得菜单列表数据
///
public DataTable getEnergyDetail(string strWhere, string filedOrder)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.g_energy ");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
return this._remotingProxy.GetDataTable(strSql.ToString());
}
}
///
/// 获取分页记录总数
///
public int getCountWhere(string strWhere)
{
lock (_remotingProxy)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) as Total from g_energy ");
if (strWhere.Trim() != "")
{
strSql.Append(" and " + strWhere);
}
int i = 0;
DataTable dt = _remotingProxy.GetDataTable(strSql.ToString());
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["Total"].ToString() != "")
{
i = int.Parse(dt.Rows[0]["Total"].ToString());
}
}
return i;
}
}
///
/// 插入菜单数据
///
///
///
public int saveEnergy(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.g_energy(device_id,device_name ,target_value ,seq )VALUES ");
SqlStringBuilder.Append("(@device_id,@device_name,@target_value,@seq) ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 更新菜单数据
///
///
///
public int updateEnergy(Hashtable htParams)
{
lock (_remotingProxy)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE g_energy SET ");
SqlStringBuilder.Append("device_id=device_id,device_name=@device_name,target_value=@target_value,seq=@seq ");
SqlStringBuilder.Append("WHERE device_id=@device_id ");
return _remotingProxy.ExecuteNonQuery(SqlStringBuilder.ToString(), htParams);
}
}
///
/// 删除菜单数据
///
///
///
public int deleteMenu(String ruid)
{
lock (_remotingProxy)
{
String delStr = "DELETE FROM g_energy WHERE ruid = @ruid";
Hashtable htparams = new Hashtable();
htparams.Add("@ruid", ruid);
return _remotingProxy.ExecuteNonQuery(delStr, htparams);
}
}
#endregion 成员方法
}
}