using System; using System.Data; using System.Collections.Generic; using System.Text; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.MvcShipping.Models.MsOpSeaPlugin; using DSWeb.Areas.CommMng.Models; using HcUtility.Comm; using DSWeb.Areas.CommMng.DAL; using DSWeb.MvcShipping.Helper; namespace DSWeb.MvcShipping.DAL.MsOpSeaPluginDal { public class MsOpSeaPluginDAL { static public List GetCoverDataList (string strCondition,int start,int limit,out int total,string sort = null) { var strSql = new StringBuilder(); strSql.Append(@"SELECT * FROM Op_SeaCover WHERE 1 = 1"); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } if (!string.IsNullOrEmpty(sort)) { var so = JsonConvert.Deserialize>(sort); string orderbyStr = " order by "; foreach (var s in so) { orderbyStr += s.property+" "+s.direction+","; } orderbyStr = orderbyStr.Substring(0,orderbyStr.Length-1); strSql.Append(orderbyStr); } else { strSql.Append(" order by OPTIME desc "); } int totalCount = 0; StringBuilder sb = PagerHelper.PageSQL(strSql.ToString(), start, limit, out totalCount); total = totalCount; return SetData(sb); } private static List SetData ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { MsOpSeaPluginCover data = new MsOpSeaPluginCover(); #region Set DB data to Object data.CID = reader["CID"].ToString(); data.BSNO = reader["BSNO"].ToString(); data.COVERTITLE = reader["COVERTITLE"].ToString(); data.COVERCONTEXT = reader["COVERCONTEXT"].ToString(); data.OPERATOR = reader["OPERATOR"].ToString(); data.OPTIME = reader["OPTIME"].ToString(); data.ISSYS = reader["ISSYS"].ToString(); #endregion headList.Add(data); } reader.Close(); } return headList; } public static bool DeleteCover ( List list, out string msg ) { string message; string ids = ""; foreach (var m in list) { ids += "'" + m.CID + "',"; } ids = ids.Substring(0,ids.Length-1); Database db = DatabaseFactory.CreateDatabase(); string DelSql = "DELETE FROM Op_SeaCover WHERE CID IN (" + ids + ")"; bool result = false; try { result = db.ExecuteNonQuery(CommandType.Text,DelSql) > 0; if (result) { message = "删除成功!"; } else { message = "删除失败!"; } } catch (Exception ex) { result = false; message = ex.Message; } msg = message; return result; } public static MsOpSeaPluginCover GetData ( string conditions ) { int total = 0; MsOpSeaPluginCover cover = GetCoverDataList(conditions, 0, 1, out total)[0]; return cover; } /// /// /// /// /// 0:Insert 1:Update /// public static bool SaveCover (MsOpSeaPluginCover cover,int saveType) { StringBuilder sb = new StringBuilder(); if (saveType == 0) { sb.Append(@"insert into Op_SeaCover values ('"+cover.CID+"',"); sb.Append(@"'"+cover.BSNO+"',"); sb.Append(@"'" + cover.COVERTITLE + "',"); sb.Append(@"'" + cover.COVERCONTEXT + "',"); sb.Append(@"'" + cover.OPERATOR + "',"); sb.Append(@"'" + cover.OPTIME + "','0'"); sb.Append(@")"); } else { sb.Append(@"update Op_SeaCover "); sb.Append(@"set BSNO = '" + cover.BSNO + "',"); sb.Append(@"COVERTITLE ='" + cover.COVERTITLE + "',"); sb.Append(@"COVERCONTEXT ='" + cover.COVERCONTEXT + "',"); sb.Append(@"OPERATOR ='" + cover.OPERATOR + "',"); sb.Append(@"OPTIME ='" + cover.OPTIME + "'"); sb.Append(@" where cid = '"+cover.CID+"'"); } Database db = DatabaseFactory.CreateDatabase(); int rst= db.ExecuteNonQuery(CommandType.Text,sb.ToString()); return rst>0; } } }