using System; using System.Collections.Generic; using System.Data; using System.Data.OracleClient; using System.Data.SqlClient; using System.Linq; using WX.CRM.Common; using WX.CRM.Model.QueryMap; namespace WX.CRM.DAL.Wx { public class WX_Message_DAL { public DataTable GetMessage(int pageSize, int page, string keyword, string tableName, string userNames, string stime, string etime, string customerUserName, out int recordCount) { try { recordCount = 0; var sql = "WX_Message_GetByPage"; var p = new List() { new SqlParameter("@PageSize",pageSize), new SqlParameter("@Page", page), new SqlParameter("@keyword",keyword !=null ?keyword:""), new SqlParameter("@tableName", tableName), new SqlParameter("@userNames", userNames), new SqlParameter("@stime", stime), new SqlParameter("@etime", etime), new SqlParameter("@customerUserName", customerUserName !=null ? customerUserName:""), new SqlParameter("@recordCount", SqlDbType.Int, 0, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null) }; var ds = SqlHelper.GetDataSet(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray()); recordCount = int.Parse(p[8].Value.ToString()); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { return ds.Tables[0]; } return null; } catch (Exception ex) { recordCount = 0; LogHelper.Error(ex); throw ex; } } public void UpdateMessageIsIllegal(string tableName, string userName, string msgSvrid) { try { var sql = "WX_Message_UpdateIsillegal"; var p = new List() { new SqlParameter("@msgsvrid",msgSvrid), new SqlParameter("@username", userName) }; SqlHelper.ExcuteSPOrSql(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray()); } catch (Exception ex) { LogHelper.Error(ex); throw ex; } } public void DeleteMessageIsIllegal(string tableName, string userName, string msgSvrid) { try { var sql = "WX_Message_DeleteIsillegal"; var p = new List() { new SqlParameter("@msgsvrid",msgSvrid), new SqlParameter("@username", userName) }; SqlHelper.ExcuteSPOrSql(SqlHelper.DatabaseType.AYCRM, sql, CommandType.StoredProcedure, p.ToArray()); } catch (Exception ex) { LogHelper.Error(ex); throw ex; } } public DataSet CountMessageCompliance(string stime, string etime) { DateTime dt1 = DateTime.Now.Date; if (!string.IsNullOrWhiteSpace(stime)) { dt1 = Convert.ToDateTime(stime); } DateTime dt2 = DateTime.Now.AddDays(1).Date; if (!string.IsNullOrWhiteSpace(etime)) { dt2 = Convert.ToDateTime(etime).AddDays(1); } var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var parms = new List() { new OracleParameter() {ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = dt1 }, new OracleParameter() {ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = dt2 }, new OracleParameter() {ParameterName = "v_data1", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }, new OracleParameter() {ParameterName = "v_data2", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output } }; DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX.countMessageCompliance", parms.ToArray()); trans.Commit(); return ds; } } catch (Exception ex) { LogHelper.Error(ex); return null; } finally { conn.Close(); } } public DataSet CountMessageComplianceList(string typeCode, string stime, string etime) { DateTime dt1 = DateTime.Now.Date; if (!string.IsNullOrWhiteSpace(stime)) { dt1 = Convert.ToDateTime(stime); } DateTime dt2 = DateTime.Now.AddDays(1).Date; if (!string.IsNullOrWhiteSpace(etime)) { dt2 = Convert.ToDateTime(etime).AddDays(1); } var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var parms = new List() { new OracleParameter() {ParameterName = "v_bigType", OracleType = OracleType.VarChar, Value = typeCode }, new OracleParameter() {ParameterName = "v_stime", OracleType = OracleType.DateTime, Value = dt1 }, new OracleParameter() {ParameterName = "v_etime", OracleType = OracleType.DateTime, Value = dt2 }, new OracleParameter() {ParameterName = "v_data1", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output } }; DataSet ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WX.countMessageComplianceList", parms.ToArray()); trans.Commit(); return ds; } } catch (Exception ex) { LogHelper.Error(ex); return null; } finally { conn.Close(); } } public bool DeleteMessage(ref ValidationErrors errors, decimal pkid) { try { var parms = new List() { new OracleParameter() {ParameterName = "v_pkid", OracleType = OracleType.Number, Value = pkid } }; OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WX.deleteMessageCompliance", parms.ToArray()); return true; } catch (Exception ex) { LogHelper.Error(ex); errors.Add(ex.ToString()); return false; } } public List GetMessageCount(string groupId, string inneruserId, DateTime sTime, DateTime eTime) { var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var p = new List() { new OracleParameter() {ParameterName = "p_groupId", OracleType = OracleType.VarChar, Value = groupId}, new OracleParameter() {ParameterName = "p_inneruserId", OracleType = OracleType.VarChar, Value = inneruserId}, new OracleParameter() {ParameterName = "p_sTime", OracleType = OracleType.DateTime, Value = sTime}, new OracleParameter() {ParameterName = "p_eTime", OracleType = OracleType.DateTime, Value = eTime}, new OracleParameter() {ParameterName = "p_list", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output} }; var tab = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WXMSG.MessageCount", p.ToArray()); trans.Commit(); return tab.Tables[0].ToList(); } } catch { throw; } finally { conn.Close(); } } public List GetMessageCount2(string groupId, string inneruserId, DateTime sTime, DateTime eTime) { var conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); try { using (var trans = conn.BeginTransaction()) { var p = new List() { new OracleParameter() {ParameterName = "p_groupId", OracleType = OracleType.VarChar, Value = groupId}, new OracleParameter() {ParameterName = "p_inneruserId", OracleType = OracleType.VarChar, Value = inneruserId}, new OracleParameter() {ParameterName = "p_sTime", OracleType = OracleType.DateTime, Value = sTime}, new OracleParameter() {ParameterName = "p_eTime", OracleType = OracleType.DateTime, Value = eTime}, new OracleParameter() {ParameterName = "p_list", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output} }; var tab = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_WXMSG.MessageCount2", p.ToArray()); trans.Commit(); return tab.Tables[0].ToList(); } } catch { throw; } finally { conn.Close(); } } } }