using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Model; using System.Transactions; namespace CY.SQLDAL { //车辆管理 public class OA_CarManageDAL : IOA_CarManageDAL { private Database _dataBase = null; public OA_CarManageDAL() { _dataBase = new Database(); } public OA_CarManageDAL(Database dataBase) { _dataBase = dataBase; } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_CarManage trueModel = model as Model.OA_CarManage; if (trueModel == null) { return false; } SqlParameter InsuranceEndTime = null; if(trueModel.InsuranceEndTime.HasValue) { InsuranceEndTime = new SqlParameter("@InsuranceEndTime", trueModel.InsuranceEndTime); } else { InsuranceEndTime = new SqlParameter("@InsuranceEndTime", DBNull.Value); } SqlParameter MaintenanceNextTime = null; if (trueModel.MaintenanceNextTime.HasValue) { MaintenanceNextTime = new SqlParameter("@MaintenanceNextTime", trueModel.MaintenanceNextTime); } else { MaintenanceNextTime = new SqlParameter("@MaintenanceNextTime", DBNull.Value); } SqlParameter ExaminedNextTime = null; if (trueModel.ExaminedNextTime.HasValue) { ExaminedNextTime = new SqlParameter("@ExaminedNextTime", trueModel.ExaminedNextTime); } else { ExaminedNextTime = new SqlParameter("@ExaminedNextTime", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@MemberID", trueModel.MemberID) , new SqlParameter("@CarNumber", trueModel.CarNumber) , new SqlParameter("@CarType", trueModel.CarType) , new SqlParameter("@StartMileage", trueModel.StartMileage) , new SqlParameter("@NowMileage", trueModel.NowMileage) , new SqlParameter("@CarCondition", trueModel.CarCondition) , new SqlParameter("@LastUpdateTime", trueModel.LastUpdateTime) , new SqlParameter("@Operator", trueModel.Operator) , new SqlParameter("@OrderNum", trueModel.OrderNum), new SqlParameter("@StaffID", trueModel.StaffID), new SqlParameter("@InsuranceCompany", trueModel.InsuranceCompany), InsuranceEndTime, MaintenanceNextTime, ExaminedNextTime, new SqlParameter("@InsuranceContent", trueModel.InsuranceContent), }; try { _dataBase.Query("sp_OA_CarManage_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_CarManage trueModel = model as Model.OA_CarManage; if (trueModel == null) { return false; } SqlParameter InsuranceEndTime = null; if (trueModel.InsuranceEndTime.HasValue) { InsuranceEndTime = new SqlParameter("@InsuranceEndTime", trueModel.InsuranceEndTime); } else { InsuranceEndTime = new SqlParameter("@InsuranceEndTime", DBNull.Value); } SqlParameter MaintenanceNextTime = null; if (trueModel.MaintenanceNextTime.HasValue) { MaintenanceNextTime = new SqlParameter("@MaintenanceNextTime", trueModel.MaintenanceNextTime); } else { MaintenanceNextTime = new SqlParameter("@MaintenanceNextTime", DBNull.Value); } SqlParameter ExaminedNextTime = null; if (trueModel.ExaminedNextTime.HasValue) { ExaminedNextTime = new SqlParameter("@ExaminedNextTime", trueModel.ExaminedNextTime); } else { ExaminedNextTime = new SqlParameter("@ExaminedNextTime", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@Keyid", trueModel.Keyid) , new SqlParameter("@MemberID", trueModel.MemberID) , new SqlParameter("@CarNumber", trueModel.CarNumber) , new SqlParameter("@CarType", trueModel.CarType) , new SqlParameter("@StartMileage", trueModel.StartMileage) , new SqlParameter("@NowMileage", trueModel.NowMileage) , new SqlParameter("@CarCondition", trueModel.CarCondition) , new SqlParameter("@LastUpdateTime", trueModel.LastUpdateTime) , new SqlParameter("@Operator", trueModel.Operator) , new SqlParameter("@OrderNum", trueModel.OrderNum), new SqlParameter("@StaffID", trueModel.StaffID), new SqlParameter("@InsuranceCompany", trueModel.InsuranceCompany), new SqlParameter("@InsuranceContent", trueModel.InsuranceContent), InsuranceEndTime, MaintenanceNextTime, ExaminedNextTime, }; try { _dataBase.Query("sp_OA_CarManage_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_CarManage trueModel = model as Model.OA_CarManage; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_OA_CarManage_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { throw new NotImplementedException(); } /// /// 单个查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { throw new NotImplementedException(); } /// /// 根据编号获得信息 /// /// 编号 /// public OA_CarManage GetModelByKeyid(int? Keyid) { try { if (Keyid == null || Keyid < 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel(" * ", " OA_CarManage ", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 分页查询 /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, Guid _MemberID, string _CarNumber, string _CarType, int? _StartMileage, int? _NowMileage, int? _CarCondition, DateTime? _BeginLastUpdateTime, DateTime? _EndLastUpdateTime, string _Operator, int? _OrderNum) { try { string condition = " 1=1 "; if (_MemberID != Guid.Empty) condition += " and a.MemberID = '" + _MemberID + "'"; if (!string.IsNullOrEmpty(_CarNumber)) condition += " and a.CarNumber = '" + _CarNumber + "'"; if (!string.IsNullOrEmpty(_CarType)) condition += " and a.CarType = '" + _CarType + "'"; if (_StartMileage.HasValue) condition += " and a.StartMileage = '" + _StartMileage + "'"; if (_NowMileage.HasValue) condition += " and a.NowMileage = '" + _NowMileage + "'"; if (_CarCondition.HasValue) condition += " and a.CarCondition = '" + _CarCondition + "'"; if (_BeginLastUpdateTime.HasValue) condition += string.Format(" and CAST(a.LastUpdateTime AS DATE) >='{0}'", _BeginLastUpdateTime); if (_EndLastUpdateTime.HasValue) condition += string.Format(" and CAST(a.LastUpdateTime AS DATE) <='{0}'", _EndLastUpdateTime); if (!string.IsNullOrEmpty(_Operator)) condition += " and a.Operator = '" + _Operator + "'"; if (_OrderNum.HasValue) condition += " and a.OrderNum = '" + _OrderNum + "'"; return _dataBase.SelectModelPage(pagination, " a.*,f.Name as CarConditionName,g.Name as StaffName ", " OA_CarManage as a LEFT JOIN dbo.Sys_Dictionary AS f ON a.CarCondition = f.MeanValue AND f.DicType='车辆状态' LEFT JOIN dbo.[OA_Staff] AS g ON a.StaffID = g.Keyid ", " a.OrderNum ASC", " OrderNum ASC ", condition); } catch (Exception ex) { throw ex; } } /// /// 检测车牌号是否重复 /// /// /// /// /// public int IsExitsName(string Name, Guid MemberId,string Keyid) { try { IList result = _dataBase.SelectModel("*", "OA_CarManage", " CarNumber = '" + Name + "' and MemberID ='" + MemberId + "' and Keyid <> '" + Keyid + "'") as IList;//执行查询 if (null == result || result.Count == 0) return 0; else return 1; } catch (Exception ex) { throw ex; } } /// /// 根据厂商编号获取员工列表 /// /// /// public IEnumerable SelectListByFirmId(Guid FirmId) { try { if (FirmId == null || FirmId == Guid.Empty) return null;//错误数据返会空 string condition = " MemberID='" + FirmId + "' "; IList result = _dataBase.SelectModel("*", "OA_CarManage", condition) as IList;//执行查询 return result;//返回结果 } catch (Exception ex) { throw ex; } } } }