using System; using System.Collections.Generic; using System.Linq; using System.Text; using Model; using Common; using Oracle.DataAccess.Client; using System.Data.Common; namespace Dao { /// /// 流程定义表操作 /// public class SysFlowDao : IDisposable { public void Dispose() { } private static SysFlowDao _instance; public static SysFlowDao Instance { get { if (_instance == null) { _instance = new SysFlowDao(); } return _instance; } } /// /// 获取信息列表 /// /// public List List(SysFlow sysFlow) { List list = new List(); try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("SELECT SFN.* "); stringBuilder.Append(" FROM SYS_FLOW SFN "); stringBuilder.Append(" WHERE 1=1 "); if (sysFlow.FlowCode != null && sysFlow.FlowCode != "") { stringBuilder.Append(" AND FLOW_CODE= '" + sysFlow.FlowCode + "' "); } if (sysFlow.Status != 0) { stringBuilder.Append(" AND STATUS= " + sysFlow.Status + " "); } stringBuilder.Append(" ORDER BY FLOW_CODE "); using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection)) { while (((DbDataReader)reader).Read()) { SysFlow o = new SysFlow(); if (this.ReadInfo(reader, o)) list.Add(o); } } } catch (Exception ex) { LogHelper.Error(ex); return list; } return list; } //添加信息 public bool Add(SysFlow o) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("INSERT INTO SYS_FLOW ( "); stringBuilder.Append(" ID, FLOW_CODE, FLOW_NAME, FLOW_GROUP, STATUS "); stringBuilder.Append(" ) "); stringBuilder.Append(" VALUES (:ID, :FLOW_CODE, :FLOW_NAME, :FLOW_GROUP, :STATUS "); stringBuilder.Append(" ) "); string sql = stringBuilder.ToString(); return OracleHelper.ExecuteSql(sql, OracleHelper.Connection, new OracleParameter(":ID", (object)o.Id), new OracleParameter(":FLOW_CODE", (object)o.FlowCode), new OracleParameter(":FLOW_NAME", (object)o.FlowName), new OracleParameter(":FLOW_GROUP", (object)o.FlowGroup), new OracleParameter(":STATUS", (object)o.Status) ) > 0; } //删除 public bool Delete(string id) { if (string.IsNullOrEmpty(id) ) return false; return OracleHelper.ExecuteSql("delete from SYS_FLOW where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)id)) > 0; } //更新产品或产品分类信息 public bool Update(SysFlow o) { OracleParameter[] cmdParms = new OracleParameter[] { new OracleParameter(":ID", (object)o.Id), new OracleParameter(":FLOW_CODE", (object)o.FlowCode), new OracleParameter(":FLOW_NAME", (object)o.FlowName), new OracleParameter(":FLOW_GROUP", (object)o.FlowGroup), new OracleParameter(":STATUS", (object)o.Status) }; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("UPDATE SYS_FLOW SET "); stringBuilder.Append(" , FLOW_CODE =:FLOW_CODE "); stringBuilder.Append(" , FLOW_NAME =:FLOW_NAME "); stringBuilder.Append(" , FLOW_GROUP =:FLOW_GROUP "); stringBuilder.Append(" , STATUS=:STATUS "); stringBuilder.Append(" WHERE ID=:ID "); string sql = stringBuilder.ToString(); return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0); } //获取信息 public SysFlow Get(string id) { SysFlow o = new SysFlow(); if (string.IsNullOrEmpty(id)) return o; using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from SYS_FLOW where ID=:ID"), OracleHelper.Connection, new OracleParameter(":ID", (object)id))) { if (((DbDataReader)reader).Read()) { this.ReadInfo(reader, o); return o; } } return o; } //获取信息 public SysFlow Get(SysFlow sysFlow) { SysFlow o = new SysFlow(); if (sysFlow==null) return o; try { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("SELECT SFN.* "); stringBuilder.Append(" FROM SYS_FLOW SFN "); stringBuilder.Append(" WHERE 1=1 "); if (sysFlow.Id != null && sysFlow.Id != "") { stringBuilder.Append(" AND ID= '" + sysFlow.Id + "' "); } if (sysFlow.FlowCode != null && sysFlow.FlowCode != "") { stringBuilder.Append(" AND FLOW_CODE= '" + sysFlow.FlowCode + "' "); } if (sysFlow.Status != 0) { stringBuilder.Append(" AND STATUS= " + sysFlow.Status + " "); } using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection)) { if (((DbDataReader)reader).Read()) { this.ReadInfo(reader, o); return o; } } } catch (Exception ex) { LogHelper.Error(ex); return null; } return o; } //统计记录数 private int ReadCount(OracleDataReader reader) { OracleReaderWrapper wrapper = new OracleReaderWrapper(reader); return wrapper.GetInt("count", 0); } //数据封装 private bool ReadInfo(OracleDataReader reader, SysFlow o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.Id = oracleReaderWrapper.GetString("ID", ""); o.FlowCode = oracleReaderWrapper.GetString("FLOW_CODE", ""); o.FlowName = oracleReaderWrapper.GetString("FLOW_NAME", ""); o.FlowGroup = oracleReaderWrapper.GetString("FLOW_GROUP", ""); o.Status = oracleReaderWrapper.GetInt("STATUS", 0); return true; } } }