/// <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);
            }
        }
        ///  <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);
        }
Exemple #3
0
        /// <summary>
        /// 按钮点击事件-搜索模具
        /// </summary>
        /// <param name="sender">事件源</param>
        /// <param name="e">事件参数</param>
        private void SearchBtn_Click(object sender, RoutedEventArgs e)
        {
            MoldSearchCondition condition = new MoldSearchCondition();

            condition.MoldNR     = MoldNRTB.Text + ";" + PositionTB.Text;
            condition.MoldTypeId = MoldTypeCB.SelectedIndex < 1 ? string.Empty : MoldTypeCB.SelectedValue.ToString();
            condition.ProjectId  = ProjectCB.SelectedIndex < 1 ? string.Empty :ProjectCB.SelectedValue.ToString();
            condition.State      = StateCB.SelectedIndex < 1 ? ToolingManWPF.MoldPartInfoServiceReference.MoldStateType.NULL : (ToolingManWPF.MoldPartInfoServiceReference.MoldStateType)(int.Parse(StateCB.SelectedValue.ToString()));
            //condition.Warn = WarnCB.SelectedIndex < 1 ? MoldWarnType.NULL : (MoldWarnType)(int.Parse(WarnCB.SelectedValue.ToString()));

            MoldPartInfoServiceClient client       = new MoldPartInfoServiceClient();
            List <MoldBaseInfo>       moldBaseInfo = client.GetMoldByMutiConditions(condition);

            MoldBaseInfoDG.ItemsSource = moldBaseInfo;
        }
        /// <summary>
        /// 按钮点击事件-搜索模具
        /// </summary>
        /// <param name="sender">事件源</param>
        /// <param name="e">事件参数</param>
        private void SearchBtn_Click(object sender, RoutedEventArgs e)
        {
            MoldSearchCondition condition = new MoldSearchCondition();
            condition.MoldNR = MoldNRTB.Text+";"+PositionTB.Text;
            condition.MoldTypeId = MoldTypeCB.SelectedIndex < 1 ? string.Empty : MoldTypeCB.SelectedValue.ToString();
            condition.ProjectId = ProjectCB.SelectedIndex <1 ? string.Empty :ProjectCB.SelectedValue.ToString();
            condition.State = StateCB.SelectedIndex < 1 ? ToolingManWPF.MoldPartInfoServiceReference.MoldStateType.NULL : (ToolingManWPF.MoldPartInfoServiceReference.MoldStateType)(int.Parse(StateCB.SelectedValue.ToString()));
            //condition.Warn = WarnCB.SelectedIndex < 1 ? MoldWarnType.NULL : (MoldWarnType)(int.Parse(WarnCB.SelectedValue.ToString()));

            MoldPartInfoServiceClient client=new MoldPartInfoServiceClient ();
            List<MoldBaseInfo> moldBaseInfo = client.GetMoldByMutiConditions(condition);
            MoldBaseInfoDG.ItemsSource = moldBaseInfo;
        }