/// <summary> /// 根据多条件获得模具 /// </summary> /// <param name="condition">查询条件</param> /// <returns>模具列表</returns> public List<MoldView> GetByMutiConditions(MoldSearchCondition condition) { List<MoldView> molds=null; if(!string.IsNullOrEmpty(condition.MoldNR)) { molds=context.MoldView.Where(m => m.MoldNR.Equals(condition.MoldNR)) .ToList(); } else if (!string.IsNullOrEmpty(condition.PositionNr)) { molds = context.MoldView.Where(m => m.Destination.Equals(condition.PositionNr)) .ToList(); }else { molds=context.MoldView .Where(m => (string.IsNullOrEmpty(condition.MoldTypeId) ? true : m.MoldTypeID.Equals(condition.MoldTypeId)) && (string.IsNullOrEmpty(condition.ProjectId) ? true : m.ProjectID.Equals(condition.ProjectId)) && (condition.State == MoldStateType.NULL ? true : m.State == condition.State)) .ToList();} molds = molds.Distinct().ToList(); return molds; }
/// <summary> /// 根据搜索条件获得模具基本信息 /// </summary> /// <param name="conditions">搜索条件</param> /// <returns>模具基本信息列表</returns> public List<MoldBaseInfo> GetMoldByMutiConditions(MoldSearchCondition conditions) { using (IUnitOfWork unitwork = MSSqlHelper.DataContext()) { IMoldRepository moldRepostitory = new MoldRepository(unitwork); List<MoldView> molds = moldRepostitory.GetByMutiConditions(conditions); List<MoldBaseInfo> moldBaseInfos = new List<MoldBaseInfo>(); foreach (MoldView m in molds) { MoldBaseInfo moldBaseInfo = new MoldBaseInfo() { MoldNR = m.MoldNR, Name = m.Name, Type = m.TypeName, State = m.State, StateCN = m.StateCN, ProjectId = m.ProjectID, ProjectName = m.ProjectName, CurrentPosition = m.StorageRecordNR.HasValue ? moldRepostitory.GetMoldCurrPosiByRecordNR((Guid)m.StorageRecordNR) : string.Empty }; moldBaseInfos.Add(moldBaseInfo); } return moldBaseInfos; } }