using Models; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; namespace DAL { public class TravelListService { /// /// 查询所有 /// /// sql语句 /// 可变参数数组 /// 返回集合 List excuteSql(string sql, params SqlParameter[] param) { return ServiceBase.excuteSql(new TravelList(), "TravelList", sql, CommandType.Text, param); } /// /// 获取单个对象 /// /// sql语句 /// 可变参数数组 /// 返回空或者单个对象 TravelList excuteType(string sql, params SqlParameter[] param) { //查询结果放入对象集合 List hdList = excuteSql(sql, param); //判断集合是否为空 if (hdList == null || hdList.Count == 0) //返回null return null; //返回单个对象 return hdList[0]; } /// /// 根据编号查询对象信息 /// /// 对象编号 /// 返回空或者单个对象信息 public TravelList GetById(int id) { //调用获取单个对象的方法 return excuteType("select * from TravelList where Id = @id", new SqlParameter("@id", id)); } /// /// 根据团组编号查询信息 /// /// 返回空或者对象信息 public List GetByDiid(int Diid) { //调用获取单个对象的方法 return excuteSql("select * from TravelList where Diid =" + Diid + " and Isdel=0 order by Id"); } public List GetByDiidandGroup(int Diid,int diffgroup) { return excuteSql($" select * from TravelList where Diid ={Diid} and diffgroup = {diffgroup} and Isdel=0 order by Id"); } /// /// 获取全部 /// /// public List GetAll() { return excuteSql("select * from TravelList where Isdel=0"); } /// /// 增加 /// /// /// public bool AddTravelList(TravelList hd) { string sql = "insert into TravelList values(@Diid,@Days,@Date,@WeekDay,@Traffic_First,@Traffic_Second,@Trip,@OPer,@issel,@diffgroup,@OPdate,@Isdel)"; SqlParameter[] parameter = new SqlParameter[]{ new SqlParameter("@Diid",hd.Diid), new SqlParameter("@Days",hd.Days), new SqlParameter("@Date",hd.Date), new SqlParameter("@WeekDay",hd.WeekDay), new SqlParameter("@Traffic_First",hd.Traffic_First), new SqlParameter("@Traffic_Second",hd.Traffic_Second), new SqlParameter("@Trip",hd.Trip), new SqlParameter("@OPer",hd.OPer), new SqlParameter("@OPdate",hd.OPdate), new SqlParameter("@issel",hd.issel), new SqlParameter("@diffgroup",hd.diffgroup), new SqlParameter("@Isdel",hd.Isdel), }; if (SqlHelper.ExecuteNonQuery(sql, CommandType.Text, parameter) > 0) return true; return false; } /// /// 编辑 /// /// /// public bool EditTravelList(TravelList hd) { string sql = "update TravelList set Diid=@Diid,Days = @Days,Date = @Date,WeekDay = @WeekDay,Traffic_First = @Traffic_First," + "Traffic_Second = @Traffic_Second,Trip = @Trip,OPer = @OPer,OPdate = @OPdate,Isdel = @Isdel where Id = @Id"; SqlParameter[] parameter = new SqlParameter[]{ new SqlParameter("@Diid",hd.Diid), new SqlParameter("@Days",hd.Days), new SqlParameter("@Date",hd.Date), new SqlParameter("@WeekDay",hd.WeekDay), new SqlParameter("@Traffic_First",hd.Traffic_First), new SqlParameter("@Traffic_Second",hd.Traffic_Second), new SqlParameter("@Trip",hd.Trip), new SqlParameter("@OPer",hd.OPer), new SqlParameter("@OPdate",hd.OPdate), new SqlParameter("@Isdel",hd.Isdel), new SqlParameter("@Id",hd.Id) }; if (SqlHelper.ExecuteNonQuery(sql, CommandType.Text, parameter) > 0) return true; return false; } /// /// 20210818 贾文滔 /// 根据ID执行delete操作 /// /// /// public bool DelTravelList(int id) { if (SqlHelper.ExecuteNonQuery("delete TravelList where Id = @Id", CommandType.Text, new SqlParameter("@Id", id)) > 0) return true; return false; } /// /// 20210818 贾文滔 /// 根据id执行清空"trip" 字段操作 /// /// /// public bool Clean(int id) { if (SqlHelper.ExecuteNonQuery("update TravelList set Trip='' where Id = @Id", CommandType.Text, new SqlParameter("@Id", id)) > 0) return true; return false; } /// /// 20210818 贾文滔 /// 根据团号和ID范围执行delete操作 /// /// /// /// /// public bool DelOld(int Diid, int start, int end) { if (SqlHelper.ExecuteNonQuery("delete from TravelList where Diid=" + Diid + " and ( Id>=" + start + " and Id<=" + end + ")", CommandType.Text) > 0) return true; return false; } /// /// 20210818 /// 根据团号diid 执行更新ISDEL=1的删除操作 /// /// /// public bool DelByDiid(int diid) { if (SqlHelper.ExecuteNonQuery("update TravelList set Isdel=1 where Diid=" + diid, CommandType.Text) > 0) return true; return false; } /// /// 设置一个行程为最终行程 /// /// /// /// public bool UpdateSelbydiffGroupandDiid(int diid,int diffgroup) { bool istrue = SqlHelper.ExecuteNonQuery($"update TravelList set issel = 0 where Diid ={diid} and Isdel=0 ", CommandType.Text, null) > 0; if (istrue) { istrue = SqlHelper.ExecuteNonQuery($"update TravelList set issel = 1 where Diid ={diid} and Isdel=0 and diffgroup = {diffgroup}", CommandType.Text, null) > 0; } return istrue; } } public class tempTData { /// /// TravelList 表数据的再分组 /// public int diffgroup { get; set; } /// /// 团组id /// public int diid { get; set; } /// /// 团组名称 /// public string TeamName { get; set; } } }